Chapter 62. Apache CXF Message Processing Phases
Chapter 62. Apache CXF Message Processing Phases Inbound phases Table 62.1, "Inbound message processing phases" lists the phases available in inbound interceptor chains. Table 62.1. Inbound message processing phases Phase Description RECEIVE Performs transport specific processing, such as determining MIME boundaries for binary attachments. PRE_STREAM Processes the raw data stream received by the transport. USER_STREAM POST_STREAM READ Determines if a request is a SOAP or XML message and builds adds the proper interceptors. SOAP message headers are also processed in this phase. PRE_PROTOCOL Performs protocol level processing. This includes processing of WS-* headers and processing of the SOAP message properties. USER_PROTOCOL POST_PROTOCOL UNMARSHAL Unmarshals the message data into the objects used by the application level code. PRE_LOGICAL Processes the unmarshalled message data. USER_LOGICAL POST_LOGICAL PRE_INVOKE INVOKE Passes the message to the application code. On the server side, the service implementation is invoked in this phase. On the client side, the response is handed back to the application. POST_INVOKE Invokes the outbound interceptor chain. Outbound phases Table 62.2, "Inbound message processing phases" lists the phases available in inbound interceptor chains. Table 62.2. Inbound message processing phases Phase Description SETUP Performs any set up that is required by later phases in the chain. PRE_LOGICAL Performs processing on the unmarshalled data passed from the application level. USER_LOGICAL POST_LOGICAL PREPARE_SEND Opens the connection for writing the message on the wire. PRE_STREAM Performs processing required to prepare the message for entry into a data stream. PRE_PROTOCOL Begins processing protocol specific information. WRITE Writes the protocol message. PRE_MARSHAL Marshals the message. MARSHAL POST_MARSHAL USER_PROTOCOL Process the protocol message. POST_PROTOCOL USER_STREAM Process the byte-level message. POST_STREAM SEND Sends the message and closes the transport stream. Important Outbound interceptor chains have a mirror set of ending phases whose names are appended with _ENDING . The ending phases are used interceptors that require some terminal action to occur before data is written on the wire.