I have a POJO service deployed on JBoss 4.05 under Axis2 v1.3.  I have
modified this service to instead use Axis2 v1.4.  I then regenerated
the client-side stub classes with Axis2 1.4's wsdl2java, using the new
(and slightly different) WSDL.

My client now has a parse error reading the response, but to my eye,
the response looks logical and appears to follow the WSDL.

In the WSDL, the response is defined as:

<xs:element name="getSampleNamesResponse">
        <xs:complexType>
                <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="0" 
name="return"
nillable="true" type="ax22:SampleNamesX"/>
                </xs:sequence>
        </xs:complexType>
</xs:element>


The response is an array of these elements:

<xs:complexType name="SampleNamesX">
        <xs:sequence>
                <xs:element minOccurs="0" name="nameList" nillable="true" 
type="xs:anyType"/>
                <xs:element minOccurs="0" name="typeId" nillable="true" 
type="xs:long"/>
                <xs:element minOccurs="0" name="typeName" nillable="true" 
type="xs:string"/>
        </xs:sequence>
</xs:complexType>


The SOAP response looks like this:

<ns:getSampleNamesResponse xmlns:ns="http://vegas.com";
        xmlns:ax21="http://vegas.com/xsd";>
        <ns:return type="com.vegas.SampleNamesX">
                <ax21:nameList
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                        xsi:nil="true">
                </ax21:nameList>
                <ax21:typeId>1138</ax21:typeId>
                <ax21:typeName>foo</ax21:typeName>
        </ns:return>
        <ns:return type="com.vegas.SampleNamesX">
                <ax21:nameList
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                        xsi:nil="true">
                </ax21:nameList>
                <ax21:typeId>8311</ax21:typeId>
                <ax21:typeName>bar</ax21:typeName>
        </ns:return>
....
</ns:getSampleNamesResponse>


When the client receives this response, however, it throws this exception:

13:47:04,965 ERROR [STDERR] org.apache.axis2.AxisFault:
org.apache.axis2.databinding.ADBException: Unexpected subelement
typeId
13:47:04,965 ERROR [STDERR]         at
org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
13:47:04,965 ERROR [STDERR]         at
com.vegas.stub.SampleServiceStub.fromOM(SampleServiceStub.java:4832)
13:47:04,965 ERROR [STDERR]         at
com.vegas.stub.SampleServiceStub.getProductTypes(SampleServiceStub.java:1672)
13:47:04,965 ERROR [STDERR]         at
com.vegas.client.SampleClientUtil.getProductTypesStubCall(SampleClientUtil.java:488)
13:47:04,965 ERROR [STDERR]         at
com.vegas.client.SampleClientUtil.getProductTypes(SampleClientUtil.java:136)
13:47:04,965 ERROR [STDERR]         at
com.vegas.client.SampleClientUtil.getProductTypeList(SampleClientUtil.java:162)
13:47:04,965 ERROR [STDERR]         at
org.apache.jsp.SampleClient_jsp._jspService(SampleClient_jsp.java:85)
13:47:04,965 ERROR [STDERR]         at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
13:47:04,965 ERROR [STDERR]         at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
13:47:04,965 ERROR [STDERR]         at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
13:47:04,965 ERROR [STDERR]         at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
13:47:04,965 ERROR [STDERR]         at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
13:47:04,965 ERROR [STDERR]         at
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
13:47:04,965 ERROR [STDERR]         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
13:47:04,965 ERROR [STDERR]         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:47:04,965 ERROR [STDERR]         at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
13:47:04,980 ERROR [STDERR]         at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
13:47:04,980 ERROR [STDERR]         at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
13:47:04,980 ERROR [STDERR]         at
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
13:47:04,980 ERROR [STDERR]         at
org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:637)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
13:47:04,980 ERROR [STDERR]         at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
13:47:04,980 ERROR [STDERR]         at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
13:47:04,980 ERROR [STDERR]         at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
13:47:04,980 ERROR [STDERR]         at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
13:47:04,980 ERROR [STDERR]         at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
13:47:04,980 ERROR [STDERR]         at java.lang.Thread.run(Thread.java:619)
13:47:04,980 ERROR [STDERR] Caused by: java.lang.Exception:
org.apache.axis2.databinding.ADBException: Unexpected subelement
typeId
13:47:04,980 ERROR [STDERR]         at
com.vegas.getSampleNamesResponse$Factory.parse(getSampleNamesResponse.java:609)
13:47:04,980 ERROR [STDERR]         at
com.vegas.stub.SampleServiceStub.fromOM(SampleServiceStub.java:4721)
13:47:04,980 ERROR [STDERR]         ... 31 more
13:47:04,980 ERROR [STDERR] Caused by:
org.apache.axis2.databinding.ADBException: Unexpected subelement
typeId
13:47:04,980 ERROR [STDERR]         at
com.vegas.getSampleNamesResponse$Factory.parse(getSampleNamesResponse.java:603)
13:47:04,980 ERROR [STDERR]         ... 32 more

Using the Eclipse debugger, I've confirmed that this exception occurs
for the element named "typeId" whose value is "1138" -- that is, the
first occurrence the parser encounters.

Any ideas what this might mean?  I'm mystified.

Thanks,
Nate Roe

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to