一尘不染

Java使用JAX-WS跟踪XML请求/响应

java

是否有一种简单的方法(即:不使用代理)来访问对使用JAX-WS参考实现(JDK 1.5及更高版本中包含的参考发布)发布的Web服务的原始请求/响应XML的访问?我需要做的是通过代码做到这一点。仅通过巧妙的日志记录配置将其记录到文件中就可以了,但足够了。

我知道可能存在其他更复杂和完整的框架,但是我想使其尽可能地简单,而axis,cxf等都增加了我想避免的大量开销。

谢谢!


阅读 472

收藏
2020-03-11

共1个答案

一尘不染

使用以下选项可以记录到控制台的所有通信(从技术上讲,你仅需要其中之一,但这取决于你使用的库,因此设置所有这四个为更安全的选项)。你可以像示例中那样在代码中进行设置,也可以使用-D作为命令行参数进行设置,或者如Upendra所编写的那样作为环境变量进行设置。

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.ws.transport.http.HttpAdapter.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dumpTreshold", "999999");
2020-03-11