WS-Reliable Messaging
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.
For compatibility with older versions of CXF, the default is to use the February 2005 submission version of RM with the submission version of WS-Addressing. On the client side, you can CXF for whichever version of WS-ReliableMessaging you want to use (see Reliable Messaging Configuration Guide). On the provider side, CXF adapts to whichever version of WS-ReliableMessaging is used by the client and responds appropriately.
the Web Services Reliable Messaging Protocol (WS-ReliableMessaging) specification. Like most other features in CXF, it is interceptor based.
The WS-Reliable Messaging implementation consists of 4 6 interceptors in total:
Interceptor | Task |
---|---|
org.apache.cxf.ws.rm.RMOutInterceptor | Responsible for sending CreateSequence requests and waiting for their CreateSequenceResponse responses, and and aggregating the sequence properties (id and message number) for an application message. |
org.apache.cxf.ws.rm.RMInInterceptor | Intercepting and processing RM protocol messages (these will not the application level), as well as SequenceAcknowledgments piggybacked on application messages. |
org.apache.cxf.ws.rm.RMCaptureInInterceptor | Caching messages for later retransmission. |
org.apache.cxf.ws.rm.RMDeliveryInterceptor | Assuring InOrder delivery of messages to the application. |
org.apache.cxf.ws.rm.soap.RMSoapInterceptor | Encoding and decoding the RM headers |
org.apache.cxf.ws.rm.soap.RetransmissionInterceptor | Responsible for creating copies of application messages for future resends. |
...