Я пытался вызвать веб-сервис со следующим тестовым кодом.По сути, я пытаюсь отправить строку данных XML на сервер, используя классический ASP, и получить ответ.Теперь я застрял здесь на несколько дней, потому что сервер не собирает данные.Вот ответ, который я получил:
<?xml version="1.0"?>
<MAG_NotifyResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EchoToken />
<PartnerId />
<ReturnCode>600</ReturnCode>
<returnMessage>Empty String Received</returnMessage>
</MAG_NotifyResponse>
Я не знаком с XMLHTTP, поэтому я не уверен, правильно ли я его использовал?или я должен использовать другой метод.Я пробовал различные комбинации настроек, но ни одна из них не работала.Например,
- Я отправляю строку данных без заголовка SOAP - он жаловался, что не использовал правильное пространство имен
- Я пробовал различные типы контента: "application / x-www-form-urlencoded "или" application / soap + xml; charset = utf-8 "- он пожаловался на то, что я не использовал правильный тип носителя
Любая помощь приветствуется!
Вот мой тестовый код:
<%
DIM PostData, strStatus, strRetVal, postUrl
PostData = _
"<?xml version=""1.0"" encoding=""utf-8""?>" &_
"<env:Envelope xmlns:env=""http://www.w3.org/2003/05/soap-envelope"" xmlns:ava=""http://AvailReceive/AvailRq"">" &_
"<env:Header />" &_
"<env:Body>" &_
"<ava:AvailRq xmlns=""http://AvailReceive/"">" &_
"<AvailRQString>" &_
"<MAG_AvailNotify>" &_
"<EchoToken>b9cdaa88-b320-4d94-9be5-fc5478729c8b</EchoToken>" &_
"<PartnerID>ONR</PartnerID>" &_
"<HotelCode>GLAS</HotelCode>" &_
"<Avail><AvailDet><AvailDate>2012-03-20</AvailDate><Accom>C2T</Accom>" &_
"<AvailRooms>3</AvailRooms></AvailDet></Avail>" &_
"</MAG_AvailNotify>" &_
"</AvailRQString>" &_
"</ava:AvailRq>" &_
"</env:Body>" &_
"</env:Envelope>"
response.write("req=" & Server.HTMLEncode(PostData) & "<br/>len=" & len(PostData))
postUrl = "https://services.itsrezexchange.com/ITSTESTAvailUpdate/availrq.asmx"
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlHTTP.open "POST", postUrl, false
xmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlHTTP.setRequestHeader "SOAPAction", "http://AvailReceive/AvailRq"
xmlHTTP.send PostData
strStatus = xmlHTTP.Status
strRetval = xmlHTTP.responseText
set xmlHTTP = nothing
response.write("<br/>")
response.write("status=" & strStatus & "<br/>resp=" & strRetval)
%>