[ 
https://issues.apache.org/jira/browse/CXF-939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

maomaode resolved CXF-939.
--------------------------

    Resolution: Fixed

> wsdl defining two different operations on the same port using the same 
> messages lead to wsdl2java producing wrong code instead of an error message
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-939
>                 URL: https://issues.apache.org/jira/browse/CXF-939
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling
>    Affects Versions: 2.0
>            Reporter: Christian Pfeifhofer
>            Assignee: maomaode
>         Attachments: bug.wsdl
>
>
> A WSDL defining two operations on the same port with different names but 
> using the same message names for request and response lead to wrong code 
> instead of an error message. wsdl2java produces a port interface class with 
> both operations, but with wrong runtime behavior. The request of a client 
> invoking the second operation will be routed to the implementation of the 
> first operation at the service provider site.
> This is the code generated:
> @WebService(targetNamespace = "http://bugs.cxf/services/bug1";, name = 
> "myBug1Port")
> public interface MyBug1Port {
>     @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
>     @WebResult(targetNamespace = "http://bugs.cxf/services/bug1";, partName = 
> "parameters", name = "myBug1Response")
>     @WebMethod
>     public cxf.bugs.services.bug1.ResponseDataType myBug2(
>         @WebParam(targetNamespace = "http://bugs.cxf/services/bug1";, partName 
> = "parameters", name = "myBug1")
>         cxf.bugs.services.bug1.RequestDataType parameters
>     );
>     @ResponseWrapper(targetNamespace = "http://bugs.cxf/services/bug1";, 
> className = "cxf.bugs.services.bug1.ResponseDataType", localName = 
> "myBug1Response")
>     @RequestWrapper(targetNamespace = "http://bugs.cxf/services/bug1";, 
> className = "cxf.bugs.services.bug1.RequestDataType", localName = "myBug1")
>     @WebResult(targetNamespace = "http://bugs.cxf/services/bug1";, name = 
> "myOutputString")
>     @WebMethod
>     public java.lang.String myBug1(
>         @WebParam(targetNamespace = "http://bugs.cxf/services/bug1";, name = 
> "myInputString")
>         java.lang.String myInputString
>     );
> }
> The jaxws ri produces an error message instead, as two operations with equal 
> message names are illegal at the same port:
> Non unique body parts! In a port, operations must have unique operation 
> signaure on the wire for successful dispatch. In port myBug1, Operations 
> "myBug2" and "myBug1" have the same request body block 
> {http://bugs.cxf/services/bug1}myBug1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to