java - 如何读取 axis2 Web 服务中的 SOAP 原始请求和响应消息

标签 java xml web-services soap apache-axis

我正在使用 axis2 Web 服务客户端,我想捕获请求和响应原始 xml。我创建了一个 LogHandler 来读取响应原始 xml,但我不知道如何在 axis2 Web 服务中配置此 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;
    }
}

最佳答案

您可以定义自定义阶段并在其中添加处理程序,然后查看处理程序是否执行。 //我已在 axis2.xml 中添加了以下配置,但服务未运行。//似乎您的消息流已损坏。

检查这个flowing guide.

关于java - 如何读取 axis2 Web 服务中的 SOAP 原始请求和响应消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22604234/

相关文章:

php - 带 key 的 REST 响应的 Xpath

java - 在客户端映射 Web 服务端点的最佳实践

c# - 在 WCF 请求中存储数据的位置

java - 如何消除 Guava MultiMap 值中的重复项?

java - Netbeans 模拟器无法启动

java - 如何访问联系人

php - 使用 jQuery 在 XML 中设置新属性

c# - 在哪里存储 Web 服务异常?

java - Hadoop映射器构造函数,何时以及如何?

java - 请帮助我理解这个 codility 测试