Yea, this won't work.   There is nothing on the wire to indicate which method 
to call.    Basically, the soap:body is empty so we pretty much just grab one 
of the methods that will work for that.  

Technically, this wsdl is not WSI-BP compliant at all and the tools should 
probably flag it.   The request messages need to have a part that points to a 
unique element.  Example:
<element name="CustomerRequest">
   <complexType>
      <sequence/>
   </complexType>
</element>

<message name="CustomerRequest">
    <part name="parameters" element="tns:CustomerRequest"/>
</message>


Dan



On Tuesday 23 September 2008 2:25:59 pm [EMAIL PROTECTED] wrote:
> Hi,
>
> I have 3 operations A, B, C, with an empty parameterlist.
> Whichever Webmethod I call, at the serverside always the same webmethod is
> called. How can I solve this?
>
> Here are parts of my WSDL from which I generate my classes:
>
>
>               <element name="ArrayOfCustomers">
>                 <complexType>
>                   <sequence>
>                     <element name="Customer" minOccurs="0" 
> maxOccurs="unbounded"
> type="tns:Customer"/> </sequence>
>                 </complexType>
>               </element>
>
>               <complexType name="Customer">
>                       <sequence>
>                               <element name="name" type="string"/>
>                               <element name="street" type="string"/>
>                               <element name="city" type="string"/>
>                       </sequence>
>               </complexType>
>
>               <element name="ShopException" type="xsd:string"/>
>
>               /schema>
>       </types>
>
>       <message name="CustomerRequest"/>
>       <message name="CustomerResponse">
>               <part name="result" element="tns:ArrayOfCustomers"/>
>       </message>
>
>       <message name="HandlerRequest"/>
>       <message name="HandlerResponse">
>               <part name="result" element="tns:ArrayOfHandlers"/>
>       </message>
>
>       <message name="ShopException">
>               <part name="ShopException" element="tns:ShopException"/>
>       </message>
>
>
>       <portType name="RequestPortType">
>               <operation name="getCustomers">
>                       <input message="tns:CustomerRequest"/>
>                       <output message="tns:CustomerResponse"/>
>                       <fault name="ShopException" 
> message="tns:ShopException"/>
>               </operation>
>               <operation name="getHandlers">
>                       <input message="tns:HandlerRequest"/>
>                       <output message="tns:HandlerResponse"/>
>                       <fault name="ShopException" 
> message="tns:ShopException"/>
>               </operation>
>
> the WSDL is literal/document one.



-- 
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to