Windows 2003, IIS 6, msxml3.dll error ‘80072ee2’ The operation timed out

asp-classiciis-6msxmlwindows-server-2003

Hopefully, this is the right Stack Exchange site to post this…

We have set up a new intranet web server (Windows 2003 – IIS 6). I have everything migrated over from the old server and the new webserver seems to be working well, except for ServerXMLHTTP. I am using Classic ASP.

I know it's not a coding issue, because it worked well on the old server.

I am calling pages from the local intranet by it's URL and getting a "msxml3.dll error '80072ee2' The operation timed out" error.

Is there some setting on the server I need to check for?

If it helps, below is a dumbed down version of the code I am using (and have been using for years):

<%
TheURL = "http://intranet.ourdomain.com/SomePage.asp"
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")
xmlHTTP.open "GET", TheURL, false
xmlHTTP.send()
CurrentPage = xmlHTTP.ResponseText
CurrentStatus = xmlHTTP.Status
CurrentStatusText = xmlHTTP.StatusText
CurrentReadiness = xmlHTTP.readyState
If CurrentStatus = 200 AND CurrentReadiness = 4 Then
    Response.Write "We got the page"
Else
    Response.Write "Page Unavailable"
End If
Set xmlHTTP = Nothing
%>

The script fails on xmlHTTP.send(). So I know the dll is install otherwise it would have failed creating the object.

It acts almost like it can't find itself. But, if I log onto the server and open the browser, I can bring up the site by it's URL. I have also done a proxycfg - u.

I have also compared host files on the old server and new server and didn't see any differences.

Best Answer

https://stackoverflow.com/questions/5559722/msxml3-dll-error-80072ee2-in-asp-page

One of the answers there points to a Microsoft page with title "INFO: Do Not Send ServerXMLHTTP or WinHTTP Requests to the Same Server". (I am not linking there because I want you to go to the page with that answer and up-vote it.)