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