+ -
当前位置:首页 → 问答吧 → php调用带token的WebService

php调用带token的WebService

时间:2011-10-19

来源:互联网

目前有个项目,需要用PHP来调用带TOKEN验证的WEBSERVICE,该webservice的描述如下:除SOAP:BODY以外,还有一个SOAP:HEADER,
----------------------------------------------------------------------------------
POST /SmsPFWS/SmsMsgWS.asmx HTTP/1.1
Host: 10.2.57.133
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "HNAS.SmsPF.SmsMsgWS/GetSmsMessage"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
  <UsernameToken xmlns="HNAS.SmsPF.SmsMsgWS">
  <Username>string</Username>
  <Password>string</Password>
  </UsernameToken>
  </soap:Header>
  <soap:Body>
  <GetSmsMessage xmlns="HNAS.SmsPF.SmsMsgWS">
  <strCode>string</strCode>
  </GetSmsMessage>
  </soap:Body>
</soap:Envelope>

----------------------------------------------------------------------------------
==>网上大部分的解释是通过nusoapClient的$client->__setSoapHeaders(array($headers));

来把HEADER加上,但是查了一上soapClient类里根本就没有__setSoapHeaders这个函数的定义,不知道如何是好,
请高手帮忙....

作者: extjj   发布时间: 2011-10-19

$header = new SoapHeader($securityNamespace, 'namespace', $headerVar);
$client->__setSoapHeaders(array($header));

这个方法是PHP5算SOAP自带的 不是nusoapClient

作者: webluoye   发布时间: 2011-11-18