我有一个用java和spring编写的REST API,它对SOAP服务进行后端调用。 SOAP Web服务代码打包在第三方jar中。因此,无权更改代码。但我可以通过设置env变量来更改SOAP服务端点。
如何捕获REST API发送的原始SOAP请求?
答案 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)
您始终可以使用tcpdump或wireshark等网络数据包分析器来捕获专门发送到您的终端的数据包。
<强>替代地强>
您可以编写一个小代理来捕获本地端口上的请求,并将它们转发到实际端点并在将其打印到sys-out后路由响应。在这种情况下,您将指定代理作为程序的端点。
我不确定是否存在任何现有代理,但我认为haproxy will not。
答案 2 :(得分:0)
如果您使用的是Windows,则可以使用ProxyTrace,PocketSoap和其他PocketSoap.com工具。