Following is an excerpt from WSDL generated using Java2WSDL.  Note the
self-reference elements, namely "autVO" and "utVO".

...
   <complexType name="UserTypeVO">
    <sequence>
     <element name="acBigDecimal" nillable="true" type
="impl:ArrayOf_xsd_decimal"/>
     <element name="acBigInteger" nillable="true" type
="impl:ArrayOf_xsd_integer"/>
     <element name="acCalendar" nillable="true" type
="impl:ArrayOf_xsd_dateTime"/>
     <element name="acDate" nillable="true" type
="impl:ArrayOf_xsd_dateTime"/>
     <element name="acString" nillable="true" type
="impl:ArrayOf_xsd_string"/>
     <element name="apBoolean" nillable="true" type
="impl:ArrayOf_xsd_boolean"/>
     <element name="apByte" type="xsd:base64Binary"/>
     <element name="apDouble" nillable="true" type
="impl:ArrayOf_xsd_double"/>
     <element name="apFloat" nillable="true" type
="impl:ArrayOf_xsd_float"/>
     <element name="apInt" nillable="true" type="impl:ArrayOf_xsd_int"/>
     <element name="apLong" nillable="true" type="impl:ArrayOf_xsd_long"/>
     <element name="apShort" nillable="true" type
="impl:ArrayOf_xsd_short"/>
     <element name="autVO" nillable="true" type
="impl:ArrayOf_tns1_UserTypeVO"/>
     <element name="cBigDecimal" nillable="true" type="xsd:decimal"/>
     <element name="cBigInteger" nillable="true" type="xsd:integer"/>
     <element name="cCalendar" nillable="true" type="xsd:dateTime"/>
     <element name="cDate" nillable="true" type="xsd:dateTime"/>
     <element name="cString" nillable="true" type="xsd:string"/>
     <element name="pBoolean" type="xsd:boolean"/>
     <element name="pByte" type="xsd:byte"/>
     <element name="pDouble" type="xsd:double"/>
     <element name="pFloat" type="xsd:float"/>
     <element name="pInt" type="xsd:int"/>
     <element name="pLong" type="xsd:long"/>
     <element name="pShort" type="xsd:short"/>
     <element name="utVO" nillable="true" type="tns1:UserTypeVO"/>
    </sequence>
   </complexType>
   <element name="UserTypeVO" nillable="true" type="tns1:UserTypeVO"/>
...

Should this data structure be supported with the current release of AXIS?
My corresponding XML request fails with the following message.

     [java] Exception executing request: SOAP Fault AxisFault
     [java]  faultCode: {http://xml.apache.org/axis/}Server.userException
     [java]  faultString: org.xml.sax.SAXException: Bad types (class
[Ljava.lang.Object; -> class com.sybase.test.util.UserTypeVO)
     [java]  faultActor: null
     [java]  faultDetail:
     [java]    stackTrace: org.xml.sax.SAXException: Bad types (class
[Ljava.lang.Object; -&gt; class com.sybase.test.util.UserTypeVO)
     [java]    at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:285)
     [java]    at
org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:893)
     [java]    at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200)
     [java]    at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684)
     [java]    at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
     [java]    at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:265)
     [java]    at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:190)
     [java]    at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276)
     [java]    at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
     [java]    at
org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
     [java]    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
     [java]    at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
     [java]    at
org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)
     [java]    at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)
     [java]    at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
     [java]    at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
     [java]    at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     [java]    at
com.sybase.jaguar.servlet.JagServlet.service(JagServlet.java:612)
     [java]    at
com.sybase.jaguar.servlet.JagRequestDispatcher.service(JagRequestDispatcher.java:856)
     [java]    at
com.sybase.jaguar.servlet.JagWebResource.service(JagWebResource.java:85)
     [java]    at
com.sybase.jaguar.servlet.JagFilterChain.doFilter(JagFilterChain.java:125)
     [java]    at
com.sybase.jaguar.servlet.ServletEngine.service(ServletEngine.java:580)
     [java]    at
com.sybase.jaguar.servlet.ServletServiceImpl.doService(ServletServiceImpl.java:52)
     [java]    at com.sybase.jaguar.servlet.
_sk_JaguarServlet_ServletService.invoke
(_sk_JaguarServlet_ServletService.java:148)

The same XML works against a .NET implementation.

Thanks.

Rhett

Reply via email to