.NET Soap Client получает нулевое значение в ответ вместо реального значения

У нас есть клиент.NET с веб-ссылкой на веб-службу на основе SOAP. Метод, который мы вызываем, имеет подпись string request() но когда мы называем это, мы только получаем нулевое значение. Целевая служба получает запрос и отвечает чем-то отличным от нуля, но наш клиент только возвращает нулевое значение

Глядя на WSDL, ответ должен быть следующим:

<message name="requestResponse">
<part name="request" type="xsd:any"/>
</message>

Фактический ответ выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn:pt_service" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
  <env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc">
    <ns1:requestResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
      <rpc:result>textnoenc</rpc:result>
      <response>
        <result>12</result>
        <message><![CDATA[Bad]]></message>
        <error>
          <code>0</code>
          <desc><![CDATA[Bad]]></desc>
        </error>
      </response>
    </ns1:requestResponse>
  </env:Body>
</env:Envelope>

Похоже, что целевой сервис отвечает чем-то, что не определено в WSDL, в результате чего клиент возвращает нулевое значение, но я не уверен в этом

Может кто-нибудь пролить свет на то, что может происходить здесь?

Примечание: на клиенте не было никаких исключений

0 ответов

Другие вопросы по тегам