Hi Lene:

Axis knows natively how to serialize Lists, so Vectors, ArrayLists, etc. will all 
serialize to SOAP arrays right out of the box.  In looking at the Collection class, I 
see no reason we couldn't serialize an arbitrary Collection.  I had been under the 
impression that Collection was also the root of the Map hierarchy, but that doesn't 
seem to be the case, and in fact Collections appear to be simply linearly-traverseable 
sets of objects.

Committers, any objection to making this change for beta-2?

In terms of your immediate problem, I think it's because the "languageSpecificType" 
attribute has changed to just "type" to be more compatible with the JAX-RPC RI.  We 
should have a clear error message which informs you of this, however.

--Glen

> -----Original Message-----
> From: Lene Bredgaard [mailto:[EMAIL PROTECTED]]
> Sent: Monday, March 25, 2002 11:14 AM
> To: [EMAIL PROTECTED]
> Subject: Collection serializer ??
> 
> 
> Hi 
> 
> I have a method returning a Collection.
> My problem is how to specify the serialization.
> 
> In axis alpha, I found a way: I registered a Collection serializer,
> which made a vector( new Vector(Collection collection)), and then
> serialized the vector.
> On the client side I could then cast the returnvalue to a Collection.
> 
> I have problems moving this solution to Axis beta.
> Even though I can register my collection serializer via a 
> typeMapping in
> wsdd, it never really seems to come in use.
> 
> Anyone any idea what is wrong, or suggestions on other ways to solve a
> collection serialization problem??
> 
> from wsdd:
> <service name="urn:CollectionTestService" provider="Handler">
>   <typeMapping qname="ns:Collection"
> xmlns:ns="http://skyva.com/xml-soap";
>              languageSpecificType="java:java.util.Collection"
>              
> serializer="com.skyva.pi.soap.axis.CollectionSerializer"/>
>   <parameter name="methodName" value="getArray getVector getList
> getVectorCollection getListCollection getHashSet"/>
>   <parameter name="className"
> value="com.skyva.pi.soap.axis.test.CollectionTestService"/>
>   <parameter name="handlerClass"
> value="com.skyva.pi.soap.axis.SkyvaRPCProvider"/>
>  </service>
> 
> Thanks 
> Lene
> 

Reply via email to