[ 
https://issues.apache.org/jira/browse/AXIS2-4945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007347#comment-13007347
 ] 

isidro lopes commented on AXIS2-4945:
-------------------------------------

I experienced the same problem and realized that if you run WSDL2Java with the 
option "-sp", the problem disappears. This approach can be an alternative route 
until the real problem is resolved.

> Axis2 client Unexpected subelement apple
> ----------------------------------------
>
>                 Key: AXIS2-4945
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4945
>             Project: Axis2
>          Issue Type: Bug
>    Affects Versions: 1.5.4
>         Environment: Axis2 1.5.4, Java 1.6, Tomcat 6
>            Reporter: Carlos Martins
>              Labels: Axis2, Unexpected, subelement
>
> I developed both a server and client application using Axis2 version 1.5.4, 
> Java 1.6 and the server is deployed on tomcat 6. The services are declared 
> using annotations, so there is no .aar files or anything of that sort. The 
> WSDL was created automatically by Axis2. The client was made using the stubs 
> and parameters generated by WSDL2Java using the command:
> %axis2_home%\bin\WSDL2Java -p com.audaxys.leaseclient.servicestub.generic -d 
> adb -Eosv -s -g -u -uw -or -sp -S src/main/java -R src/main/resources 
> --noBuildXML -uri %baseurl%/AppleFinderService.Rpc?wsdl
> When the client app calls the method public Apple loadApple(String appType) 
> the server responds returning one instance of Apple class, but the client is 
> unable to de-serialize the response and throws this exception.
> If you know how to fix this, could you please share it with me? Any clues 
> would be greatly appreciated, really!
> Full stack trace:
> org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: 
> Unexpected subelement apple
> at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
> at 
> com.audaxys.leaseclient.servicestub.generic.AppleFinderServiceStub.fromOM(AppleFinderServiceStub.java:1015)
> at 
> com.audaxys.leaseclient.servicestub.generic.AppleFinderServiceStub.loadApple(AppleFinderServiceStub.java:343)
> at 
> com.audaxys.lease.ws.client.TestDummyServices.testLoadApple(TestDummyServices.java:107)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at 
> org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
> at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: 
> Unexpected subelement apple
> at 
> com.audaxys.www.namespaces.leasews.LoadAppleResponse$Factory.parse(LoadAppleResponse.java:454)
> at 
> com.audaxys.leaseclient.servicestub.generic.AppleFinderServiceStub.fromOM(AppleFinderServiceStub.java:981)
> ... 18 more
> Caused by: org.apache.axis2.databinding.ADBException: Unexpected subelement 
> apple
> at 
> com.audaxys.www.namespaces.leasews.LoadAppleResponse$Factory.parse(LoadAppleResponse.java:448)
> ... 19 more
> ServiceDeclaration
> package com.audaxys.lease.model.generic; import .....;
> @WebService(name="AppleFinderService", serviceName="AppleFinderService", 
> portName="Rpc", targetNamespace="http://www.audaxys.com/namespaces/leasews";) 
> @SOAPBinding(style = Style.RPC, parameterStyle = ParameterStyle.WRAPPED) 
> public class AppleFinderImpl {
> @WebResult(name = "apple")
> public Apple loadApple(String appType) {
>     Apple a = new Apple();
>     a.setAppleType(appType);
>     return a;
> }
> }
> Apple class
> package com.audaxys.lease.model.generic; 
> import javax.xml.bind.annotation.XmlRootElement; 
> @XmlRootElement(namespace="http://www.audaxys.com/namespaces/leasews";) 
> public class Apple { 
> private String appleType; 
> public Apple() { 
> super(); 
> } 
> public String getAppleType() { 
> return appleType; 
> } 
> public void setAppleType(String appleType) { 
> this.appleType = appleType; 
> } 
> } 
> WSDL
> <?xml version="1.0" encoding="UTF-8" ?> 
> - <definitions name="AppleFinderService" 
> targetNamespace="http://www.audaxys.com/namespaces/leasews"; 
> xmlns="http://schemas.xmlsoap.org/wsdl/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:tns="http://www.audaxys.com/namespaces/leasews"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:ns1="http://jaxb.dev.java.net/array";> 
> - <types> 
> - <xsd:schema> 
> <xsd:import namespace="http://www.audaxys.com/namespaces/leasews"; 
> schemaLocation="AppleFinderService.Rpc?xsd=AppleFinderService_schema1.xsd" /> 
> </xsd:schema> 
> - <xsd:schema> 
> <xsd:import namespace="http://jaxb.dev.java.net/array"; 
> schemaLocation="AppleFinderService.Rpc?xsd=AppleFinderService_schema2.xsd" /> 
> </xsd:schema> 
> </types> 
> - <message name="loadAppleResponse"> 
> <part name="apple" type="tns:apple" /> 
> </message> 
> - <message name="getAppleArray"> 
> <part name="arg0" type="xsd:string" /> 
> </message> 
> - <message name="loadApple"> 
> <part name="arg0" type="xsd:string" /> 
> </message> 
> - <portType name="AppleFinderService"> 
> - <operation name="getAppleArray"> 
> <input message="tns:getAppleArray" /> 
> <output message="tns:getAppleArrayResponse" /> 
> </operation> 
> - <operation name="loadApple"> 
> <input message="tns:loadApple" /> 
> <output message="tns:loadAppleResponse" /> 
> </operation> 
> </portType> 
> - <binding name="RpcBinding" type="tns:AppleFinderService"> 
> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"; /> 
> - <operation name="getAppleArray"> 
> <soap:operation soapAction="" /> 
> - <input> 
> <soap:body use="literal" 
> namespace="http://www.audaxys.com/namespaces/leasews"; /> 
> </input> 
> - <output> 
> <soap:body use="literal" 
> namespace="http://www.audaxys.com/namespaces/leasews"; /> 
> </output> 
> </operation> 
> - <operation name="loadApple"> 
> <soap:operation soapAction="" /> 
> - <input> 
> <soap:body use="literal" 
> namespace="http://www.audaxys.com/namespaces/leasews"; /> 
> </input> 
> - <output> 
> <soap:body use="literal" 
> namespace="http://www.audaxys.com/namespaces/leasews"; /> 
> </output> 
> </operation> 
> </binding> 
> - <service name="AppleFinderService"> 
> - <port name="Rpc" binding="tns:RpcBinding"> 
> <soap:address 
> location="http://10.10.5.25:8080/lease.services/soap/services/AppleFinderService.Rpc/";
>  /> 
> </port> 
> </service> 
> </definitions> 
> XSD
> - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
> xmlns:tns="http://www.audaxys.com/namespaces/leasews"; 
> attributeFormDefault="unqualified" elementFormDefault="unqualified" 
> targetNamespace="http://www.audaxys.com/namespaces/leasews";> 
> <xs:element name="apple" type="tns:apple" /> 
> - <xs:complexType name="apple"> 
> - <xs:sequence> 
> <xs:element minOccurs="0" name="appleType" type="xs:string" /> 
> </xs:sequence> 
> </xs:complexType> 
> - <xs:complexType final="#all" name="appleArray"> 
> - <xs:sequence> 
> <xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" 
> type="tns:apple" /> 
> </xs:sequence> 
> </xs:complexType> 
> </xs:schema> 
> Request
> <?xml version='1.0' encoding='UTF-8'?> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";> 
> <soapenv:Body> 
> <loadApple xmlns="http://www.audaxys.com/namespaces/leasews";> 
> <arg0>Red</arg0> 
> </loadApple> 
> </soapenv:Body> 
> </soapenv:Envelope> 
> Responsse
> <?xml version="1.0" encoding="UTF-8"?> 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
> <soapenv:Body>
> <rpcOp:loadAppleResponse 
> xmlns:rpcOp="http://www.audaxys.com/namespaces/leasews";>
> <rpcOp:apple xmlns:ns3="http://com.audaxys.lease/"; xmlns="">
> <appleType>Red</appleType>
> </rpcOp:apple>
> </rpcOp:loadAppleResponse>
> </soapenv:Body>
> </soapenv:Envelope>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to