如何捕获java应用程序发送的SOAP请求

时间:2017-02-06 23:21:11

标签: java spring soap

我有一个用java和spring编写的REST API,它对SOAP服务进行后端调用。 SOAP Web服务代码打包在第三方jar中。因此,无权更改代码。但我可以通过设置env变量来更改SOAP服务端点。

如何捕获REST API发送的原始SOAP请求?

3 个答案:

答案 0 :(得分:0)

您可以使用多种工具拦截SOAP请求。

我建议使用TCPMonitor(https://ws.apache.org/tcpmon/tcpmontutorial.html)或wiresharks(https://www.wireshark.org/)。

TCPMonitor就像一个代理(所以你的端点应该指向TCPMonitor),它会将消息转发回你的服务。

Wireshark是一个网络协议分析器。它捕获所有TCP / UDP数据包(也包括HTTP)。你只需捕获数据包。无需修改服务器和客户端。然后,您可以过滤HTTP / HTTPS数据包以查找您的请求。

答案 1 :(得分:0)

您始终可以使用tcpdumpwireshark等网络数据包分析器来捕获专门发送到您的终端的数据包。

<强>替代地

您可以编写一个小代理来捕获本地端口上的请求,并将它们转发到实际端点并在将其打印到sys-out后路由响应。在这种情况下,您将指定代理作为程序的端点。

我不确定是否存在任何现有代理,但我认为haproxy will not

答案 2 :(得分:0)

如果您使用的是Windows,则可以使用ProxyTracePocketSoap和其他PocketSoap.com工具。