Java 如何在axis2 Web服务中读取SOAP原始请求和响应消息
我正在使用axis2 web服务客户机,希望捕获请求和响应原始xml。我已经创建了一个LogHandler来读取响应原始xml,但是我不知道如何在axis2 Web服务中配置这个LogHandler文件。请您帮助我如何配置此LogHandler,或者告诉我是否有任何方法可以获取请求和响应xmlJava 如何在axis2 Web服务中读取SOAP原始请求和响应消息,java,xml,web-services,soap,axis2,Java,Xml,Web Services,Soap,Axis2,我正在使用axis2 web服务客户机,希望捕获请求和响应原始xml。我已经创建了一个LogHandler来读取响应原始xml,但是我不知道如何在axis2 Web服务中配置这个LogHandler文件。请您帮助我如何配置此LogHandler,或者告诉我是否有任何方法可以获取请求和响应xml import org.apache.axis2.AxisFault;`enter code here` import org.apache.axis2.context.MessageContext;`en
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;
}
}
您可以定义自定义阶段并在其中添加处理程序,然后查看处理程序是否执行。
//我在axis2.xml中添加了以下配置,但服务未运行//您的消息流似乎在某个地方中断
检查此项我在axis2.xml中添加了以下配置,但服务未运行。