axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Re: Confused...
Date Wed, 30 May 2007 18:02:18 GMT
I have recently used Axis2 1.2 wsdl2java to process some Dotnet specific WSDL to produce the
necessary service classes to demonstrate polymorphism.

For example, in that WSDL, there is a base class (BaseRetObject), and a sub class (SubRetObject)
which extends BaseRetObject.

<s:complexType name="BaseRetObject">
    <s:element minOccurs="0" maxOccurs="1" name="baseRetStr" type="s:string" />
    <s:element minOccurs="1" maxOccurs="1" name="baseRetInt" type="s:int" />
<s:complexType name="SubRetObject">
  <s:complexContent mixed="false">
    <s:extension base="tns:BaseRetObject">
        <s:element minOccurs="0" maxOccurs="1" name="subRetStr" type="s:string" />

There is a webmethod which simply returns the BaseRetObject. The (Java) service code creates
a SubRetObject and returns it as a BaseRetObject. The (DotNet) client receives the BaseRetObject,
checks to see its type (using C# "is" operator) and successfully casts it. TcpTrace shows
that the return object is serialized as a SubRetObject so that all data is included.

The real problem that I am running into is that wsdl2java will not produce the necessary objects
for SubRetObject unless it is used in a webmethod interface. Simply adding the SubRetObject
definition to the WSDL does not influence wsdl2java to produce the associated classes. I had
to add a webmethod stub that contained references to the subclass (SubRetObject) before wsdl2java
was able to produce the correct service objects. Is there someway to generate objects for
classes not included in a webmethod interface? I ran into the same problem in DotNet.

 thanks, Dave

This message was sent on behalf of at

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message