Spring Web Services Framework

org.springframework.ws.server.endpoint
Class AbstractLoggingInterceptor

java.lang.Object
  extended by org.springframework.xml.transform.TransformerObjectSupport
      extended by org.springframework.ws.server.endpoint.AbstractLoggingInterceptor
All Implemented Interfaces:
EndpointInterceptor
Direct Known Subclasses:
PayloadLoggingInterceptor, SoapEnvelopeLoggingInterceptor

public abstract class AbstractLoggingInterceptor
extends TransformerObjectSupport
implements EndpointInterceptor

Abstract base class for EndpointInterceptor instances that log a part of a WebServiceMessage. By default, both request and response messages are logged, but this behaviour can be changed using the logRequest and logResponse properties.

Since:
1.0.0
Author:
Arjen Poutsma

Field Summary
 
Fields inherited from class org.springframework.xml.transform.TransformerObjectSupport
logger
 
Constructor Summary
AbstractLoggingInterceptor()
           
 
Method Summary
protected abstract  Source getSource(WebServiceMessage message)
          Abstract template method that returns the Source for the given WebServiceMessage.
 boolean handleFault(MessageContext messageContext, Object endpoint)
          Does nothing by default.
 boolean handleRequest(MessageContext messageContext, Object endpoint)
          Logs the request message payload.
 boolean handleResponse(MessageContext messageContext, Object endpoint)
          Logs the response message payload.
protected  void logMessageSource(String logMessage, Source source)
           
 void setLogRequest(boolean logRequest)
          Indicates whether the request should be logged.
 void setLogResponse(boolean logResponse)
          Indicates whether the response should be logged.
 
Methods inherited from class org.springframework.xml.transform.TransformerObjectSupport
createTransformer, getTransformerFactory, transform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractLoggingInterceptor

public AbstractLoggingInterceptor()
Method Detail

setLogRequest

public final void setLogRequest(boolean logRequest)
Indicates whether the request should be logged. Default is true.


setLogResponse

public final void setLogResponse(boolean logResponse)
Indicates whether the response should be logged. Default is true.


handleRequest

public final boolean handleRequest(MessageContext messageContext,
                                   Object endpoint)
                            throws TransformerException
Logs the request message payload. Logging only ocurs if logRequest is set to true, which is the default.

Specified by:
handleRequest in interface EndpointInterceptor
Parameters:
messageContext - the message context
endpoint - chosen endpoint to invoke
Returns:
true
Throws:
TransformerException - when the payload cannot be transformed to a string
See Also:
MessageContext.getRequest()

handleResponse

public boolean handleResponse(MessageContext messageContext,
                              Object endpoint)
                       throws Exception
Logs the response message payload. Logging only ocurs if logResponse is set to true, which is the default.

Specified by:
handleResponse in interface EndpointInterceptor
Parameters:
messageContext - the message context
endpoint - chosen endpoint to invoke
Returns:
true
Throws:
TransformerException - when the payload cannot be transformed to a string
Exception - in case of errors
See Also:
MessageContext.getRequest(), MessageContext.hasResponse(), MessageContext.getResponse()

handleFault

public boolean handleFault(MessageContext messageContext,
                           Object endpoint)
                    throws Exception
Does nothing by default. Faults are not logged.

Specified by:
handleFault in interface EndpointInterceptor
Parameters:
messageContext - contains both request and response messages, the response should contains a Fault
endpoint - chosen endpoint to invoke
Returns:
true to continue processing of the reponse interceptor chain; false to indicate blocking of the response handler chain.
Throws:
Exception

logMessageSource

protected void logMessageSource(String logMessage,
                                Source source)
                         throws TransformerException
Throws:
TransformerException

getSource

protected abstract Source getSource(WebServiceMessage message)
Abstract template method that returns the Source for the given WebServiceMessage.

Parameters:
message - the message
Returns:
the source of the message

Spring Web Services Framework

Copyright � 2005-2008 The Spring Web Services Framework. All Rights Reserved.