axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zwicky, William R ERDC-CERL-IL Contractor" <William.R.Zwi...@us.army.mil>
Subject RE: serializing 2D arrays
Date Fri, 20 Aug 2004 16:28:22 GMT
I haven't done any type mangling myself, but the body of example 2 is a
one-dimensional array.  To send that, copy your data into an anytype[6]
array.  Unfortunately, I suspect the type attribute will change to
'soapenc:arrayType="xsd:anyType[6]"'.  I don't know what to do about that;
your server might not care, or maybe you can fake it by telling Axis what
string to put there.

-Bill

// William R. Zwicky
// USA-CERL  (217) 352-6511 x7405
// Champaign, IL

 

> -----Original Message-----
> From: Mark Cassidy [mailto:markecassidy@yahoo.com] 
> Sent: Thursday, August 19, 2004 3:29 PM
> To: axis-user@ws.apache.org
> Subject: serializing 2D arrays
> 
> We're using Axis 1.1 for our JAX-RPC client to a set of 
> webservices.  We're getting back 2D arrays fine from the 
> service, but sending a 2D array is having problems over on 
> the web service side.
> 
> The WSDL only says that the message part that is the 2D array 
> is xsd:anyType -- and they're not going to change it.  
> 
> Here is an example of how our client is serializing the 2D 
> array going out from Axis -
> 
>    <avarLineItem 
>    		xsi:type="soapenc:Array" 
>    		soapenc:arrayType="xsd:anyType[][2]" 
>    		
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
>    <item xsi:type="soapenc:Array" soapenc:arrayType="xsd:anyType[3]">
>      <item xsi:type="xsd:string">1</item>
>      <item xsi:type="xsd:string">2</item>
>      <item xsi:type="xsd:string">3</item>
>    </item>
>    <item xsi:type="soapenc:Array" soapenc:arrayType="xsd:anyType[3]">
>      <item xsi:type="xsd:string">4</item>
>      <item xsi:type="xsd:string">5</item>
>      <item xsi:type="xsd:string">6</item>
>     </item>
>    </avarLineItem>
> 
> 
> But the webservice is looking for something like this  -
> 
> 
>     <avarLineItem 
>    		xsi:type="soapenc:Array" 
>    		soapenc:arrayType="xsd:anyType[2][3]" 
>    		
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
>      <item xsi:type="xsd:string">1</item>
>      <item xsi:type="xsd:string">2</item>
>      <item xsi:type="xsd:string">3</item>
>      <item xsi:type="xsd:string">4</item>
>      <item xsi:type="xsd:string">5</item>
>      <item xsi:type="xsd:string">6</item>
>    </avarLineItem>
> 
> I have tried creating it in Java as Object[][], Object[] with 
> ArrayLists inside it, but can't get the object such that Axis 
> serializes it as in example two.  I understand that because 
> 2D arrays in Java can be ragged, this may not be the natural 
> way they get represented with Axis' serialization.  But can 
> anyone provide advice of how to do get it serialized as in 
> example 2?  Do I have to write a custom serializer to do this?
> 
> Thanks for any help,
> - Mark
> 
> 

Mime
View raw message