<anip> So for non-bean 
serialization/deserialization I can't use Java2WSDL and WSDL2Java?
</snip>

That's my experience - Java2WSDL would tend to generate a file without most of the 
<types> section, which was a pain, but work-around-able. In my case these objects 
tended to be read-only, without a default constructor, and with getX methods but no 
corresponding setX methods.

I just added the type definitions by hand. It seems that, if your value objects are 
not beans, you know the interface better than Axis (which, to be fair, makes some 
sense).

Writing your own serializers and deserializers is not too difficult, particularly if 
you're familiar with the SAX event model. Downloading the Axis source and JavaDoc will 
give you the best pointers (e.g. look at SimpleSerializer/Deserializer and 
BeanSerializer/Deserializer). If you have any arrays in your method declarations, the 
ArraySerializer/Deserializer will do the work for you, provided you can supply an 
appropriate serializer/deserializer for the elements of that array. Just remember to 
declare all of these in server-config.wsdd/client-config.wsdd.

Hope this helps
Keith

Reply via email to