gpt4 book ai didi

java - 无法记录 JaxWs 客户端 xml 消息

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:32 25 4
gpt4 key购买 nike

我使用 wsimport(版本“2.2.9”)从 WSDL 生成了 SOAP 客户端,并在 Java 8 应用程序中使用它。

我想跟踪客户端发送/接收的 XML 消息,但我找不到有效的解决方案...

我尝试使用 this approach这样:

public class TestClass {
public static void main(String[] args) {
System.setProperty("com.sun.xml.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.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.internal.ws.transport.http.HttpAdapter.dump", "true");


WSService wsService = new WSService();
WSSoap soapService = wsService.getWSSoap();
ServiceResponse response = soapService.callServiceMethod();
}
}

请求已正确执行,但我在标准输出上找不到任何跟踪的 XML。这段代码有什么问题?

最佳答案

要在 Eclipse 上的 jetty 中调试 SOAP 请求和响应,您可以执行以下操作。

  1. 在项目资源管理器中选择您的项目并右键单击它。
  2. 在“运行方式”下,点击“运行配置”
  3. 您的应用程序应该已显示为 Jetty Web 应用程序,并且项目名称将列在 Jetty Web 应用程序下方。在参数选项卡上,将以下内容添加到 JVM 参数部分
    -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true
    -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
    -Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true
    -Dcom.sun.xml.internal.ws.transport.http.HttpAdapter.dump=true
  4. 单击“运行”,您的应用程序现在与网络服务进行的任何交互都将被记录

这是使用一个动态 Web 项目进行测试的,该项目有一个 Servlet,该 Servlet 在加载 Servlet 时调用 Web 服务。

设置屏幕截图: enter image description here

关于java - 无法记录 JaxWs 客户端 xml 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50048190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com