希望这是正确的Stack Exchange网站发布这个…
我们已经设置了一个新的Intranet Web服务器(Windows 2003 – IIS 6).我从旧服务器迁移了所有东西,新的网络服务器似乎运行良好,除了ServerXMLHTTP.我使用的是经典ASP.
我知道这不是编码问题,因为它在旧服务器上运行良好.
我通过它的URL调用来自本地Intranet的页面并获得“msxml3.dll错误’80072ee2’操作超时”错误.
我需要检查服务器上的某些设置吗?
如果它有帮助,下面是我使用的代码的一个愚蠢版本(并且已经使用了多年):
<% 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 %>
该脚本在xmlHTTP.send()上失败.所以我知道dll是安装,否则它将无法创建对象.
它的行为几乎就像它找不到自己一样.但是,如果我登录服务器并打开浏览器,我可以通过它的URL显示该网站.我也做了一个proxycfg – 你.
我还比较了旧服务器和新服务器上的主机文件,但没有看到任何差异.
http://www.jb51.cc/article/p-nysvwkrv-btk.html
其中一个答案指向一个标题为“INFO:不向同一服务器发送ServerXMLHTTP或WinHTTP请求”的Microsoft页面. (我没有在那里链接,因为我希望你带着那个答案进入页面并进行投票.)