我正在尝试使用以下代码设置 Soap 客户端:
```php
我收到了一个.p12密钥文件和一个.crt证书文件。使用openssl,我将.p12文件转换为.pem文件,然后与.crt文件合并。CertWithKey.pem文件看起来很好,其中包含两个证书块。
无论我尝试做什么,我都会收到一个异常,消息是“SOAP-ERROR:Parsing WSDL:无法从'https://domain.com/?wsdl'加载:无法加载外部实体"https://domain.com/?wsdl"”。
在与远程方通话后,他们承认有一个请求进来,但他们记录了这个错误:“ssl握手被系统中断[hint:浏览器按下停止按钮?!]”。
由于我目前在网上没有找到任何有用的信息,所以我想请你们对此问题提供一些见解。
有什么建议可以尝试吗? 我正在运行PHP 5.3.8,并且服务器的IP地址已在远程方的防火墙中列入白名单。
```php
我正在尝试使用以下代码设置Soap客户端:
```<?php
$wsdl = 'https://domain.com/?wsdl';
$endpoint = 'https://domain.com';
$certificate = dirname(__FILE__) . '/CertWithKey.pem';
$password = 'pwd';
$options = array(
'location' => $endpoint,
'keep_alive' => true,
'trace' => true,
'local_cert' => $certificate,
'passphrase' => $password,
'cache_wsdl' => WSDL_CACHE_NONE
);
try {
$soapClient = new SoapClient($wsdl, $options);
} catch(Exception $e) {
var_dump($e);
}
我收到了一个.p12密钥文件和一个.crt证书文件。使用openssl,我将.p12文件转换为.pem文件,然后与.crt文件合并。CertWithKey.pem文件看起来很好,其中包含两个证书块。
无论我尝试做什么,我都会收到一个异常,消息是“SOAP-ERROR:Parsing WSDL:无法从'https://domain.com/?wsdl'加载:无法加载外部实体"https://domain.com/?wsdl"”。
在与远程方通话后,他们承认有一个请求进来,但他们记录了这个错误:“ssl握手被系统中断[hint:浏览器按下停止按钮?!]”。
由于我目前在网上没有找到任何有用的信息,所以我想请你们对此问题提供一些见解。
有什么建议可以尝试吗? 我正在运行PHP 5.3.8,并且服务器的IP地址已在远程方的防火墙中列入白名单。