Мне было поручено получить ответ от SOAP-запроса, используя классический asp. Запрос примерно такой же простой, как и получается - мне просто нужно запустить 3 параметра в URL веб-службы и выписать ответ (в простом текстовом формате). Я проверил сервис, используя несколько утилит для тестирования SOAP, и он выдает хороший ответ.
Я также прочитал около 10 различных руководств по использованию SOAP-каналов в классическом ASP, но ни один из них, похоже, не работает вообще.
Последний, который я пробовал, дал мне следующий код:
<%
Set oXmlHTTP = CreateObject("Microsoft.XMLHTTP")
oXmlHTTP.Open "POST", "http://www.webservicehost.co.uk/B2bservice.asmx?wsdl", False
oXmlHTTP.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
oXmlHTTP.setRequestHeader "SOAPAction", "http://ourNameSpace/ourFunction"
SOAPRequest = _
"<?xml version=""1.0"" encoding=""utf-8""?>" &_
"<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">" &_
"<soap12:Body>" &_
"<ourFunction xmlns=""http://ourNameSpace/"">" &_
"<Ccode>OurCode</Ccode>" &_
"<Pword>1d2s45a</Pword>" &_
"<OrderNo>9876</OrderNo>" &_
"</ourFunction>" &_
"</soap12:Body>" &_
"</soap12:Envelope>"
oXmlHTTP.send SOAPRequest
response.write oXmlHTTP.responseText
%>
У меня есть все правильные значения для POST URL, переменных Ccode, Pword и OrderNo, но я не знаю, что использовать для «SoapAction» или значений. В результате, когда я запускаю страницу, я просто получаю сообщение об ошибке:
soap: SenderUnable для обработки запроса без действительного параметра действия. Пожалуйста, предоставьте действительное действие мыла.
Может кто-нибудь предложить, что использовать для значений SoapAction и ourFunction xmlns?
Большое спасибо за любые указатели ...