Sometimes we want to log the request that we send to server and the response from server as well. Log4j is one of the library that can help us for this kind of requirement.
First, create class that extend BasicHandler class and implements the invoke method just like this.
package com.ariestania.client.logger; import org.apache.axis.AxisFault; import org.apache.axis.MessageContext; import org.apache.axis.handlers.BasicHandler; import org.apache.commons.logging.LogFactory; /** * @author ariestania.winda */ public class SoapLogHandler extends BasicHandler { @Override public void invoke(MessageContext mc) throws AxisFault { if (mc.getResponseMessage() != null && mc.getResponseMessage().getSOAPPartAsString() != null) { String resMsg = mc.getResponseMessage().getSOAPPartAsString(); //print response on console System.out.println("Response: \r\n" + resMsg); //print response on log file LogFactory.getLog("bohayMessage").info("Response: " + resMsg); } else if (mc.getRequestMessage() != null && mc.getRequestMessage().getSOAPPartAsString() != null) { String reqMsg = mc.getRequestMessage().getSOAPPartAsString(); //print request on console System.out.println("Request: \r\n" + reqMsg); //print request on log file LogFactory.getLog("bohayMessage").info("Request: " + reqMsg); } } }
Continue reading “How To Log SOAP Request and Response with Log4j in Axis 1.x”
Advertisements