[ 
https://issues.apache.org/jira/browse/AXIS2-5341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ami Bender updated AXIS2-5341:
------------------------------

    Description: 
when receiving a response message for the following WSDL, I get a 
"org.apache.axis2.databinding.ADBException: Unexpected subelement XXXX". This 
appears to be caused by a recursive call within a extension


2012-06-13 16:10:38,728 ERROR org.apache.axis2.AxisFault: 
org.apache.axis2.databinding.ADBException: Unexpected subelement notes
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at 
uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.fromOM(RecursiveTestServiceStub.java:4188)
    at 
uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.retrieveValues(RecursiveTestServiceStub.java:190)




  was:
when receiving a response message for the following WSDL, I get a 
"org.apache.axis2.databinding.ADBException: Unexpected subelement XXXX". This 
appears to be caused by a recursive call within a extension


2012-06-13 16:10:38,728 ERROR org.apache.axis2.AxisFault: 
org.apache.axis2.databinding.ADBException: Unexpected subelement notes
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
    at 
uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.fromOM(RecursiveTestServiceStub.java:4188)
    at 
uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.retrieveValues(RecursiveTestServiceStub.java:190)


WSDL
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";   
xmlns:tns="http://test.co.uk/temp/recursivetest/all/all/service"; 
name="RecursiveTestService" 
targetNamespace="http://test.co.uk/temp/recursivetest/all/all/service"; 
xmlns:iagins="http://test.co.uk/temp/test/all/all";>
        <types>
                <xsd:schema 
targetNamespace="http://test.co.uk/temp/recursivetest/all/all/service";>
                        <xsd:import 
namespace="http://test.co.uk/temp/test/all/all"; schemaLocation="./test.xsd"/>
                        <!-- TYPES REQUIRED FOR PARAMETERS -->
                        <xsd:complexType name="RequestBody">
                                <xsd:sequence>
                                        <xsd:element name="id" 
type="xsd:string" minOccurs="0" maxOccurs="1"/>
                                </xsd:sequence>
                        </xsd:complexType>

                        <xsd:complexType name="ResponseBody">
                                <xsd:sequence>
                                        <xsd:element name="responseValue" 
type="iagins:ResponseBodyContent"/>
                                </xsd:sequence>
                        </xsd:complexType>

                        <xsd:element name="Request" type="tns:RequestBody"/>
                        <xsd:element name="Response" type="tns:ResponseBody"/>
                        <!-- end of TYPES REQUIRED FOR PARAMETERS -->
                </xsd:schema>
        </types>
        <!-- SERVICE BLOCKS -->
        <message name="RetrieveRequest">
                <part name="parameters" element="tns:Request"/>
        </message>
        <message name="RetrieveResponse">
                <part name="parameters" element="tns:Response"/>
        </message>
        <!-- end of MESSAGE BLOCKS -->
        <!-- PORT TYPES -->
        <portType name="RecursiveTestServicePort">
                <operation name="retrieveValues">
                        <input message="tns:RetrieveRequest"/>
                        <output message="tns:RetrieveResponse"/>
                </operation>
        </portType>
        <!-- end of PORT TYPES -->
        <!-- BINDINGS -->
        <binding name="RecursiveTestServiceBinding" 
type="tns:RecursiveTestServicePort">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
                <operation name="retrieveValues">
                        <soap:operation soapAction=""/>
                        <input>
                                <soap:body use="literal"/>
                        </input>
                        <output>
                                <soap:body use="literal"/>
                        </output>
                </operation>
        </binding>
        <!-- end of BINDINGS -->
        <!-- Service -->
        <service name="RecursiveTestService">
                <port name="RecursiveTestServicePort" 
binding="tns:RecursiveTestServiceBinding">
                        <soap:address 
location="http://localhost:14001/temp/recursivetest/all/all/service"/>
                </port>
        </service>
</definitions>


test.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:tns="http://test.co.uk/temp/test/all/all"; 
targetNamespace="http://test.co.uk/temp/test/all/all";>
        <xsd:complexType name="ResponseBodyContent">
                <xsd:complexContent>
                        <xsd:extension base="tns:AbstratObject">
                                <xsd:sequence>
                                        <xsd:element name="responseValue" 
type="xsd:string"/>
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>

        <xsd:complexType name="AbstratObject">
                <xsd:sequence>
                        <xsd:element name="notes" type="tns:Note" minOccurs="0" 
maxOccurs="unbounded"/>
                </xsd:sequence> 
        </xsd:complexType>

        <xsd:complexType name="Note">
                <xsd:complexContent>
                        <xsd:extension base="tns:AbstratObject">
                                <xsd:sequence>
                                        <xsd:element name="temp" 
type="xsd:string" minOccurs="0" maxOccurs="1"/>
                                </xsd:sequence>
                        </xsd:extension>
                </xsd:complexContent>
        </xsd:complexType>
</xsd:schema>


Response message
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:ser="http://test.co.uk/temp/recursivetest/all/all/service";>
   <soapenv:Header/>
   <soapenv:Body>
      <ser:Response>
         <responseValue>
            <notes>
               <notes>
                  <notes>
                     <notes/>
                     <temp>Recursive3</temp>
                  </notes>
                  <temp>Recursive2</temp>
               </notes>
               <temp>Recursive1</temp>
            </notes>
            <temp>1234</temp>
            <responseValue>?</responseValue>
         </responseValue>
      </ser:Response>
   </soapenv:Body>
</soapenv:Envelope>

    
> Recursion within a extension causes an ADBException: Unexpected subelement 
> XXXX
> -------------------------------------------------------------------------------
>
>                 Key: AXIS2-5341
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5341
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.6.2
>         Environment: JBoss 4.3.2, Ubuntu 11.10
>            Reporter: Ami Bender
>         Attachments: RescursiveTestWSDL.wsdl, RescursiveTestWSDL.wsdl, 
> ResponseMessage.txt, test.xsd
>
>
> when receiving a response message for the following WSDL, I get a 
> "org.apache.axis2.databinding.ADBException: Unexpected subelement XXXX". This 
> appears to be caused by a recursive call within a extension
> 2012-06-13 16:10:38,728 ERROR org.apache.axis2.AxisFault: 
> org.apache.axis2.databinding.ADBException: Unexpected subelement notes
>     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>     at 
> uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.fromOM(RecursiveTestServiceStub.java:4188)
>     at 
> uk.co.test.temp.recursivetest.all.all.service.RecursiveTestServiceStub.retrieveValues(RecursiveTestServiceStub.java:190)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to