axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David L. Cole" <>
Subject Java2WSDL
Date Mon, 01 Apr 2002 17:53:06 GMT

Hi Axis Dev team,

The team I am involved with is aggressively trying to implement SOAP using
Axis for our project
as a primary means of data transport across the wire.
We have made great progress in this area and are greatly appreciative of
your efforts.

At this point, there is one remaining issue which is holding us up from
using Axis in production.
Here it is:

Let's say I have an EJB and wish to create a WSDL using Java2WSDL.
If in the EJB (actually could be an RPC class as well) I have a single
method which takes no arguments and returns an Interface for example:

public Person getCurrentUser()
     return currentUser; //User is a Class which implement the interface

Here Person is an Interface and User is the concrete class which implements
the Interface Person
When Java2WSDL generates the WSDL, a complex type will be created for the
Person interface but not
the concrete class User.

Coincidentally, this also occurs in a method which returns an ArrayList
containing a list of complex type(s) but which have not been specified
in a different method as a parameter or return type

The  problem exists that since the User is not added as a complex type to
the generated WSDL, no serializer/deserializer will be set
for the class User (even if a TypeMapping exists within the WSDD), and an
exception will be thrown when a SOAP request
 is made, which ultimately tries to serialize the User object.

Furthermore, when using the WSDL2Java utility, the stubs will not see the
User as a complex type and the result will be that the stubs will not
register a serializer/deserializer for the User complex type.

Is there currently a way to force the WSDL to generate complex type
declarations based on some property file or some other mechanism,
which represents a list of types that require complex type declarations in
the WSDL?
If not is is possible to add this functionality?

This has turned out to be a show stopper for us and any help would be
greatly appreciated.

Thanks for your attention and reply,
David Cole

View raw message