使用HTTPS webservice和.PEM客户端证书的PHP SOAP

如何使用HTTPS webservice和.PEM客户端证书创建PHP SOAP?使用HTTPS webservice和.PEM客户端证书的PHP SOAP

当我这样做,我收到了如下错误:

array(2) { [0]=> string(38) "testeResponse teste(teste $parameters)" [1]=> string(38) "testeResponse teste(teste $parameters)" }

Fatal error: Uncaught SoapFault exception: [wsse:InvalidSecurity] SOAP header missing in D:\Inetpub\wwwroot\SOAP\index.php:47 Stack trace: #0 [internal function]: SoapClient->__call('teste', Array) #1 D:\Inetpub\wwwroot\SOAP\index.php(47): SoapClient->teste(Array) #2 {main} thrown in D:\Inetpub\wwwroot\SOAP\index.php on line 47

代码:

$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 header missing

您找到SOAPHeader in the PHP manual。 PHP手册中也有一些使用示例和用户贡献的注释,也在本网站上。例如:

$auth = array(

'UserName' => 'USERNAME',

'Password' => 'PASSWORD',

'SystemId' => array('_'=> 'DATA', 'Param' => 'PARAM'),

);

$header = new SoapHeader('NAMESPACE','Auth',$auth,false);

$client->__setSoapHeaders($header);

让我知道你是否遇到问题。

以上是 使用HTTPS webservice和.PEM客户端证书的PHP SOAP 的全部内容, 来源链接: utcz.com/qa/259736.html

回到顶部