0
Im有一個SoapClient(PHP 7.0)解析wsdl的問題。SOAP錯誤 - 解析SSLv3中的WSDL
即時得到這個錯誤:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://ws.ocasa.com/testecommerce/service.asmx?wsdl' : failed to load external entity "https://ws.ocasa.com/testecommerce/service.asmx?wsdl"
如果你把這個網址在瀏覽器中就可以看到SOAP,以及在了SoapUI它的工作原理確定。
我使用laravel 5.4,我的代碼是:
$client = new \SoapClient('https://ws.ocasa.com/testecommerce/service.asmx?wsdl',
['soap_version'=>SOAP_1_2]);
我注意到,該網站是SSLv3的下。爲了弄清楚什麼問題,我也注意到,我不能得到WSDL的內容:
$content = file_get_contents('https://ws.ocasa.com/testecommerce/service.asmx?wsdl');
而且我得到這個錯誤
file_get_contents(): Failed to enable crypto
我不知道,如果它的東西我的PHP.ini。但是,如果我更改爲其他WSDL:
https://id3check.gb.co.uk/gbportalinternational/aspx/id3check_1b.asmx?WSDL
一切工作正常,解析和獲取內容。
謝謝
【如何獲取文件\ _get \ _contents()與HTTPS合作?](HTTPS的可能重複: //www.stackoverflow.com/questions/1975461/how-to-get-file-get-contents-to-work-with-https) – Capsule
謝謝你試圖幫助!我編輯我的帖子,以便您可以看到我的問題不是我無法獲取wsdl的內容,而是因爲我的SoapClient不支持該WSDL。在發給我的帖子中,解釋瞭如何以不同的方式獲取內容,我的想法是提供更多關於我的情況的信息,以便也許有人能夠弄清楚它發生了什麼。謝謝膠囊! :) –
不,你的問題是,由於SSLv3(可能),PHP無法從該服務器獲取內容。它與SoapClient無關。 'file_get_contents():啓用加密失敗很清楚。嘗試類似於https://stackoverflow.com/questions/14078182/openssl-file-get-contents-failed-to-enable-crypto,看看是否有幫助 – Capsule