PHP Soap Client 無法載入 https wsdl link



我一直在尝试通过php soapclient加载特定的https wsdl。 我得到的错误是:

SOAP-ERROR: 解析 WSDL: 无法从 'https://xxxx.com?wsdl' 加载: 无法加载外部实体 "https://xxxx.com?wsdl" 此外,我还尝试"Curl https://xxxx.com?wsdl"。我得到的错误是:

curl: (35( 错误:141A318A:SSL 例程:tls_process_ske_dhe:dh 键太 小

我可以通过浏览器查看特定的 wsdl。使用 http 而不是 https 进行卷曲返回正确的响应。

奇怪的是,我的同事在他的机器上安装了 ubuntu 18.04,他没有任何问题。供您参考,我已经安装了 debian 10,我们都有相同的 IP 地址。

我真的不明白问题在哪里。

您应该尝试在构造 SoapClient 实例时禁用证书验证

$context = stream_context_create([
'ssl' => [
// set some SSL/TLS specific options
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]);
$client  = new SoapClient($url, [
... ( other params )
'stream_context' => $context
]);

如果从命令行使用 curl,则可以使用 --insecure/-k 标志。

相关内容

  • 没有找到相关文章

最新更新