You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Christian Campo <ch...@gmail.com> on 2004/07/21 15:31:23 UTC

magic use Serializers/Deserializers

Hi all,

I am playing around with a webservice to check how it can be
optimized. In the initial version it has methods that sends
- strings
- ints
- complex objects (class within class that contains strings)

I specified BeanMapping on the client and the server for the complex
objects (both)

Everything works fine when I use rpc/encoded as style. When I use
rpc/literal (which produces smaller messages) the calls with strings
and ints still work, however the methods with complex objects are
missing a serializer. Still I have defined the BeanMappingSerializer.
Why is that ??

Pretty much the same for document/literal and wrapped style. Is that
because you a serializer only works for a certain style ??

But debugging and browsing the sourcecode I found that Axis tries some
really magic methods to find the serializer.
It tries "getSerializer" on the object in the parameter lists.
In the BeanSerializer it needs a TypeDesc(riptor) that returns a list
of properties to serialize. The TypeDesc class tries "getTypeDesc" on
the object in the parameter list or <classname>_Helper to find a
custom class that contains the list of properties.

Are these documented and stable "features" of Axis or is this
experimental code ? I found some sources on the web that describe the
_Helper thing. Still not sure wether thats considered a stable feature
or not.

However I most interested if anybody knows if the BeanSerializer only
works for rpc/encoded.

BTW: I am using (and have to use) the dynamic Call object for my Axis
calls (if that makes any difference)

thanks
christian campo

-- 
christian campo (gmail.com)