如何查看 PHP SOAP 客户端类生成的实际 XML?

2021-12-24 00:00:00 xml php soap

考虑这个示例 SOAP 客户端脚本:

Consider this example SOAP Client script:

$SOAP = new SoapClient($WDSL); // Create a SOAP Client from a WSDL

// Build an array of data to send in the request.
$Data = array('Something'=>'Some String','SomeNumber'=>22); 

$Response = $SOAP->DoRemoteFunction($Data); // Send the request.

在最后一行,PHP 从您指定的数组中获取参数,并使用 WSDL 构建要发送的 XML 请求,然后将其发送.

On the last line, PHP takes the arguments from the array you specified, and, using the WSDL, builds the XML request to send, then sends it.

如何让 PHP 向我展示它构建的实际 XML?

How can I get PHP to show me the actual XML it's built?

我正在对应用程序进行故障排除,需要查看请求的实际 XML.

I'm troubleshooting an application and need to see the actual XML of the request.

推荐答案

使用 getLastRequest.它返回在最后一个 SOAP 请求中发送的 XML.

Use getLastRequest. It returns the XML sent in the last SOAP request.

echo "REQUEST:
" . $SOAP->__getLastRequest() . "
";

请记住,此方法仅在创建 SoapClient 对象且 trace 选项设置为 TRUE 时才有效.因此,在创建对象时,使用以下代码:

And remember, this method works only if the SoapClient object was created with the trace option set to TRUE. Therefore, when creating the object, use this code:

$SOAP = new SoapClient($WDSL, array('trace' => 1));

相关文章