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; -> 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