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