如何在请求期间收听SoapClient发送给服务器的内容?

时间:2016-10-11 06:33:11

标签: php soap request

我试图调试一个通过SOAP向服务器发送请求的PHP脚本。我必须在SOAP请求消息中插入一个结构化变量,但是我会收到错误的错误消息,例如" string" :/

所以我想检查SoapClient类发送给服务器的原始请求。通过&#34; raw&#34;我的意思是我需要传递XML字符串。喜欢 <soapenv:Envelope ...>...<myVar>...</myVar>...</soapenv:Envelope>

我该怎么做?我在Debian主机上运行脚本,所以我尝试查看netcat,但是在选项列表中找不到合适的东西。

1 个答案:

答案 0 :(得分: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