Axis2客户端 - 记录SOAP请求和响应

时间:2016-04-13 14:48:30

标签: axis2

我做了很多搜索,但我无法找到我需要的东西

我对Axis2很新;我使用Axis2版本1.6.2

我使用axis2 maven插件编写了我的客户端

一切都很好

现在我需要的是记录请求和响应消息

我使用的是logback;到目前为止我所做的是配置logback以记录httpclient.wire包的内容。记录请求和响应但不是非常有用的方式。一个示例id为以下一个

2016-04-13 15:37:29,614 8214 [main] DEBUG httpclient.wire.content - >> "36b[\r][\n]"
2016-04-13 15:37:29,616 8216 [main] DEBUG httpclient.wire.content - >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body>SOAP MESSAGE CONTENT</soapenv:Body></soapenv:Envelope>"
2016-04-13 15:37:29,616 8216 [main] DEBUG httpclient.wire.content - >> "[\r][\n]"
2016-04-13 15:37:29,616 8216 [main] DEBUG httpclient.wire.content - >> "0"
2016-04-13 15:37:29,616 8216 [main] DEBUG httpclient.wire.content - >> "[\r][\n]"
2016-04-13 15:37:29,617 8217 [main] DEBUG httpclient.wire.content - >> "[\r][\n]"

我希望与Spring WS日志类似,它以一种舒适的方式记录SOAP响应和SOAP请求 据我所知,我能做的是编写自定义日志记录处理程序和自定义模块,并将我的客户端配置为用户登录处理程序 我无法做的是配置客户端,以便它使用我自己的登录处理程序和登录模块

是否有任何指南和/或示例可供使用?

谢谢

Abgelo

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您正在寻找的确切内容,即使您现在需要它。但是任何想要从Axis2获取原始xml字符串的人都可以使用以下代码。

    OMElement  ele= someElementObject.getOMElement(SomeElementObject.MY_QNAME, OMAbstractFactory.getOMFactory());

    String xmlString= ele.toStringWithConsume();

其中someElementObject是Axis2 wsdl导入向导生成的xml标记pojo。

要将字符串xml解析为Axis2对象,请使用以下代码。

SomeElementObject obj=SomeElementObject.Factory.parse(SOME_XML_STREAM);