Indeed, Apache SOAP site says "SOAP encoding: built-in support is provided
for encoding/decoding primitive types, Strings, arbitrary JavaBeans (using
reflection) and 1-dimensional arrays of these types". So it seems as if
multidimensional arrays are not supported yet - but I must admit I did not
try it though. (One of the things to do ...) So, if things are like that you
can only try to build your own serializer i.e. bulding a hashtable from your
array and then passing it to HashtableSerializer. Arrays are usually no java
classes so you do not have to register them for serialization via a
deployment descriptor. I have always done it this way in my client code:

smr.mapTypes(     Constants.NS_URI_SOAP_ENC,
                        null,
                        args[i].getClass(),
                        arraySer,
                        arraySer);

where args[i].getClass() returns the class of the current parameter
processed and arraySer is an instance of ArraySerializer.

Danilo

-----Urspr�ngliche Nachricht-----
Von: Glen Daniels [mailto:[EMAIL PROTECTED]]
Gesendet: Mittwoch, 29. August 2001 16:24
An: '[EMAIL PROTECTED]'
Betreff: RE: AW: problem with multidimensional array in a return value



SOAP 2.2 does not, I believe, support multi-dimensional arrays, nor sparse
arrays.

--Glen

> -----Original Message-----
> From: Franck Baniere [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 29, 2001 10:13 AM
> To: [EMAIL PROTECTED]
> Subject: Re: AW: problem with multidimensional array in a return value
> 
> 
> Thanks danilo,
> 
> But, i have testing arraySerializer explicitly in
> mapType in the Deployment Descriptor file and in the
> client code but it doesn't work, it's the same error.
> Or i make a mistake in my code, could you send me a
> sample java client code and deployment descriptor
> file.
> 
> Franck
> 
>  --- "Glaessl, Danilo" <[EMAIL PROTECTED]> a
> �crit�: > Hello Franck,
> > 
> > I had a similar problem with a return value. It
> > seems as if you haven't
> > registered a proper deserializer (by invoking
> > mapTypes). I think
> > ArraySerializer should work fine.
> > 
> > Danilo
> > 
> > -----Urspr�ngliche Nachricht-----
> > Von: Franck Baniere [mailto:[EMAIL PROTECTED]]
> > Gesendet: Mittwoch, 29. August 2001 15:32
> > An: [EMAIL PROTECTED]
> > Betreff: problem with multidimensional array in a
> > return value
> > 
> > 
> > Hi all,
> > I try to get a multidimensional array of String in a
> > return value and i have the following error :
> > [SOAPException: faultCode=SOAP-ENV:Client; msg=No
> > mapping found for
> > 'http://schemas.xmlsoap.org/soap/encoding/:Array'
> > using encoding style
> > 'http://schemas.xmlsoap.org/soap/encoding/'.;
> > targetException=java.lang.IllegalArgumentException:
> > No
> > mapping found for
> > 'http://schemas.xmlsoap.org/soap/encoding/:Array'
> > using encoding 
> > 
> > When i look the result in the TCPtunnel GUI, it's
> > OK.
> > but i don't get the return value.
> > 
> > Could someone help me
> > 
> > Thanks
> > 
> >
> ___________________________________________________________
> > Do You Yahoo!? -- Un e-mail gratuit @yahoo.fr !
> > Yahoo! Courrier : http://fr.mail.yahoo.com 
> 
> ___________________________________________________________
> Do You Yahoo!? -- Un e-mail gratuit @yahoo.fr !
> Yahoo! Courrier : http://fr.mail.yahoo.com
> 

Reply via email to