Надеюсь, это правильный сайт Stack Exchange, чтобы опубликовать это ...
Мы установили новый веб-сервер внутренней сети (Windows 2003 - IIS 6). У меня все перенесено со старого сервера, и новый веб-сервер, похоже, работает хорошо, за исключением ServerXMLHTTP. Я использую классический ASP.
Я знаю, что это не проблема кодирования, потому что он хорошо работал на старом сервере.
Я вызываю страницы из локальной интрасети по его URL и получаю сообщение об ошибке «msxml3.dll error '80072ee2' The operation timed out».
Есть ли какие-то настройки на сервере, которые мне нужно проверить?
Если это поможет, то ниже приведена упрощенная версия кода, который я использую (и использую уже много лет):
<%
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 - u
.
Я также сравнил файлы хоста на старом и новом сервере и не заметил никаких различий.
https://stackoverflow.com/questions/5559722/msxml3-dll-error-80072ee2-in-asp-page
Один из ответов указывает на страницу Microsoft с заголовком «ИНФОРМАЦИЯ: не отправлять запросы ServerXMLHTTP или WinHTTP на тот же сервер». (Я не делаю ссылку, потому что хочу, чтобы вы зашли на страницу с этим ответом и проголосовали за него.)