2016-10-11 52 views
2

我試圖調試一個PHP腳本,通過SOAP向服務器發送請求。我必須在SOAP請求消息中插入一個結構化變量,但是我得到的錯誤信息比如「string」等無用的錯誤消息:/如何在請求期間監聽SoapClient發送到服務器的內容?

所以我想檢查由SoapClient類發送到服務器的原始請求。通過「生」我的意思是我需要傳遞XML字符串。像 <soapenv:Envelope ...>...<myVar>...</myVar>...</soapenv:Envelope>

我該怎麼做?我在Debian主機上運行這個腳本,所以我試着看看netcat,但是我找不到選項列表中的一些東西。

回答

0

有很多種方法可以實現這一點,我認爲「最有用的」之一是使用Wireshark等工具來跟蹤/查看網絡流量。

請看看https://www.wireshark.org/docs/wsug_html_chunked/AppToolstcpdump.html這裏介紹瞭如何跟蹤Linux系統上的網絡流量並將其存儲到一個文件中,您可以使用wireshark打開並分析網絡流量。

如果我已經正確記住它,這隻有在兩臺主機之間有不安全連接時才能正常工作。

編輯

如果你只在請求感興趣的XML中的PHP SOAP客戶端有一個方法「__getLastRequest」 http://php.net/manual/en/soapclient.getlastrequest.php

+0

哦,對不起,這個「生」並不確切。我的意思是我需要傳遞XML字符串。像 ... ... ... Forseti

+0

@Forseti你也可以用這個方法獲取XML字符串,只要檢查包的內容(我認爲即使是一個選項whick也會顯示單個tcp會話的完整內容/正文) – P0rnflake

+0

__getLastRequest()是要走的路。最簡單和工作。謝謝! – Forseti

相關問題