SoapClient不发送证书

时间:2012-06-25 10:32:12

标签: php soap ssl curl

我一直在阅读我能找到的所有问题/答案,但没有一个能解决我的问题。

这是使用cURL和证书($ pem = .pem文件的绝对路径)连接到同一个URL 这工作

    $ch = curl_init($wsdl); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($ch, CURLOPT_SSLCERT, $pem);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    $response = curl_exec($ch);

这里是我尝试通过SOAP连接到wsdl的代码

$client  = new SoapClient($wsdl, array('local_cert' => $pem));

甚至尝试在'local_cert'

中加载证书的内容
$client  = new SoapClient($wsdl, array('local_cert' => file_get_contents($pem)));

在两行soap代码中,我从服务器收到错误,说我没有被授权......

我需要在发送证书之前启用某些内容吗?

1 个答案:

答案 0 :(得分:1)

您可能需要传递一些用户名和密码,请尝试以下操作:

curl –k –u user:password –d @myRequestFile.xml uri