我正在使用axis2 web-service客户端,我想捕获请求和响应原始xml。我创建了一个LogHandler来读取响应原始xml,但我不知道如何在axis2 webservice中配置这个LogHandler文件。你能帮我解决一下如何配置这个LogHandler,或者告诉我是否有办法获取请求和响应xml。
import org.apache.axis2.AxisFault;`enter code here`
import org.apache.axis2.context.MessageContext;`enter code here`
import org.apache.axis2.engine.Handler;`enter code here`
import org.apache.axis2.handlers.AbstractHandler;`enter code here`
import org.apache.axis2.description.AxisService;`enter code here`
import org.apache.log4j.Logger;`enter code here`
public class LogHandler extends AbstractHandler implements Handler {
private static Logger logger = Logger.getLogger(LogHandler.class);
private String name;
public LogHandler() {
System.out.println(" & from LogHandler &&& constructor :");
}
public String getName() {
System.out
.println("LogHandler.getName() LogHandlerLogHandlerLogHandlerLogHandlerLogHandler");
return name;
}
public InvocationResponse invoke(MessageContext msgContext)
throws AxisFault {
logger.info("***" + msgContext.getEnvelope().toString());
System.out.println("LogHandler.invoke()"
+ msgContext.getEnvelope().toString());
AxisService axService = msgContext.getAxisService();
logger.info("*Service******" + axService.toString());
System.out.println("*axService******" + axService.toString());
return InvocationResponse.CONTINUE;
}
public void revoke(MessageContext msgContext) {
System.out.println("& LogHandler.revoke()");
}
public void setName(String name) {
System.out.println("LogHandler " + name);
this.name = name;
}
}
答案 0 :(得分:0)
您可以定义自定义阶段并在那里添加处理程序,并查看处理程序是否执行。 //我在axis2.xml中添加了以下配置,但服务没有运行//在某处你的消息流被破坏了。