PHP SoapHeader 的命名空间和 name 怎么获取?
问题:对接第三方的接口,采用SOAP的协议;SOAP的报文需要有头信息,在处理头信息的时候,不清楚里面的namespace和name是要传什么值。
文档说明:SOAP 报文必须有头信息 头中必须携带 AuthenticationToken 元素 AuthenticationToken 元素中必须包括 Username 和 Password 子元素
代码:
$username = 'xxx';
$password = 'xxx';
$requestUrl = "xxxx?wsdl";
try {
// 请求头
$headerParam = [
'AuthenticationToken' => [
'Username' => $username,
'Password' => $password,
]
];
$client = new \SoapClient($requestUrl);
$u = new \SoapHeader('','', $headerParam,true);
$client->__setSoapHeaders($u);
$r = $client->getList(['param' => 'a']);
var_dump($r);
} catch (\SoapFault $e) {
echo $client->__getLastRequest();
echo $client->__getLastResponse();
echo $e->getMessage();
}
推荐文章: