axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim K (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Commented: (AXIS-1942) 1.2RC3: rpc/enc mode, encoding long[] as xsd:anyType broken from 1.2RC2
Date Wed, 27 Apr 2005 03:11:25 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1942?page=comments#action_63870 ]
     
Tim K commented on AXIS-1942:
-----------------------------

Well, the messages make it back and forth, but the long[] when sent back from the server to
the client ends up as an Object[].

Try casting the value of the NamedValue to (long[]) both on the server and on the client.
You will see that on the server it works, but on the client it doesn't because it's an Object[]
with Long objects inside instead of long[].

Also, look at the messages on the wire, at the encodings and you will see the difference:
xsd:long[] vs. xsd:anyType[]

> 1.2RC3: rpc/enc mode, encoding long[] as xsd:anyType broken from 1.2RC2
> -----------------------------------------------------------------------
>
>          Key: AXIS-1942
>          URL: http://issues.apache.org/jira/browse/AXIS-1942
>      Project: Axis
>         Type: Bug
>     Versions: 1.2RC3
>  Environment: Tried 1.2RC3 official release, and also 1.2RC3 current nightly build
>     Reporter: Tim K
>     Priority: Blocker
>  Attachments: RemoteLoginManager.wsdl
>
> NOTE: This is a regression from 1.2RC2 Things used to work correctly in RC2 but they
are broken in RC3 both the official release and the current nightly builds.
> rpc/enc mode, I have a type:
> <complexType name="NamedValue">
> <sequence>
>   <element name="name" nillable="true" type="soapenc:string" /> 
>   <element name="value" nillable="true" type="xsd:anyType" /> 
> </sequence>
> </complexType>
> When for value the *client* side of Axis sends a long[] it gets *properly* encoded as
xsd:long[], as in:
> <name xsi:type="soapenc:string">nv1</name>
> <value soapenc:arrayType="xsd:long[5]" xsi:type="soapenc:Array">
>                <item href="#id11"/>
>                <item href="#id12"/>
>                <item href="#id13"/>
>                <item href="#id14"/>
>                <item href="#id15"/>
> </value>
> The cast of the value to long[] works perfectly on the server side, the server correctly
creates a long[].
> BUT, when the *server* side of Axis sends a long[] it gets *incorrectly* encoded as xsd:anyType[],
as in:
> <name xsi:type="soapenc:string">nv1</name>
> <value soapenc:arrayType="xsd:anyType[5]" xsi:type="soapenc:Array">
>                <item href="#id6"/>
>                <item href="#id7"/>
>                <item href="#id8"/>
>                <item href="#id9"/>
>                <item href="#id10"/>
> </value>
> The client then gets an Object[] back from the server and the cast to (long[]) obviously
fails.
> Note that only the *server* side is broken.
> NOTE: This is a regression from 1.2RC2 Things used to work correctly in RC2 but they
are broken in RC3 both the official release and the current nightly builds.
> This is a blocker bug as it is a regression and the behavior is not correct and different
between the client and server code of Axis.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message