соединение с сервером было прервано ненормально xmlhttp - PullRequest
6 голосов
/ 30 сентября 2011

У меня есть эта страница asp test1.asp на том же сервере (другой веб-сайт), чем этот веб-сервис. Дело в том, когда я пытаюсь запустить этот код

sUrl = "http://chat.xxxxx.com/UCWebServices/Chat.asmx/GetChatQueueByAddress?queueAddress=SALESCHAT"

result = HTTPPost(sUrl)

response.Write result

Function HTTPPost(sUrl)
  set oHTTP = CreateObject("Msxml2.ServerXMLHTTP")
  oHTTP.open "GET", sUrl,false
  oHTTP.send <-- it fails here <-- it fails here <-- it fails here <--
  if oHTTP.Status = 200 Then
     HTTPPost oHTTP.responseText
  End if
 End Function
%>

я получаю следующую ошибку

msxml3.dll ошибка '80072efe'

Соединение с сервером было прервано ненормально

Я погуглил эту проблему, думая, что, возможно, это был какой-то маленький бз, которого я мог бы легко решить, но у меня возникают некоторые проблемы. Нелегко заставить его работать.

если мы запустим ту же страницу откуда-нибудь еще, то это сработает.

Есть идеи?

Ответы [ 4 ]

7 голосов
/ 30 сентября 2011

Этот код ошибки ERROR_INTERNET_CONNECTION_ABORTED.Наиболее распространенные причины - это брандмауэр или антивирус, создающий помехи для соединения, прокси, скрывающий данные соединения.Я также могу быть вызван проблемой разрешения имен - например, если имя хоста локально разрешается до 127.0.0.1, а веб-сервер привязан только к общедоступному IP-адресу.

1 голос
/ 02 октября 2011

Другая возможность; сервер на дальнем конце может фильтровать (и отбрасывать) запросы на основе строк агента браузера, чтобы предотвратить программную очистку.

Что происходит, когда вы просто запрашиваете этот URL в обычном браузере?

0 голосов
/ 21 августа 2018

Некоторым серверам необходим заголовок content-length , установленный для правильной работы HTTP POST. В нашем случае (с использованием serverXMLHttp) это было необходимо:

    xmlhttp.Open "POST", URL , false
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.setRequestHeader "Content-Length", Len(postdata)
0 голосов
/ 14 августа 2018

Когда я получил эту ошибку, в журналах событий указывалось, что произошел сбой w3wp.exe (пул приложений IIS).

В Visual Studio я открыл файл дампа памяти, о котором упоминал Event Viewer, и в «Exception Information» было сообщение «Поток использовал свой стек».

Оказалось, что в коде есть исключение StackOverflowException, которое приводит к падению пула приложений.

...