cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Ambigues Webmethods?
Date Tue, 23 Sep 2008 18:43:31 GMT

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 harry@raceeend-2.demon.nl 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
dkulp@apache.org
http://www.dankulp.com/blog

Mime
View raw message