繁体   English   中英

PHP SOAP客户端和名称空间

[英]PHP SOAP client and namespaces

我可以将以下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 Client?

编辑:我收到以下PHP错误:

PHP Fatal error:  Uncaught SoapFault exception: [soap:Server] rt.exception.RTException: Object reference not set to an instance of an object

感谢Piotr Olaszewski。 终于成功了。 问题不是命名空间,而是登录方法上缺少“会话”参数。 令人失望的是,这导致调用仅失败,因此我无法使用_getLastRequest方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM