Webservice的数据通信,一旦出问题,就需要针对报文的交互进行跟踪调查,很多情况下是数据问题,而如果在交互期间,不对报文进行拦截并记录日志,后期出了问题就很难进行追踪,找出问题所在,本文主要记录一下axis1.4中对进出报文进行拦截并记录入库,以便后期系统维护。
拦截类
对axis1.4的报文拦截主要继承org.apache.axis.handlers.BasicHandler类。
public class AxisLogHandle extends BasicHandler {
@Override
public void invoke(MessageContext message) throws AxisFault {
saveWs(message);
}
@Override
public void onFault(MessageContext message) {
saveWs(message);
}
private void saveWs(MessageContext message) {
try {
//报文体 Log.info(StringEscapeUtils.unescapeHtml(message.getRequestMessage().getSOAPPartAsString()));