Classic asp - только получение части мыльного ответа - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь вызвать запрос на мыло от классического asp (он будет обновлен позже, но пока он остается классическим asp), но я получаю только половину ответа?
Когда я используюСтрока запроса в SoapUI, я получаю ответ, который я ищу, но в ASP я получаю только часть ответа ??


Запрос ASP:

Set oXmlHTTP = CreateObject("Microsoft.XMLHTTP")

oXmlHTTP.Open "POST", "http://webservice-string?wsdl", False 
oXmlHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 
oXmlHTTP.setRequestHeader "SOAPAction", "urn:action"


SOAPRequest = _
"<?xml version=""1.0"" encoding=""utf-8""?>" &_
"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:head=""http://header.com"" xmlns:ser=""http://service.com"" xmlns:add=""http://service.com/domain/address"">" &_
   "<soapenv:Header>" &_
      "<head:OnBehalfOfUserId>stine</head:OnBehalfOfUserId>" &_
      "<head:RequestId>?</head:RequestId>" &_
      "<head:AuthenticationHeader>" &_
         "<head:SessionID>?</head:SessionID>" &_
      "</head:AuthenticationHeader>" &_
   "</soapenv:Header>" &_
   "<soapenv:Body>" &_
      "<ser:searchVisitationRequest>" &_
         "<ser:UserId>Stine</ser:UserId>" &_
         "<ser:RequestId>?</ser:RequestId>" &_
         "<add:SomeId>1234</add:SomeId>" &_
      "</ser:searchVisitationRequest>" &_
   "</soapenv:Body>" &_
"</soapenv:Envelope>"


On Error Resume Next
oXmlHTTP.send SOAPRequest   


If Err.Number Then 
    Err.Clear 
Else 
    SOAPResponse = oXmlHTTP.responseXML.text
End If 
On Error Goto 0 

if len(SOAPResponse) > 0 then         
    Response.Write SOAPResponse 
end if

Ответ ASP:

2018-06-25T09: 56: 36.016 + 02: 00server_ID {bla bla} 5

Ответ SoapUI

(сделан из того же запроса - содержит " SearchVisitation ", который мне нужен!)

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <searchVisitationResponse xmlns="http://service.com">
         <ReplyInfo>
            <ReplyTimestamp>2018-06-25T08:47:48.204+02:00</ReplyTimestamp>
            <ServerId>server_ID</ServerId>
            <StatusMessage>{bla bla}</StatusMessage>
            <TransactionDuration>3</TransactionDuration>
         </ReplyInfo>
         <SearchVisitation>
            <OtherID>12345678</OtherID>
            <SearchVisitationID>
               <SubscriptionNo>Test1</SubscriptionNo> 
            </SearchVisitationID>
         </SearchVisitation>
      </searchVisitationResponse>
   </S:Body>
</S:Envelope>

Что я делаю неправильно

1 Ответ

0 голосов
/ 03 июля 2018

Оказывается, что

oXmlHTTP.setRequestHeader "SOAPAction", "urn:action"

был частью, которая вызывала запрос на ошибку (я - опять же - трижды проверил, что urn:action был верным).

Удаление его дало мне правильный ответ.

...