使用自签名证书连接到 dev magentosoapapiv1 - 版本错误错误

问题描述 投票:0回答:1

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

鉴于我的肥皂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 吗?

php magento soap wsdl magento-soap-api
1个回答
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
]);
© www.soinside.com 2019 - 2024. All rights reserved.