...
CXF supports both the official 1.1/1.2 Web Services Reliable Messaging (WS-ReliableMessaging) protocol using the http://docs.oasis-open.org/ws-rx/wsrm/200702 namespace and the outdated February 2005 submission version using the http://schemas.xmlsoap.org/ws/2005/02/rm/ namespace.
The submission version specified an outdated version of WS-Addressing, using the http://schemas.xmlsoap.org/ws/2004/08/addressing namespace, which has since been replaced by the official http://www.w3.org/2005/08/addressing
namespace. Most other web services implementations supporting the submission version of WS-ReliableMessaging have deviated from the specification by moving to the official WS-Addressing release with the http://www.w3.org/2005/08/addressing namespace. CXF supports the submission version of RM with either WS-Addressing namespace.
...
You can still control sequence demarcation and other aspects of the reliable exchange through configuration however. For example, while CXF by default attempts to maximize the lifetime of a sequence, thus reducing the overhead incurred by the RM protocol messages, you can enforce the use of a separate sequence per application message by configuring the RM source's sequence termination policy (setting the maximum sequence length to 1). See the Reliable Messaging Configuration Guide for more details on configuring this and other aspects of the reliable exchange.
Runtime control
Several message context property values can be set in client code to control the RM operation at runtime, with key values defined by public constants in org.apache.cxf.ws.rm.RMManager:
Key | Value |
---|---|
WSRM_VERSION_PROPERTY | String WS-RM version namespace ( http://schemas.xmlsoap.org/ws/2005/02/rm/![]() or http://docs.oasis-open.org/ws-rx/wsrm/200702![]() ) |
WSRM_WSA_VERSION_PROPERTY | String WS-Addressing version namespace ( http://schemas.xmlsoap.org/ws/2004/08/addressing![]() or http://www.w3.org/2005/08/addressing![]() ) - this property is ignored unless you're using the http://schemas.xmlsoap.org/ws/2005/02/rm/![]() RM namespace) |
WSRM_LAST_MESSAGE_PROPERTY | Boolean value TRUE to tell the RM code that the last message is being sent, allowing the code to close the RM sequence and release resources (as of the 3.0.0 version of CXF the RM code will by default close the RM sequence when you close your client; earlier versions of CXF did not close the sequence unless told to using this flag, or if configured with a source policy <wsrm-mgr:sequenceTerminationPolicy terminateOnShutdown="true"/>) |
WSRM_INACTIVITY_TIMEOUT_PROPERTY | Long inactivity timeout in milliseconds |
WSRM_RETRANSMISSION_INTERVAL_PROPERTY | Long base retransmission interval in milliseconds |
WSRM_EXPONENTIAL_BACKOFF_PROPERTY | Boolean exponential backoff flag |
WSRM_ACKNOWLEDGEMENT_INTERVAL_PROPERTY | Long acknowledgement interval in milliseconds |
You can also monitor and control many aspects of RM using the JMX+Management features of CXF.