msxml3.dll error '80072ee2' in ASP page - we are using a different Application Pool

4.4k views Asked by At

There are lots of questions that ask about the 80072ee2 "The operation timed out" error in msxml3.dll, but most are resolved by moving the requested URL to a different application pool. But, we already do this and are still getting this error on a semi-regular basis.

We're running a Windows 2008 server and IIS7.5 - the website is Classic ASP and the code is:

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", "http://www.mysite.co.uk/_search/search.php", false
xmlhttp.send ""
strResponseText = xmlhttp.responseText
set xmlhttp = nothing

The folder '_search' is a virtual folder and is set to use a separate application pool from the main site. It is a busy-ish site, and we don't get a timeout every-time it's called... but once you get one, there are often a number of them in succession. We know this is happening because we're logging the 500 errors on the site.

Does anyone have any ideas (please don't suggest re-writing the Classic ASP or PHP - it's not possible at the moment)?

Thanks

2

There are 2 answers

1
John On BEST ANSWER

Your code looks absolutely fine. Two things you can try though.

First try

Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")

This may not make any difference, but you're msxml6.dll - which is present on IIS7 - rather than the older msxml3.dll

Second, if you have Remote desktop access, see what happens when you try to access http://www.mysite.co.uk/_search/search.php from the server's own copy of IE. I've encountered situations where you can't see a site the server hosts itself through the external URL and you have to use localhost or 127.0.0.1

0
Richard Frank On

I solved it by creating a new site with the same physical path domain name etc but different port number (like 81) xmlhttp.open "GET", "http://www.mysite.co.uk:81/_search/search.php", false