Loading ...
Sorry, an error occurred while loading the content.

Problems with MS SOAP Toolkit (VB6)

Expand Messages
  • edward_l_palmer
    Hi, I have a MS Soap Toolkit application (VB6) which connects fine to a Axis based server, but using a derived WSDL and tweaking the returned XML as close as
    Message 1 of 1 , Jul 1, 2005
    • 0 Attachment
      Hi,
      I have a MS Soap Toolkit application (VB6) which connects fine to a
      Axis based server,

      but using a derived WSDL and tweaking the returned XML as close as
      possible in SOAP::Lite, I get an error.



      However, I have written a Axis client against my SOAP::Lite server
      using the WSDL

      and it works 100% fine.



      The error I get from MS Soap Toolkit is:

      "SoapMapper: Restoring data into SoapMapper ArrayOfArrayOf_xsd_string
      failed HRESULT=0x800040005: Unspecified Error"



      Also, the network traffic seems to reveal numbers returned at the
      beginning of the XML payload from AXIS.

      I only get this with MS Soap Toolkit clients. Any Idea what this is?





      ---------WSDL for SOAP::Lite (based on Axis autogenerated
      WSDL)---------



      <?xml version="1.0" encoding="UTF-8"?>


      <wsdl:definitions

      targetNamespAPP="urn:MY/APP"

      xmlns:apachesoap="http://xml.apache.org/xml-soap"

      xmlns:impl="urn:MY/APP"

      xmlns:intf="urn:MY/APP"

      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

      xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

      xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"

      xmlns:xsd="http://www.w3.org/2001/XMLSchema">





      <wsdl:types>


      <schema targetNamespAPP="urn:MY/APP"

      xmlns="http://www.w3.org/2001/XMLSchema">


      <import namespAPP="http://schemas.xmlsoap.org/soap/encoding/"/>


      <import namespAPP="urn:MY/APP"/>




      <complexType name="ArrayOf_xsd_string">


      <complexContent>


      <restriction base="soapenc:Array">


      <attribute ref="soapenc:arrayType" wsdl:arra
      yType="xsd:string[]"/>


      </restriction>


      </complexContent>


      </complexType>


      <complexType name="ArrayOfArrayOf_xsd_string">


      <complexContent>


      <restriction base="soapenc:Array">


      <attribute ref="soapenc:arrayType" wsdl:arra
      yType="xsd:string[][]"/>


      </restriction>


      </complexContent>


      </complexType>


      </schema>


      </wsdl:types>




      <!-- getDataArray (BI) -->

      <wsdl:message name="getDataArrayRequest">
      <!--

      <wsdl:part name="pKey" type="xsd:string"/>


      <wsdl:part name="crit" type="impl:ArrayOf_xsd_string"/>


      <wsdl:part name="username" type="xsd:string"/>
      -->

      </wsdl:message>


      <wsdl:message name="getDataArrayResponse">


      <wsdl:part name="getDataArrayReturn"
      type="impl:ArrayOfArrayOf_xsd_string"/>


      </wsdl:message>






      <wsdl:portType name="APP">


      <wsdl:operation name="getDataArray"><!-- parameterOrder="pKey crit
      username">-->


      <wsdl:input message="impl:getDataArrayRequest"
      name="getDataArrayRequest"/>


      <wsdl:output message="impl:getDataArrayResponse"
      name="getDataArrayResponse"/>


      </wsdl:operation>






      </wsdl:portType>




      <wsdl:binding name="APPServiceSoapBinding" type="impl:APP">




      <wsdlsoap:binding style="rpc"
      transport="http://schemas.xmlsoap.org/soap/http"/>




      <wsdl:operation name="getDataArray">


      <wsdlsoap:operation soapAction="urn:MY/APP#getDataArray"/>


      <wsdl:input name="getDataArrayRequest">




      <wsdlsoap:body
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

      namespAPP="urn:MY/APP"

      use="encoded"/>


      </wsdl:input>


      <wsdl:output name="getDataArrayResponse">


      <wsdlsoap:body
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

      namespAPP="urn:MY/APP"

      use="encoded"/>


      </wsdl:output>


      </wsdl:operation>




      </wsdl:binding>




      <wsdl:service name="APPService">







      </wsdl:service>




      </wsdl:definitions>








      -----------------WORKING Response from AXIS-----------------

      HTTP/1.1 200 OK


      Server: Apache-Coyote/1.1


      Content-Type: text/xml;charset=utf-8


      Transfer-Encoding: chunked


      Date: Mon, 27 Jun 2005 14:57:13 GMT





      426


      <?xml version="1.0" encoding="UTF-8"?>

      <soapenv:Envelope
      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

      xmlns:xsd="http://www.w3.org/2001/XMLSchema"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

      <soapenv:Body>

      <ns1:getDataArrayResponse
      soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:ns1="http://wstest">

      <getDataArrayReturn soapenc:arrayType="xsd:string[][2]"
      xsi:type="soapenc:Array"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

      <getDataArrayReturn soapenc:arrayType="xsd:string[2]"
      xsi:type="soapenc:Array">

      <getDataArrayReturn
      xsi:type="xsd:string">0,0</getDataArrayReturn>

      <getDataArrayReturn
      xsi:type="xsd:string">0,1</getDataArrayReturn>

      </getDataArrayReturn>

      <getDataArrayReturn soapenc:arrayType="xsd:string[2]"
      xsi:type="soapenc:Array">

      <getDataArrayReturn
      xsi:type="xsd:string">1,0</getDataArrayReturn>

      <getDataArrayReturn
      xsi:type="xsd:string">1,1</getDataArrayReturn>

      </getDataArrayReturn>

      </getDataArrayReturn>

      </ns1:getDataArrayResponse>

      </soapenv:Body>

      </soapenv:Envelope>

      0


      ----------------------Non-Working response from
      SOAP::Lite-----------------

      HTTP/1.1 200 OK


      Date: Mon, 27 Jun 2005 14:58:36 GMT


      Server: Apache/1.3.27 (Unix) mod_perl/1.27 mod_ssl/2.8.14
      OpenSSL/0.9.7d


      Content-Length: 1090


      Content-Type: text/xml; charset=utf-8


      SOAPServer: SOAP::Lite/Perl/0.55


      Connection: close





      <?xml version="1.0" encoding="UTF-8"?>

      <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/19
      99/XMLSchema-instance"

      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

      xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

      xmlns:xsd="http://www.w3.org/1999/XMLSchema"

      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

      <SOAP-ENV:Body>

      <namesp1:getDataArrayResponse xmlns:namesp1="urn:MY/APP">

      <getDataArrayReturn xsi:type="SOAP-ENC:Array"
      SOAP-ENC:arrayType="SOAP-ENC:Array[2]">

      <getDataArrayReturn xsi:type="SOAP-ENC:Array"
      SOAP-ENC:arrayType="xsd:string[2]">

      <getDataArrayReturn
      xsi:type="xsd:string">0,0</getDataArrayReturn>

      <getDataArrayReturn
      xsi:type="xsd:string">0,1</getDataArrayReturn>

      </getDataArrayReturn>

      <getDataArrayReturn xsi:type="SOAP-ENC:Array"
      SOAP-ENC:arrayType="xsd:string[2]">

      <getDataArrayReturn
      xsi:type="xsd:string">1,0</getDataArrayReturn>

      <getDataArrayReturn
      xsi:type="xsd:string">1,1</getDataArrayReturn>

      </getDataArrayReturn>

      </getDataArrayReturn>

      </namesp1:getDataArrayResponse>

      </SOAP-ENV:Body>

      </SOAP-ENV:Envelope>
    Your message has been successfully submitted and would be delivered to recipients shortly.