axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Hatton" <>
Subject RE: Non-Bean Object Serialization
Date Thu, 22 Jan 2004 14:03:20 GMT
Is there a good reference you can point me to for hand-creation of WSDL 
and WSDD that would include use of non-bean objects?  I think that lack 
of knowledge is part of my stumbling.

My knowledge is based mainly on "Building Web Services with Java" by Steve Graham et al, published
by SAMS. There is quite a good chapter on WSDL, and a good overview of the Axis architecture,
though some specifics may be dated by now (it was released before Axis 1.0).

Other suggestions are to take a look at the WSDL generated by Axis for some of its samples
or to use a WSDL editor - some are listed on the Axis Wiki/FAQ pages. Basically you need to
generate XML schema descriptions for your objects that are not Java Beans. In essence this
will probably boil down to
<complexType name="...>
  <element name="..." type="..."/>
with an <element> for each member variable of the object that needs to be serialized
(IIRC WSDL2Java works fine if your object follows the JavaBean get/set convention, so you
may want to start by assuming that you need an <element> for every getXXX method).

The WSDD files need something like this:
        <typeMapping xmlns:ns="http://namespace" qname="ns:class"

By convention the namespace is the reverse of the Java package name.
In server-config.wsdd this goes under each <service>.
In client-config.wsdd you just need one entry per type.
Just replace the serializer/deserializer factory names with your own.

The best source for writing your own serializer/deserializer is probably the Axis source code
and JavaDoc.

Hope this helps

View raw message