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