Неслучайно это так, пожалуйста, несите меня.ASP Classic, SOAP/XML Запрос и ответ
я получил это как запрос
POST /weblordinterface/interface.asmx HTTP/1.1
Host: weblord-test.toshiba-tro.de
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?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>
<_getCaseById xmlns="http://weblord.toshiba-tro.de/">
<sIdCase>string</sIdCase>
<sUser>string</sUser>
<sPassword>string</sPassword>
</_getCaseById>
</soap12:Body>
</soap12:Envelope>
от поставщика servicve и это как ответ
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?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>
<_getCaseByIdResponse xmlns="http://weblord.toshiba-tro.de/">
<_getCaseByIdResult>xml</_getCaseByIdResult>
</_getCaseByIdResponse>
</soap12:Body>
</soap12:Envelope>
я написал страницу ASP, который имеет IDcase/пользователь/пароль, пересылаемый для меня, и я знаю, что эта часть работает, так как я могу отображать все 3 экранных экрана.
мой код: -
<%
dim sUser
dim sPassword
dim sIdCase
sIdCase=Request.QueryString("sIdCase")
sPassword=Request.QueryString("sPassword")
sUser=Request.QueryString("sUser")
Dim objXMLHTTP
set objXMLHTTP = server.Createobject("MSXML2.ServerXMLHTTP.3.0")
Dim strRequest, strResult,
strRequest ="<?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><_getCaseById xmlns='http://weblord.toshiba-tro.de/'><sIdCase>" & sIdCase & "</sIdCase>" _
& " <sUser>" & sUser & "</sUser> <sPassword>" & sPassword & "</sPassword></_getCaseById></soap12:Body></soap12:Envelope>"
objXMLHTTP.open "POST", "http://weblord.toshiba-tro.de/weblordinterface/interface.asmx" , true
objXMLHTTP.setRequestHeader "User-Agent","HTTP/1.1"
objXMLHTTP.setRequestHeader "Host","weblord-test.toshiba-tro.de"
objXMLHTTP.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(strRequest)
'objXMLHTTP.setRequestHeader "SOAPAction", "http://weblord.toshiba-tro.de/"
objXMLHTTP.send(strRequest)
If objXMLHTTP.status = 200 Then
TextResponse = objXMLHTTP.responseText
XMLResponse = objXMLHTTP.responseXML
StreamResponse = objXMLHTTP.responseStream
Else
response.write("we have an error")
End If
Set objXMLHTTP = Nothing
%>
Может кто-то пожалуйста просветить меня о том, как я могу получить ответ и отобразить его, я, кажется, чтобы получить ошибку в
If objXMLHTTP.status = 200 Then
линии
msxml3.dll ошибка '8000000a'
Данные, необходимые для завершения этой операции, пока недоступны.
Может один из вас экспертов, пожалуйста, помогите
Спасибо, Джон, я попробовал как Async, так и snyc, с syn статус показывает как 403. – AndyG
Это должно быть синхронно. 403 неавторизован, указывая, что либо учетные данные, с которыми вы подключаетесь, являются недопустимыми, либо компьютер, к которому вы обращаетесь, должен быть включен в белый список. – johna