Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
3.1.7, 3.1.10
-
None
-
Unknown
Description
When using WS-RM the first out-of-band message is necessary to generate a sequence identifier. CXF WS-RM implementation uses a message of the following form (and everything works):
<soap:Body> <CreateSequence xmlns="http://docs.oasis-open.org/ws-rx/wsrm/200702" xmlns:ns2="http://www.w3.org/2005/08/addressing"> <AcksTo> <ns2:Address>http://www.w3.org/2005/08/addressing/anonymous</ns2:Address> </AcksTo> <Expires>PT0S</Expires> <Offer> <Identifier>urn:uuid:d4bbc349-7844-4ed4-b35c-de4231f2e032</Identifier> <Endpoint> <ns2:Address>http://www.w3.org/2005/08/addressing/anonymous</ns2:Address> </Endpoint> <Expires>PT0S</Expires> </Offer> </CreateSequence> </soap:Body> </soap:Envelope>
If other clients are used, such as SoapUI, the message is generated slightly differently:
<soapenv:Body xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702"> <wsrm:CreateSequence> <wsrm:AcksTo xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous?id=0cbf2f7c-0e91-49b3-90d2-68219df51735</wsa:Address> </wsrm:AcksTo> </wsrm:CreateSequence> </soapenv:Body>
The issue is with the <wsa:Address> element, that is not an exact match to http://www.w3.org/2005/08/addressing/anonymous, but it contains an extra query parameter: ?id=0cbf2f7c-0e91-49b3-90d2-68219df51735.
CXF however tests for an exact match.
This is not a major issue, as there is an undocumented workaround to explicitly set the Acknowledgement to: field in the WS-RM field in SoapUI to the exact value of the ws-a anonymous url. However, given CXF's tradition of being strict with itself and lenient with other stacks, this is worth fixing.