我可以将以下xml文件发布到Web服务,我得到的响应ID是我期待的。
<Envelope xmlns="http://www.w3.org/2003/05/soap-envelope">
<Body>
<logon xmlns="http://tempuri.org/">
<username>USRNAME</username>
<password>b5059e852207a</password>
</logon>
</Body>
</Envelope>
我现在正在尝试将其转换为使用PHP SOAP客户端。我拨打以下电话
$soapclient = new SoapClient('http://*********.co.uk/ws-b/WebservicesPTP.asmx?wsdl');
我可以获得一系列功能:
$functions = $soapclient->__getFunctions();
但是当我尝试使用登录方法时:
$params = array('username' => 'USRNAME', 'password' => 'b5059e852207a');
$response = $soapclient->logon($params);
我根本得不到任何回报。
我怀疑它与命名空间有关,但我在信封上有两个,登录时有一个。我是否需要这些,如果需要,我如何将这些添加到SOAP客户端?
修改 我收到以下PHP错误:
PHP Fatal error: Uncaught SoapFault exception: [soap:Server] rt.exception.RTException: Object reference not set to an instance of an object
答案 0 :(得分:0)
感谢Piotr Olaszewski。终于搞定了这个。问题不是名字,而只是一个缺失的会议&#39;登录方法的参数。令人失望的是,这导致呼叫失败,因此我无法使用_getLastRequest方法。