You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by SEBBAGH L Ext ROSI/SIFAC <ls...@francetelecom.com> on 2004/09/22 12:44:17 UTC

TR: complex object array (C++ server - Java client)

Hi,

We have a webservice handeled by AXIS 1.2 C++, on the client side we use java and we have created a client stub with WSDL2java (AXIS 1.1). We have trouble when the client tries to deserialize SOAP response message containing an array of complex type elements. The following execption is raised by the client:
 org.xml.sax.SAXException: No deserializer for {http://www.w3.org/2001/XMLSchema}anyType at org.apache.axis.encoding.DeserializerImpl.onStartElement(DeserializerImpl.java:485).

Here is an extract of the SOAP response:
  <uneHabilitation xsi:type="ns1:SeqItemMenu_s" xmlns:ns1="urn:rita-namespace">
    <ItemMenu_sArray xmlns:enc="http://www.w3.org/2001/06/soap-encoding" xmlns:ns1="urn:rita-namespace" enc:arrayType="ns1:ItemMenu_s[54]">
      <item>
        <numTransaction xsi:type="xsd:string">100</numTransaction>
        <idItem xsi:type="xsd:string">0</idItem>
        <libelle xsi:type="xsd:string">RITA</libelle>
        <raccourci xsi:type="xsd:string"></raccourci>
      </item>
      [...]
    </ItemMenu_sArray>
  </uneHabilitation>

Here is an extract of the WSDL
  <complexType name="ArrayOfItemMenu_s">
    <complexContent>
     <restriction base="SOAP-ENC:Array">
      <sequence>
       <element name="item" type="rita:ItemMenu_s" minOccurs="0" maxOccurs="unbounded"/>
      </sequence>
      <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="rita:ItemMenu_s[]" /> 
     </restriction>
    </complexContent>  
  </complexType>  
  <complexType name="SeqItemMenu_s">
    <sequence>
	 <element name="ItemMenu_sArray" type="rita:ArrayOfItemMenu_s" minOccurs="0" maxOccurs="1"/>
    </sequence>
  </complexType>

Maybe have you some ideas, thanks for your help.
Regards.