Я пытаюсь отправить сообщение в веб-сервис на основе https с использованием классического ASP, и это работает, но самое странное, что иногда (случайным образом) он возвращает ошибку:
«Имя хоста в сертификате неверно или не совпадает»
Когда страница возвращает эту ошибку, через некоторое время (минуты) она снова начинает работать нормально, ничего не делая.
Dim Result
Dim SoapRequest
Set SoapRequest = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Dim myXML
Set myXML = CreateObject("MSXML.DOMDocument")
myXML.Async=False
SoapRequest.Open "POST", sUrl, False
SoapRequest.setRequestHeader "Content-Type","text/xml; charset=utf-8"
SoapRequest.setRequestHeader "SOAPAction", """http://tempuri.org/" & sMethod & """"
SoapRequest.setRequestHeader "Authorization", "BASIC " & Base64Encode(Request.ServerVariables("AUTH_USER")&":"&Request.ServerVariables("AUTH_PASSWORD"))
Dim DataToSend
DataToSend = GetEnvelop(sMethod, params)
SoapRequest.Send DataToSend
If myXML.load(SoapRequest.responseXML) Then
Dim Node
Set Node = myXML.documentElement.selectSingleNode("//" & sMethod & "Result")
Result = Node.Text
Set Node = Nothing
Else
Result = getXML("Response", "1", "Error calling WebService: " & sUrl & ", WebMethod: " & sMethod & " xml response: " & SoapRequest.responseXML, "0")
End If
Set SoapRequest = Nothing
Set myXML = Nothing