问题:在实际发送请求之前,有没有办法查看使用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:Person是必需的.在服务名称.
为了进一步排除故障,我希望看到正在发送的XML文档,以查看它是否按照我期望的方式创建复杂类型.我正在使用$client = new SoapClient('wsdldoc.asmx?WSDL');调用它创建服务$client->CreateUser($params);,然后尝试使用该函数查看它,$client->__getLastRequest(); 但它从未进入__getLastRequest,因为它在调用CreateUser($ params)时遇到致命错误.
问题再说一遍:有没有办法查看CreateUser($ params)调用创建的XML而不实际发送它并导致致命错误