的MSXML3.dll 80072EFD和800c0005错误的Windows 7在传统的ASP执行ServerXMLHTTP.send [英] MSXML3.dll 80072efd and 800c0005 errors executing ServerXMLHTTP.send in classic ASP on Windows 7
问题描述
我有我试图在IIS调试在Windows 7的页面正常工作在不同的网络上运行Windows Server 2003的另一台机器上的经典ASP页。此外,Windows 7机器上我可以成功打开有问题的URL在浏览器中。
I have a classic ASP page that I am trying to debug on IIS on Windows 7. The page works fine on another machine running Windows Server 2003 on a different network. Also, on the Windows 7 machine I can successfully open the URL in question in a browser.
页面执行与错误ServerXMLHTTP.send()时失败:
The page fails when executing ServerXMLHTTP.send() with the error:
msxml3.dll error '80072efd'
A connection with the server could not be established
在考虑中的code看起来像这样(的最后一行失败):
The code in question looks like this (the last line is failing):
set xmlHTTP = server.CreateObject("MSXML2.ServerXMLHTTP")
xmlHTTP.open "get", "http://stackoverflow.com", False
xmlHTTP.send
我已搜查四周,最有用的寻找建议是,利用Netsh来设置WinHTTP的代理。有问题的机器是不使用代理服务器的网络上。然而,即使设置了代理服务器和重启后我仍然得到同样的错误。
I have searched around and the most helpful looking suggestion was to use NetSh to set a proxy for winHTTP. The machine with problems is on a network which does use a proxy server. However, even after setting the proxy and rebooting I still get the same error.
修改
set xmlHTTP = server.CreateObject("MSXML2.ServerXMLHTTP")
到
set xmlHTTP = server.CreateObject("MSXML2.XMLHTTP")
产生一个略有不同的错误:
yields a slightly different error:
msxml3.dll error '800c0005'
The system cannot locate the resource specified.
我也尝试安装MSXML4 SP3和使用显式地创建一个对象V4:
I've also tried installing MSXML4 SP3 and explicitly creating a v4 object using:
set xmlHTTP = server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
我仍然得到同样的错误,除非消息中的Msxml4.dll。
I still get the same errors except with msxml4.dll in the message.
最后我试图关闭我的Forefront TMG的代理客户,告诉我的浏览器不使用代理服务器,并使用Netsh重置WINHTTP代理。尽管如此,即使浏览器仍然可以访问互联网同样的错误。
Finally I tried turning off my Forefront TMG proxy client, telling my browser not to use a proxy, and using netsh to reset the proxy for winHTTP. Still the same errors even though the browser can still access the internet.
从我发现我想这一定是超过了特定的网络,从这个特定的计算机连接的一个问题它是。不过,我不知道是什么问题。任何建议感激地接受。
From what I've found I reckon this must be an issue with connectivity from this particular machine over the particular network it is on. However, I have no idea what the problem is. Any suggestions gratefully received.
推荐答案
解决了我的情况,也有很多其他原因,你可能会得到,虽然这个错误。对我来说,简短的回答是:检查经典.net程序池正在运行的用户,并确保您的网络允许他们上网
Solved it for my case, there are plenty of other reasons you might get this error though. The short answer for me was: Check the user the Classic .Net AppPool is running as and make sure your network allows them internet access.
我下载了Microsoft网络监视器,并在故障期间看了看流量。可能已与唯一的交通是所有去我们的代理服务器,由一个失败的尝试来验证的。
I downloaded Microsoft Network Monitor and looked at the traffic during a failure. The only traffic that might have been related was all going to our proxy server and consisted of a failed attempt to authenticate.
然后我检查了应用程序池在IIS果然经典.net程序池被设置为使用没有被代理服务器所认同本地计算机帐户。更改帐户用来固定错误的域帐户。
I then checked the app pools in IIS and sure enough the Classic .Net AppPool was set to use a local machine account that wasn't being recognised by the proxy. Changing the account to use to a domain account fixed the error.
这篇关于的MSXML3.dll 80072EFD和800c0005错误的Windows 7在传统的ASP执行ServerXMLHTTP.send的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!