У меня есть классический веб-сайт ASP, работающий в окне Windows Server 2012. Одна страница делает HTTP-запрос другому приложению через https, используя такой код:
Sub ShopXML4http(url, inStr, outStr, method, xmlerror)
Dim objhttp
Set objhttp = Server.CreateObject ("MSXML2.ServerXMLHTTP.6.0")
objHttp.open method, url, false
If Method="POST" Then
objHttp.Send instr
Else
objHttp.Send
End if
outstr=objHttp.responseText
Set objhttp=nothing
End Sub
Этот код отлично работает почти все время (тысячи запросов в день), но спорадически он выйдет из строя с таким сообщением:
Номер: -2147012739
Описание: Произошла ошибка в поддержке защищенного канала
Источник: msxml6.dll
Приложение недавно было перенесено с старого сервера Windows 2003 на сервер 2012 года, и эта проблема никогда не казалась проблемой на старом сервере. Кроме того, пока эта ошибка происходит на веб-сайте, я могу запустить тот же самый код в VBScript, и он отлично работает. Сброс пула приложений, похоже, заставляет сайт снова выполнять защищенные HTTP-запросы (хотя он часто исправляет себя, прежде чем я могу добраться до сервера).