More logging.

This commit is contained in:
Arjen Poutsma
2007-05-18 17:12:47 +00:00
parent 6cf8312efc
commit 0a5b45fd8d
2 changed files with 41 additions and 11 deletions

View File

@@ -16,6 +16,7 @@
package org.springframework.ws.client.core;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
@@ -270,6 +271,7 @@ public class WebServiceTemplate extends WebServiceAccessor implements WebService
if (tis != null) {
try {
messageContext.readResponse(tis);
logResponse(messageContext);
if (messageContext.hasResponse()) {
WebServiceMessage response = messageContext.getResponse();
if (!hasFault(connection, messageContext)) {
@@ -308,6 +310,14 @@ public class WebServiceTemplate extends WebServiceAccessor implements WebService
/** Sends the request in the given message context over the connection. */
private void sendRequest(WebServiceConnection connection, MessageContext messageContext) throws IOException {
if (logger.isTraceEnabled()) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
messageContext.getRequest().writeTo(os);
logger.trace("WebServiceTemplate sends request [" + os.toString("UTF-8") + "]");
}
else if (logger.isDebugEnabled()) {
logger.debug("WebServiceTemplate sends request [" + messageContext.getRequest() + "]");
}
TransportOutputStream tos = connection.getTransportOutputStream();
try {
messageContext.getRequest().writeTo(tos);
@@ -328,6 +338,22 @@ public class WebServiceTemplate extends WebServiceAccessor implements WebService
}
}
private void logResponse(MessageContext messageContext) throws IOException {
if (messageContext.hasResponse()) {
if (logger.isTraceEnabled()) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
messageContext.getResponse().writeTo(os);
logger.trace("WebServiceTemplate receives response [" + os.toString("UTF-8") + "]");
}
else if (logger.isDebugEnabled()) {
logger.debug("WebServiceTemplate receives response [" + messageContext.getRequest() + "]");
}
}
else if (logger.isDebugEnabled()) {
logger.debug("WebServiceTemplate receives no response for request [" + messageContext.getRequest() + "]");
}
}
/** Adapter to enable use of a WebServiceMessageCallback inside a WebServiceMessageExtractor. */
private static class WebServiceMessageCallbackMessageExtractor implements WebServiceMessageExtractor {

View File

@@ -132,26 +132,30 @@ public class MessageDispatcher implements WebServiceMessageReceiver, BeanNameAwa
}
public void receive(MessageContext messageContext) throws Exception {
if (logger.isDebugEnabled()) {
logger.debug("MessageDispatcher with name '" + beanName + "' received request [" +
messageContext.getRequest() + "]");
}
if (logger.isTraceEnabled()) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
messageContext.getRequest().writeTo(os);
logger.trace("Request contents: " + os.toString("UTF-8"));
logger.trace(
"MessageDispatcher with name '" + beanName + "' received request [" + os.toString("UTF-8") + "]");
}
else if (logger.isDebugEnabled()) {
logger.debug("MessageDispatcher with name '" + beanName + "' received request [" +
messageContext.getRequest() + "]");
}
dispatch(messageContext);
if (messageContext.hasResponse()) {
if (logger.isDebugEnabled()) {
if (logger.isTraceEnabled()) {
ByteArrayOutputStream requestStream = new ByteArrayOutputStream();
messageContext.getRequest().writeTo(requestStream);
ByteArrayOutputStream responseStream = new ByteArrayOutputStream();
messageContext.getResponse().writeTo(responseStream);
logger.trace("MessageDispatcher with name '" + beanName + "' sends response [" +
responseStream.toString("UTF-8") + "] for request [" + requestStream.toString("UTF-8") + "]");
}
else if (logger.isDebugEnabled()) {
logger.debug("MessageDispatcher with name '" + beanName + "' sends response [" +
messageContext.getResponse() + "] for request [" + messageContext.getRequest() + "]");
}
if (logger.isTraceEnabled()) {
ByteArrayOutputStream os = new ByteArrayOutputStream();
messageContext.getResponse().writeTo(os);
logger.trace("Response contents: " + os.toString("UTF-8"));
}
}
else if (logger.isDebugEnabled()) {
logger.debug("MessageDispatcher with name '" + beanName + "' sends no response for request [" +