THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
To specify the client-side configuration file, start your client using the -Dcxf.config.file=client.xml option.
CXF contributed interceptors
In CXF, all the functionality of processing messages is done via interceptors. Thus, when debugging a message flow, you will come across a bunch of interceptors in the chain. Here is a list of some of the common interceptors and the functionality they provide.
Default JAX-WS Incoming interceptor chain (Server):
- AttachmentInInterceptor Parse the mime headers for mime boundaries, finds the "root" part and resets the input stream to it, and stores the other parts in a collection of Attachments
- StaxInInterceptor Creates an XMLStreamReader from the transport InputStream on the Message
- ReadHeadersInterceptor Parses the SOAP headers and stores them on the Message
- SoapActionInInterceptor Parses "soapaction" header and looks up the operation if a unique operation can be found for that action.
- MustUnderstandInterceptor Checks the MustUnderstand headers, its applicability and process it, if required
- SOAPHandlerInterceptor SOAP Handler as per JAX-WS
- LogicalHandlerInInterceptor Logical Handler as per JAX-WS
- CheckFaultInterceptor Checks for fault, if present aborts interceptor chain and invokes fault handler chain
- URIMappingInterceptor Can handle HTTP GET, extracts operation info and sets the same in the Message
- DocLiteralnInterceptor Examines the first element in the SOAP body to determine the appropriate Operation (if soapAction did not find one) and calls the Databinding to read in the data.
- SoapHeaderInterceptor Perform databinding of the SOAP headers for headers that are mapped to parameters
- WrapperClassInInterceptor For wrapped doc/lit, the DocLiteralInInterceptor probably read in a single JAXB bean. This interceptor pulls the individual parts out of that bean to construct the Object[] needed to invoke the service.
- SwAInInterceptor For Soap w/ Attachments, finds the appropriate attachments and assigns them to the correct spot in the parameter list.
- HolderInInterceptor For OUT and IN/OUT parameters, JAX-WS needs to create Holder objects. This interceptor creates the Holders and puts them in the parameter list.
- ServiceInvokerInInterceptor Actually invokes the service.
Default Outgoing chain stack (Server):
- HolderOutInterceptor For OUT and IN/OUT params, pulls the values out of the JAX-WS Holder objects (created in HolderInInterceptor) and adds them to the param list for the out message.
- SwAOutInterceptor For OUT parts that are Soap attachments, pulls them from the list and holds them for later.
- WrapperClassOutInterceptor For doc/lit wrapped, takes the remaining parts and creates a wrapper JAXB bean to represent the whole message.
- SoapHeaderOutFilterInterceptor Removes inbound marked headers
- SoapActionOutInterceptor Sets the SOAP Action
- MessageSenderInterceptor Calls back to the Destination object to have it setup the output streams, headers, etc... to prepare the outgoing transport.
- SoapPreProtocolOutInterceptor This interceptor is responsible for setting up the SOAP version and header, so that this is available to any pre-protocol interceptors that require these to be available.
- AttachmentOutInterceptor If this service uses attachments (either SwA or if MTOM is enabled), it sets up the Attachment marshallers and the mime stuff that is needed.
- StaxOutInterceptor Creates an XMLStreamWriter from the OutputStream on the Message.
- SoapHandlerInterceptor JAX-WS SOAPHandler
- SoapOutInterceptor Writes start element for soap:envelope and complete elements for other header blocks in the message. Adds start element for soap:body too.
- LogicalHandlerOutInterceptor JAX-WS Logical handler stuff
- WrapperOutInterceptor If wrapped doc/lit and not using a wrapper bean or if RPC lit, outputs the wrapper element to the stream.
- BareOutInterceptor Uses the databinding to write the params out.
- SoapOutInterceptor$SoapOutEndingInterceptor Closes the soap:body and soap:envelope
- StaxOutInterceptor$StaxOutEndingInterceptor Flushes the stax stream.
- MessageSenderInt$MessageSenderEnding Closes the exchange, lets the transport know everything is done and should be flushed to the client.