2

我在使用 SoapClient 调用 php 中的 websevrice 时遇到了一些问题。该网络服务有一个自签名证书。

这是在 Windows 7 上的 wamp 2 上运行的

这是代码:

<?php
    $client = null;

    $wsdlLocation = "https://uat.xxxx.com/wsdl/customer.wsdl";
    $cert = 'c:\Projects\***\certname.cer';
    $client = new SoapClient($wsdlLocation, array('local_cert' => $cert));

?>

我收到以下错误:

致命错误:未捕获的 SoapFault 异常:[WSDL] SOAP-ERROR:解析 WSDL:无法从“https://uat.xxx.com/wsdl/customer.wsdl”加载:无法加载外部实体“https:// uat.xxx.com/wsdl/customer.wsdl" 在 C:\Projects**\auth\test.php:10 堆栈跟踪:#0 C:\Projects** \auth\test.php(10): SoapClient- >SoapClient('https://uat.ser...', Array) #1 {main} 在 C:\Projects* \auth\test.php 中抛出

第 10 行

有什么线索吗?我已经尝试过完整和相对路径。我很好奇我被告知使用这个 .cer 文件而不是 .pem 文件这一事实?我还将证书添加为证书存储中的受信任机构。

4

0 回答 0