You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Mike Sco (JIRA)" <ax...@ws.apache.org> on 2004/12/17 02:29:20 UTC

[jira] Commented: (AXIS-1524) Extension and sequence order

     [ http://nagoya.apache.org/jira/browse/AXIS-1524?page=comments#action_56803 ]
     
Mike Sco commented on AXIS-1524:
--------------------------------

I also have come across this issue using Implementation-Version: 1.1 1021 June 13 2003.  While being described perfectly above, I also found another excellent description of the problem at:

http://www.mail-archive.com/axis-user@xml.apache.org/msg11643.html

I tried the helperGen option and while it did change the order of the elements it does not affect the fundamental problem of the elements of the base class not being ordered first.

I don't really understand what helperGen was doing but it is not the solution.



> Extension and sequence order
> ----------------------------
>
>          Key: AXIS-1524
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1524
>      Project: Axis
>         Type: Bug
>     Versions: 1.1, 1.2 Beta
>  Environment: Both Sun Solaris and Windows XP
>     Reporter: Timothy Barlotta

>
> I seem to have come across an inconsistency in Axis when dealing with inheritance (or I am doing something wrong - both valid possibilities).  The WSDL is alphabetically sorted and so is the SOAP return message, however the SOAP return message does not take inheritance into effect - this results in the order of the SOAP return message being incorrect.
> I wrote two java classes: one is GenericResponse.java and the other SpecificResponse.java.  SpecificResponse is a subclass of GenericResponse.  For examples sake let's say that GenericResponse.java has the following:
> public long getA()
> public long getB()
> public long getD()
> and SpecificResponse adds:
> public long getC()
> The relevant section of the wsdd for it looks like this:
> 	<service name="MyWebService" provider="java:RPC">
> 		<parameter name="allowedMethods" value="sendMail"/>
> 		<parameter name="isStatic" value="false"/>
> 		<parameter name="scope" value="request"/>
> 		<parameter name="className" value="com.webservice.MyWebService"/>
> 		<parameter name="wsdlTargetNamespace" value="http://postagestatementwizard.wws"/>
> 		<beanMapping languageSpecificType="java:com.webservice.GenericResponse" qname="ns33:GenericResponse" xmlns:ns33="http://data.webservice"/>
> 		<beanMapping languageSpecificType="java:com.webservice.SpecificResponse" qname="ns34:SpecificResponse" xmlns:ns34="data.webservice"/>
>  	</service>
> The resulting WSDL file becomes (relevant section): <complexType name="GenericResponse"> <sequence> <element name="a" type="xsd:long"/> <element name="b" type="xsd:long"/> <element name="d" type="xsd:long"/> </sequence> </complexType>
> <complexType name="SpecificResponse">
> <complexContent>
> <extension base="tns2:GenericResponse">
> <sequence>
> <element name="c" type="xsd:long"/>
> </sequence>
> </extension>
> </complexContent>
> </complexType>
> I would expect the SOAP response message to be in the order of a, b, d, c but it comes back a, b, c, d.
> The relevant SOAP message is:
> 	<a xsi:type="xsd:long">0</a>
> 	<b xsi:type="xsd:long">0</b>
>  	<c xsi:type="xsd:long">0</c>
> 	<d xsi:type="xsd:long">0</d>
> Is anyone else seeing this?  Is there a better way to accomplish this - using inheritance.  I have had this problem in 1.1 and 1.2b2.  This does not cause a problem with Axis clients but does with other toolkits clients (Sun One for example).
> I have posted this to both the user and dev mailing lists but have not heard anything back.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira