Hi all,

during generation of the client-side files from a WSDL file
I spotted a problem. The following WSDL fragment (extracted
from the GetQute example) shows the problem:

... lines deleted ....
  <!-- binding declns -->
  <binding name="GetQuoteBinding" type="tns:GetQuote">
    <soap:binding style="rpc" 
                  transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getQuote">
      <soap:operation soapAction="getQuote"/>
      <input name="justName">                   ****** here is the difference ****
        <soap:body use="encoded" 
                   namespace="urn:xmltoday-delayed-quotes" 
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded" 
                   namespace="urn:xmltoday-delayed-quotes"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
  </binding>

.... lines deleted

The diference to the original GetQuote.wsdl is simple:
the input tag has a name attribute. Calling WSDL2Java without
any options produces the usual 4 files. However, the GetQuote
interface reads:

public interface GetQuote extends java.rmi.Remote {
    public float getQuote(java.lang.String symbol) throws java.rmi.RemoteException;
    public void getQuote() throws java.rmi.RemoteException;

Note the additional and wrong getQuote() definition. This also 
causes a wrong GetQuoteBindingStub that does not omplement the 
correct getQuote(float) method. 
Another interessting fact: the GetQuote WSDL file also
contains a Test method definition for notification. If this is 
left in, the error does _not_ ooccur. You have to delete the 
Test method, operation and bindings.

regards,
Werner

Werner Dittmann
Siemens ICM N PG ES AS TP 
mailto:[EMAIL PROTECTED]
Tel: +49(0)89 722 42481/+49(0)172 85 85 245

Reply via email to