簡體   English   中英

如何捕獲Java應用發送的SOAP請求

[英]How to capture the SOAP request send by the java app

我有一個用Java和spring編寫的REST API,它對SOAP服務進行了后端調用。 SOAP Web服務代碼打包在第3方jar中。 因此,無權更改代碼。 但是我可以通過設置env變量來更改SOAP服務端點。

如何捕獲REST API發送的原始SOAP請求?

您可以使用多種工具來攔截SOAP請求。

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

TCPMonitor的作用類似於代理(因此,您的端點應指向TCPMonitor),它將把消息中繼回您的服務。

Wireshark是網絡協議分析器。 它捕獲所有TCP / UDP數據包(也包括HTTP)。 您只需要捕獲數據包。 無需服務器端和客戶端進行任何修改。 然后,您可以過濾HTTP / HTTPS數據包以查找您的請求。

您始終可以使用網絡數據包分析器(例如tcpdumpwireshark)來捕獲專門發送到“端點”的數據包。

另外

您可以編寫一個微型代理以捕獲本地端口上的請求,並將請求轉發到實際端點,並在將請求打印到sys-out之后路由響應。 在這種情況下,您將指定代理作為程序的終結點。

我不確定是否有現有的代理可以這樣做,但是我認為haproxy不會

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM