You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Anne Thomas Manes <at...@gmail.com> on 2005/03/01 00:56:28 UTC

Re: Same signature operations in WSDL

Assuming you are using RPC style, then these two operations do have
unique SOAP signatures, and therefore it is legitimate. In SOAP, the
signature of the message is defined by the QName of the child element
of the SOAP body. Since you have two different operation names, then
the signatures of these operations are intf:op1 and intf:op2.

The problem is that the Axis client runtime can't distinguish these
signatures in Java unless you use different objects in your
application. Hence Axis always interprets your invocation as op1.

Anne


On Mon, 28 Feb 2005 15:38:05 -0500, Timour Mouratov <mt...@gmail.com> wrote:
> I have a simple question but  I couldn't find an answer on w3.org.
> 
> Can I define  an operations  in WSDL  with same name and identical
> signatures. like this:
> 
> <message name="req">
>         <part name="str"     type="xs:string"/>
> </message>
> <message name="empty"/>
> 
> <portType name="Test">
>       <operation name="op1">
>          <input  name="request"     message="tns:req"/>
>          <output name="response"    message="tns:empty"/>
>       </operation>
>       <operation name="op2">
>          <input  name="request"     message="tns:req"/>
>          <output name="response"    message="tns:empty"/>
>       </operation>
> </portType>
> 
> When I generate the stubs and deploy the service , axis  always calls
> op1 never op2. Is it legitimate from WSDL  specification point of
> view?
> 
> Best regards,
> Timour
>