php - SoapClient 不发送证书

标签 php soap ssl curl

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

这里是使用 cURL 和证书连接到相同的 url($pem = .pem 文件的绝对路径) 这行得通

    $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 代码中,我从服务器收到一个错误,说我没有被授权...

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

最佳答案

您可能需要传递一些用户名和密码,试试这个:

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

关于php - SoapClient 不发送证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11187646/

相关文章:

node.js - NodeJS TLS 主机名/IP 与证书的别名不匹配

php - 如何从 PHP 进行 301 重定向?

php - Doctrine 命名策略不映射默认值

php - 类型错误:传递给 Illuminate\Database\Eloquent\Builder::create() 的参数 1 必须是数组类型,给定为 null

PHP MySQL : Print Tree - Parent Child Checkbox

Android 客户端和 PHP 服务器 : common practice in communication

web-services - 基于Websphere的JMS上的SOAP示例

java - 获取 JAXBElement 列表,我想要预定义的 java 对象列表

java - BouncyCasTLe tsutils 检查版本

apache-spark - 在 Apache spark 和 Kafka 代理之间启用 SSL