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 (Updated) (JIRA)" <ji...@apache.org> on 2011/10/19 21:01:12 UTC

[jira] [Updated] (CXF-3840) WS-Addressing and WS-RM: Nested Reference Parameters in request are not supported and become concatenated in the response to client

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

Daniel Kulp updated CXF-3840:
-----------------------------

    Fix Version/s: 2.4.4
                   2.3.8
    
> WS-Addressing and WS-RM: Nested Reference Parameters in request are not supported and become concatenated in the response to client
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-3840
>                 URL: https://issues.apache.org/jira/browse/CXF-3840
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.4.2
>         Environment: Client: Oracle Service Bus 11g R1 Patchset 3
> Server : RedHat SOA Platform 5.1.0.GA with CXF
> OS: Windows XP SP3
>            Reporter: Chris Bell
>            Assignee: jimma
>             Fix For: 2.3.8, 2.4.4
>
>
> I have created a test one way ping service on JBoss using CXF with Addressing and WS-RM. JBoss client to JBoss service works fine.
> I have then created a service client on Oracle Service Bus (OSB) to the same service.
> OSB creates reference parameters as follows:
> <wsa:ReferenceParameters xmlns:serviceidentity="http://www.bea.com/ServiceIdentity">
> <serviceidentity:ServiceIdentity xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:serviceidentity="http://www.bea.com/ServiceIdentity">
> <serviceidentity:ServerName>AdminServer</serviceidentity:ServerName>
> <serviceidentity:ServiceName>weblogic.wsee.conversation.msg.cluster.service</serviceidentity:ServiceName>
> </serviceidentity:ServiceIdentity>
> </wsa:ReferenceParameters>
> and JBoss returns (as an element in the soap header)
> <ns2:ServiceIdentity xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:ns2="http://www.bea.com/ServiceIdentity" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" wsa:IsReferenceParameter="1">AdminServerweblogic.wsee.conversation.msg.cluster.service</ns2:ServiceIdentity>
> So, I have looked at the CXF source and see that there is no provision for nested reference parameters as provided by OSB. Hence 2 child elements in the reference parameter returns a concatenated object that we see in the CXF response.
> In section 2.3 of the WS-Addressing Spec (http://www.w3.org/Submission/ws-addressing/), the second rule states that:
> Each [reference property] and [reference parameter] element becomes a header block in the SOAP message. The element information item of each [reference property] or [reference parameter] (including all of its [children], [attributes] and [in-scope namespaces]) is to be added as a header block in the new message.
> The key in here is the [children], which implies that child elements of a reference parameter are acceptable and should be processed.
> The MAPCodec.encodeReferenceParameters class.method in CXF does not appear to cater for nested reference parameter elements.
> Am I correct in my understanding and therefore, this is a bug?
> Many thanks in advance
> Chris

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira