簡體   English   中英

PHP Soap 客戶端無法加載 https wsdl 鏈接

[英]PHP Soap Client cannot load https wsdl link

我一直在嘗試通過 php soapclient 加載特定的 https wsdl。 我得到的錯誤是:

SOAP-ERROR: Parsing WSDL: Couldn't load from ' https://xxxx.com?wsdl ': failed to load external entity " https://xxxx.com?wsdl " Moreover I also try to "Curl https:/ /xxxx.com?wsdl ”也是如此。 我得到的錯誤是:

curl: (35) 錯誤:141A318A:SSL 例程:tls_process_ske_dhe:dh 鍵太小

我可以通過瀏覽器查看特定的 wsdl。 Curl 與 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 標志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM