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

soaplite deserialization problem

Expand Messages
  • ankurb1
    Hi, I am using a perl client to make calls on a server written in C++ using SOAP::Lite. This is using the wsdl file. The client side SOAP::Deserializer in
    Message 1 of 1 , Oct 13, 2004
    • 0 Attachment
      Hi,

      I am using a perl client to make calls on a server written in C++
      using SOAP::Lite. This is using the wsdl file. The client side
      SOAP::Deserializer in SOAP::Lite raises the "Unspecified namespace for
      DSTPField[1]" for the datatype DSTPField defined in the xml file.

      I am writing down the portions of two seperate xml files which
      contains the format of the fields in the response expected from the
      server, for two different calls.

      <type xsi:type="DS:type">T-flatTextFile</type>
      <fields xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="DSTPField[1]">

      Similarly for SourceInfo[1], the exception "Unspecified namespace" is
      raised

      <DS:getSourceInfosResponse>
      <siv xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="SourceInfo[1]">

      In the WSDL file, I have ArrayofDSTPField as shown below.DSTPField is
      a complex datatype.

      <complexType name="ArrayOfDSTPField">
      <complexContent>
      <restriction base="SOAP-ENC:Array">
      <sequence>
      <element name="item" type="DS:DSTPField" minOccurs="0"
      maxOccurs="unbounded"/>
      </sequence>
      <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="DS:DSTPField[]"/>
      </restriction>
      </complexContent>
      </complexType>

      As can be seen the WSDL file contains the namespace "DS" with the
      DSTPField. However the DSTPField[] in the xml is not prefixed with the
      "DS" namespace. I believe that this is the source of the problem.
      However, I have gone through several example wsdl and xml files
      available on net to find out that this syntax is correct (presence of
      namespace in WSDL file and absence in the xml response file for
      arrays). Kindly correct me if i am wrong.

      Keeping the above things in mind, I would appreciate if someone could
      offer me a possible solution to this problem. Is it a problem with
      SOAP::Lite's handling of arrays/vectors or something needs to be
      changed in the server side?

      Thanks
      Ankur
    Your message has been successfully submitted and would be delivered to recipients shortly.