使用自签名证书连接到dev magento soap api v1-版本错误

时间:2018-07-22 14:18:30

标签: php web-services magento soap wsdl

我需要连接到使用自签名ssl证书通过https运行的Magento SOAP API v1开发服务器。

鉴于我的soap api网址为:https://my-store.com/index.php/api/soap/?wsdl

像这样启动肥皂客户端的传统方式:

$client = new SoapClient($soap_api_url);

这会产生以下错误:

  

SOAP错误:解析WSDL:无法从中加载   'https://my-store.com/index.php/api/soap/?wsdl'

我认为错误一定是由于自签名证书引起的,所以我尝试了另一种方法:

$context = stream_context_create([
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$client = new SoapClient(null, [
    'location' => $soap_api_url,
    'uri' => 'urn:Magento',
    'stream_context' => $context
]);

这不再抱怨无法加载WSDL,现在返回此错误:

  

版本错误

我认为问题出在连接选项中的uri上;知道如何告诉此代码我想连接到magento soap api v1吗?

1 个答案:

答案 0 :(得分:0)

我已将其固定为这样:

$context = stream_context_create([
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$client = new SoapClient($soap_api_url, [
    'stream_context' => $context
]);