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 "Jongjin Choi (JIRA)" <ax...@ws.apache.org> on 2004/10/28 19:19:35 UTC

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

     [ http://issues.apache.org/jira/browse/AXIS-1524?page=comments#action_54753 ]
     
Jongjin Choi commented on AXIS-1524:
------------------------------------

Can you try this?

1. Run wsdl2java on the wsdl with appropriate namespace and package mapping and --helperGen option.

2. Then deploy the generated helper classes along with the orignal classes. 

I got the correct-ordered SOAP message this way.



> Extension and sequence order
> ----------------------------
>
>          Key: AXIS-1524
>          URL: http://issues.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://issues.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