[英]PHP SOAP with HTTPS webservice and .PEM client certificate
如何使用HTTPS Web服務和.PEM客戶端證書創建PHP SOAP?
當我這樣做時,我收到以下錯誤:
array(2){[0] =>字符串(38)“ testeResponse teste(teste $ parameters)” [1] =>字符串(38)“ testeResponse teste(teste $ parameters)”}
致命錯誤:未捕獲的SoapFault異常:[wsse:InvalidSecurity] D:\\ Inetpub \\ wwwroot \\ SOAP \\ index.php:47中缺少SOAP標頭:堆棧跟蹤:#0 [內部函數]:SoapClient-> __ call('teste',Array )#1 D:\\ Inetpub \\ wwwroot \\ SOAP \\ index.php(47):SoapClient-> teste(Array)#2 {main}放在第47行的D:\\ Inetpub \\ wwwroot \\ SOAP \\ index.php中
編碼:
$client = new SoapClient($wsdl, array(
'local_cert' => $localCert,
'passphrase' => $passphrase,
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL,
'exceptions' => true,
'trace' => true)
);
$something = $client->teste(array());
echo $something->testeResult;
該警告與PEM證書或SSL無關。 簡單來說就是:
缺少SOAP標頭
您可以在PHP手冊中找到SOAPHeader
。 PHP手冊中還有一些用法示例和用戶提供的注釋,也可以在此網站上找到。 例如:
$auth = array(
'UserName' => 'USERNAME',
'Password' => 'PASSWORD',
'SystemId' => array('_'=> 'DATA', 'Param' => 'PARAM'),
);
$header = new SoapHeader('NAMESPACE','Auth',$auth,false);
$client->__setSoapHeaders($header);
如果您遇到問題,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.