Good Evening Dave

looking quickly at the WSDL A defined service has 1+ Binding/Port combination for each location
e.g.
<wsdl:service name="StockQuoteService">
<wsdl:port name="StockQuoteServiceSOAP11port" binding="axis2:StockQuoteServiceSOAP11Binding"> <soap:address location="http://localhost:8080/axis2/services/StockQuoteService"; />
</wsdl:port>

so looking at the example of binding of StockService which has binding="axis2:StockQuoteServiceSOAP11Binding" (as we have been shown binding StockQuoteServiceSOAP11Binding has 1 PortType called 'StockQuoteServiceSOAP11port')

PortType has input and output messages
<wsdl:portType name="StockQuoteServicePortType">
<wsdl:operation name="getPrice">

<wsdl:input message="axis2:getPriceMessage" />
<wsdl:output message="axis2:getPriceResponseMessage" />

</wsdl:operation>

The inputMessage getPriceMessage has a definition which contains one or more part names
<wsdl:message name="getPriceMessage">
<wsdl:part name="part1" element="ns:getPrice" />
</wsdl:message>

the localpart element getPrice has the message getPrice which is a complexType defined of even more elements
<xs:element name="getPrice">
<xs:complexType>
<xs:sequence>
<xs:element name="symbol" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>

Any other entities which getPrice does not need (other than symbol) is extraneous to the run characteristics of the operation and are not identified or carried by the message Are you envisioning a need to carry any other entity?..if so how should the message identify these characteristics ?

Thanks,
Martin--
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.

----- Original Message ----- From: <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, May 30, 2007 2:02 PM
Subject: Re: Re: Confused...


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

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 [EMAIL PROTECTED] at openSubscriber.com
http://www.opensubscriber.com/message/[email protected]/6553779.html

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to