0

我正在尝试监视我在 Java 中开发并部署在 Glassfish 上的 Web 服务的请求/响应信封。我有一个简单的示例 java 客户端,它使用 wsimport 从 wsdl 生成的绑定。

我尝试了各种工具/实用程序来监控交换(WireShark、TCPMon 和 TCPMonitor for Eclipse),但每个都显示完全相同的东西……调用 glassfish 来检索 wsdl,仅此而已!我知道我的请求正在通过,因为数据库正在更新。但是,我看不到导致这种情况的实际请求/响应信封。

我觉得我在这里缺少一些基本的东西。请求/响应是否使用不同的端口?wsdl 说该服务在 8080 上,这是我正在监视的同一个端口。

有任何想法吗?谢谢。

4

2 回答 2

0

你有两个选择:

  • 在 Wireshark 过滤器中仅指定 IP 地址,不指定端口,您应该会看到所有流量

  • 在您的客户端中添加这部分代码,它将捕获 SOAP 信封:

代码:

SOAPMessage msg = ((SOAPMessageContext) context).getMessage ();
SOAPPart sp = msg.getSOAPPart ();
SOAPEnvelope env = sp.getEnvelope ();
于 2013-02-15T11:27:45.150 回答
0

我有一个类似的问题,唯一的区别是 WS 部署在 jboss_4.2.3 中。我设法使用wireshark解决了这个问题。您可以在此处找到有关解决方案的更多信息。

关于你的其余问题:

  • 通常调用来自 8080,但响应返回到不同的端口(每次另一个端口)。
于 2013-02-15T10:09:24.307 回答