Spring Web Services Framework

org.springframework.ws.client.support.interceptor
Interface ClientInterceptor

All Known Implementing Classes:
AbstractValidatingInterceptor, AbstractWsSecurityInterceptor, PayloadValidatingInterceptor, Wss4jSecurityInterceptor, XwsSecurityInterceptor

public interface ClientInterceptor

Workflow interface that allows for customized client-side message interception. Applications can register any number of existing or custom interceptors on a WebServiceTemplate, to add common pre- and postprocessing behavior without needing to modify payload handling code.

A ClientInterceptor gets called after payload creation (using WebServiceTemplate.marshalSendAndReceive(Object) or similar methods, and after callback invocation, but before the message is sent over the WebServiceConnection. This mechanism can be used for a large field of preprocessing aspects, e.g. for authorization checks, or message header checks. Its main purpose is to allow for factoring out meta-data (i.e. SoapHeader) related code.

Client interceptors are defined on a WebServiceTemplate, using the interceptors property.

Since:
1.5.0
Author:
Giovanni Cuccu, Arjen Poutsma
See Also:
WebServiceTemplate.setInterceptors(ClientInterceptor[])

Method Summary
 boolean handleFault(MessageContext messageContext)
          Processes the incoming response fault.
 boolean handleRequest(MessageContext messageContext)
          Processes the outgoing request message.
 boolean handleResponse(MessageContext messageContext)
          Processes the incoming response message.
 

Method Detail

handleRequest

boolean handleRequest(MessageContext messageContext)
                      throws WebServiceClientException
Processes the outgoing request message. Called after payload creation and callback invocation, but before the message is sent.

Parameters:
messageContext - contains the outgoing request message
Returns:
true to continue processing of the request interceptors; false to indicate blocking of the request endpoint chain
Throws:
WebServiceClientException - in case of errors
See Also:
MessageContext.getRequest()

handleResponse

boolean handleResponse(MessageContext messageContext)
                       throws WebServiceClientException
Processes the incoming response message. Called for non-fault response messages before payload handling in the WebServiceTemplate.

Parameters:
messageContext - contains the outgoing request message
Returns:
true to continue processing of the request interceptors; false to indicate blocking of the response endpoint chain
Throws:
WebServiceClientException - in case of errors
See Also:
MessageContext.getResponse()

handleFault

boolean handleFault(MessageContext messageContext)
                    throws WebServiceClientException
Processes the incoming response fault. Called for response fault messages before payload handling in the WebServiceTemplate.

Parameters:
messageContext - contains the outgoing request message
Returns:
true to continue processing of the request interceptors; false to indicate blocking of the request endpoint chain
Throws:
WebServiceClientException - in case of errors
See Also:
MessageContext.getResponse(), FaultAwareWebServiceMessage.hasFault()

Spring Web Services Framework

Copyright © 2005-2010 The Spring Web Services Framework. All Rights Reserved.