axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ami Bender (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5341) Recursion within a extension causes an ADBException: Unexpected subelement XXXX
Date Wed, 13 Jun 2012 16:21:42 GMT
Ami Bender created AXIS2-5341:
---------------------------------

             Summary: 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


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>

--
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message