我正在尝试监控我在java中开发并部署在Glassfish上的Web服务的请求/响应信封。我有一个简单的示例java客户端,它使用wsimport从wsdl生成的绑定。
我已经尝试过各种工具/实用程序来监视交换(WireShark,TCPMon和TCPMonitor for Eclipse),但每个都显示完全相同的东西......调用glassfish来检索wsdl,这就是全部!我知道我的请求正在通过,因为数据库正在更新。但是,我看不到导致此问题的实际请求/响应信封。
我觉得我在这里缺少一些基本的东西。请求/响应是否使用不同的端口? wsdl说该服务在8080上,这是我正在监控的端口。
有什么想法吗?谢谢。
答案 0 :(得分:0)
我有类似的问题,唯一的区别是WS部署在jboss_4.2.3中。我设法使用wireshark破解了这个问题。有关您可以找到的解决方案的更多信息here。
关于你的其他问题:
答案 1 :(得分:0)
您有两种选择:
在Wireshark过滤器中仅指定IP地址,没有端口,您应该看到所有流量
在您的客户端中添加这部分代码,它将捕获SOAP信封:
代码:
SOAPMessage msg = ((SOAPMessageContext) context).getMessage ();
SOAPPart sp = msg.getSOAPPart ();
SOAPEnvelope env = sp.getEnvelope ();