0

We have a .NET Client with a Web Reference to a SOAP Based Web Service. The method we are calling has a signature string request() but when we call it we only ever receive a null value. The target service is receiving the request and responding with something other than null but our client only ever returns a null value

Looking at the WSDL, the response should be as follows:

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

The actual response looks like the following:

<?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>

It appears the target service is responding with something that is not defined in the WSDL resulting in the client returning a null value but I am not sure about that

Can anyone shed some light on what might be happening here?

Note: no exceptions have been experienced on the client

JoeGeeky
  • 3,746
  • 6
  • 36
  • 53

0 Answers0