Java JAX-WS Web服务客户端:如何记录日志请求和响应xml?

Eug*_*neP 17 java web-services jax-ws

我创建了该实现的LoggingHandler实现SOAPHandler<SOAPMessageContext>

它应该在每次handleMessage触发时记录(在我的情况下从不调用它)

MyService service = new MyService();
MyServicePort port = service.getPortType();
Run Code Online (Sandbox Code Playgroud)

现在我试试这个:

BindingProvider bindingProvider = (BindingProvider)port;
bindingProvider.getBinding().getHandlerChain().add(new LoggingHandler());
Run Code Online (Sandbox Code Playgroud)

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

你能建议任何解决方案吗?也许有另一种方式来查看输出和请求XML?

Eug*_*neP 24

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

binding.setHandlerChain(handlerList);
Run Code Online (Sandbox Code Playgroud)

所以,先用这个列表初始化

binding.getHandlerChain();
Run Code Online (Sandbox Code Playgroud)

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

setHandlerChain();
Run Code Online (Sandbox Code Playgroud)