Hi Eric, I am also entangled at the exactly similar situation. I have Publications and Persons. I also tried retriving only persons so that it is not array of arrays. but got the same error
Can you confirm the following? 1. did you get files (when you used WSDL2Java) like getDescriptionAvailableRequest.java and getDescriptionAvailableResponse.java for function :getDescriptionAvailable and similar files for each of your functions? Since this is also a data structure, I suspect that the error is due to this getDescriptionAvailableResponse.java? 2. can you send a simple SOAP message and retrieve it successfully? I mean the error is coming only when you are using the client? 3. confirm your code in the type metadata section of property.java and Description.java files also getDescriptionAvailableResponse.java? Please read http://www.mail-archive.com/[EMAIL PROTECTED]/msg09060.html. Here they say that there is a bug in the code generation that instead of ArrayOfXXX they just have XXX but for me it is ArrayOfXXX only I cannot move further due to this stupid error. Lets try to resolve it together. step by step Jin --- "E. Seifert" <[EMAIL PROTECTED]> wrote: > Hi, > > I'm a newbie to Axis and SOAP, so please forbear with me: I'm currently > working in project using gSOAP 2.2.3b as server and Axis 1.1 RC2 as > client. I used the wsdl file generated by gSOAP and converted it using > wsdl2java, but I ran into an problem with Axis not able to deserialize > an array of complex type data. > > The gSOAP wsdl file defines the following complex types: > > ... > > > <complexType name="Property"> > > <sequence> > > <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" > > nillable="true"/> > > <element name="type" type="xsd:int" minOccurs="1" maxOccurs="1"/> > > <element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" > > nillable="true"/> > > <element name="readOnly" type="xsd:boolean" minOccurs="1" maxOccurs="1"/> > > </sequence> > > </complexType> > > > > <complexType name="ArrayOfProperty"> > > <complexContent> > > <restriction base="SOAP-ENC:Array"> > > <sequence> > > <element name="property" type="silva:Property" minOccurs="0" > > maxOccurs="unbounded"/> > > </sequence> > > <attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="silva:Property[]"/> > > </restriction> > > </complexContent> > > </complexType> > > > > <complexType name="Description"> > > <sequence> > > <element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" > > nillable="true"/> > > <element name="description" type="xsd:string" minOccurs="1" maxOccurs="1" > nillable="true"/> > > <element name="id" type="xsd:int" minOccurs="1" maxOccurs="1"/> > > <element name="singletree" type="xsd:boolean" minOccurs="1" maxOccurs="1"/> > > <element name="modifying" type="xsd:boolean" minOccurs="1" maxOccurs="1"/> > > <element name="properties" type="silva:ArrayOfProperty" minOccurs="1" > > maxOccurs="1" > nillable="true"/> > > </sequence> > > </complexType> > > ... > > Additionally it defines an operation to return a description: > > > <operation name="getDescriptionAvailable"> > > <documentation>Returns the description for an available object.</documentation> > > <input message="tns:getDescriptionAvailableRequest"/> > > <output message="tns:getDescriptionAvailableResponse"/> > > </operation> > > The only unresolved issue so far is that Axis throws an "no deserializer > defined for array type Property" when it gets the follwing SOAP code: > > > <?xml version="1.0" encoding="UTF-8"?> > > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:silva="urn:silvacpp"> > > <SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > > <silva:getDescriptionAvailableResponse> > > <description> > > <name xsi:type="xsd:string">Erzeuger NeuerBestand</name> > > <description xsi:type="xsd:string">Eine Beschreibung</description> > > <id xsi:type="xsd:int">7007</id> > > <singletree xsi:type="xsd:boolean">true</singletree> > > <modifying xsi:type="xsd:boolean">false</modifying> > > <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="Property[9]"> > > <property><name xsi:type="xsd:string">Key00</name> > > <type xsi:type="xsd:int">1</type> > > <value xsi:type="xsd:string">Baumart00</value> > > <readOnly xsi:type="xsd:boolean">false</readOnly> > > </property> > > ... > > > </properties> > > </description> > > </silva:getDescriptionAvailableResponse> > > </SOAP-ENV:Body> > > </SOAP-ENV:Envelope> > > I've also tried to get the property array from a seperate SOAP operation > in order to avoid the nested array, but it had no effect. It still threw > the same exception: > > > org.xml.sax.SAXException: No deserializer defined for array type Property > > at > > org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeserializer.java:304) > > at > > org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:428) > > at > org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:962) > > at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198) > > at > > org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:718) > > at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:232) > > at org.apache.axis.message.RPCElement.getParams(RPCElement.java:346) > > at org.apache.axis.client.Call.invoke(Call.java:2234) > > at org.apache.axis.client.Call.invoke(Call.java:2133) > > at org.apache.axis.client.Call.invoke(Call.java:1656) > > at > silva.soap.Silva_wsdl.SilvaBindingStub.getDescriptionAvailableProperties(SilvaBindingStub.java:303) > > ... > > As I haven't found much documentation or examples so far on arrays in > Axis I would be very grateful if someone in this list could help me or > at leat point out the right direction. On the list archive I read about > similar exceptions being related to a bug (#15698). If so, is there a > workaround? Hopefully, I posted everything you need to help me. > > Thanks very much in advance > Eric > > > ===== ----------------------------------------------------------------- Jinesh Varia Graduate Student, Information Systems Pennsylvania State University Email: [EMAIL PROTECTED] ----------------------------------------------------------------- 'Self is the author of its actions.' __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com