在/不发送请求之前检查由 PHP SoapClient 调用创建的 XML
问题:有没有办法在实际发送请求之前查看使用PHP SoapClient函数调用创建的XML?
背景:
我是 WSDL 通信的新手,我有一个客户希望我用 PHP 进行开发,PHP 是一种与用 ASP.NET 编写的 WSDL 服务进行通信的方式。我已经走了很远,但是在传递复杂类型时遇到了一个问题。到目前为止,我已经尝试了几种不同的方法。
1) 设置单个阵列,例如$params->Person->name
$params->Person->address
2) 设置单个阵列$Person = array('name'=>"joe",'address' = "123");
然后作为参数“Person”传入调用=> $Person;和其他一些。但每次我得到错误
Soap异常: 服务器无法处理请求--->系统。异常: 人员是必需的。在服务名称处。
为了进一步进行故障排除,我希望看到正在发送的 XML 文档,以查看它是否以我期望的方式创建复杂类型。我正在使用调用它来创建服务,然后尝试使用函数看到它,但它从未进入__getLastRequest因为它在调用CreateUser($params)时遇到致命错误。$client = new SoapClient('wsdldoc.asmx?WSDL');
$client->CreateUser($params);
$client->__getLastRequest();
问题又来了:有没有办法查看由 CreateUser($params) 调用创建的 XML,而无需实际发送它并导致致命错误