axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Cassidy <markecass...@yahoo.com>
Subject RE: serializing 2D arrays
Date Wed, 25 Aug 2004 20:15:39 GMT
Thanks William.  I tried your suggestion about just sending it as 1D but the
server code rejected it.

I'll spend a little time looking at custom serialization.  And the server side
guys are trying to see if they can handle an array of arrays.

- Mark


--- "Zwicky, William R ERDC-CERL-IL Contractor" <William.R.Zwicky@us.army.mil>
wrote:

> 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