Java JAX-WS web-service client:如何记录请求和响应 xml?

2022-09-02 20:52:23

我创建了一个实现,实现LoggingHandlerSOAPHandler<SOAPMessageContext>

它应该在触发时记录(在我的情况下永远不会被调用)handleMessage

MyService service = new MyService();
MyServicePort port = service.getPortType();

现在我试试这个:

BindingProvider bindingProvider = (BindingProvider)port;
bindingProvider.getBinding().getHandlerChain().add(new LoggingHandler());

我没有看到任何请求/响应xml。

您能提出任何解决方案吗?也许还有另一种方法可以查看输出和请求 XML?


答案 1

如果您使用此方法,它将开始工作:

binding.setHandlerChain(handlerList);

因此,首先初始化此列表

binding.getHandlerChain();

然后将您的元素添加到列表中,毕竟

setHandlerChain();

答案 2

您可以在log4j.xml文件中添加记录器:

<!-- Log WebService's inputs and outputs -->
<logger name="org.apache.cxf.interceptor">
    <level value="INFO" />
    <appender-ref ref="[YOUR_LOGGER]" />
</logger>

推荐