You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/03/12 19:44:50 UTC

[jira] Commented: (CXF-2097) If wrapped style is used and multiple message parts are generated (because, for example, a soap header parameter is declared), the generated wsdl does not interop with RI or CXF client.

    [ https://issues.apache.org/jira/browse/CXF-2097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681439#action_12681439 ] 

Daniel Kulp commented on CXF-2097:
----------------------------------


Unfortunately, blinding changing from parameters to result doesn't allow the JWS tck to pass.   If there ISN'T any headers (aka: single part in the message), I think it needs to be parameters, otherwise result is fine.    That will require a bit more work.



> If wrapped style is used and multiple message parts are generated (because, for example, a soap header parameter is declared), the generated wsdl does not interop with RI or CXF client.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2097
>                 URL: https://issues.apache.org/jira/browse/CXF-2097
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.1.4
>            Reporter: Gyorgy Orban
>         Attachments: ReflectionServiceFactoryBean.patch
>
>
> It happens because CXF by default uses the "parameters" name for both the input and output message parts. The following web method demonstrates the issue:
>     @WebMethod(operationName = "Hello")
>     @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
>     public void hello(
>             @WebParam(targetNamespace = "myns", name = "Message") String message,
>             @WebParam(header = true, name = "myOutHeader", targetNamespace = "myns", mode = Mode.OUT) Holder<String> header1) {
>     }
> which produces:
> <wsdl:message name="Hello">
> <wsdl:part element="tns:Hello" name="parameters">
>     </wsdl:part>
> </wsdl:message>
> −
> <wsdl:message name="HelloResponse">
> <wsdl:part element="tns:HelloResponse" name="parameters">
>     </wsdl:part>
> <wsdl:part element="tns:myOutHeader" name="myOutHeader">
>     </wsdl:part>
> </wsdl:message>
> The reference implementation produces the following:
> <message name="Hello">
> <part name="parameters" element="tns:Hello"/>
> </message>
> <message name="HelloResponse">
> <part name="result" element="tns:HelloResponse"/>
> <part name="myOutHeader" element="tns:myOutHeader"/>
> </message>
> Please see the patch attached that fixes this problem in 2.1.4 and makes CXF generate the same as RI.

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