![](/img/trans.png)
[英]Accessing netsuite wsdl using php soapclient toolkit shows couldn't load wsdl
[英]PHP SoapClient can't load WSDL file, but it can load others
我知道這里有無數的線索,但沒有任何建議對我有用。
在嘗試創建新的SoapClient時,我收到錯誤:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL:
Couldn't load from 'https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl' :
failed to load external entity "https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl"
WSDL文件是: https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl
: https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl
。
我認為這可能是一個https問題,但我已成功加載其他wsdl客戶端。 它似乎只是這個EE不會起作用,它變得非常令人沮喪!
我在mac os x主機上用php5.5在一個流浪的實例上運行我的應用程序。 我試過在mac os x上運行它,我也遇到了同樣的問題。
我也試過為SoapClient設置'ssl_method'選項,但這沒有效果。
我試圖卷曲/ wget網址,它得到一個SSL錯誤,而它完成握手與https://paypal.com
有沒有人有任何想法可能導致這個?
更新:
我在流浪盒上運行了這個: curl -v -SSLv3 https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl
並且它連接成功,但是,創建一個SoapClient並將選項ssl_method
設置為SOAP_SSL_METHOD_SSLv3
不起作用
我最終要求包含SoapClient的BeSimpleSoapClient並使用Curl來獲取SoapService。 我修改了他們的Curl類以允許設置curl ssl版本: https : //github.com/robcaw/BeSimpleSoapClient
我現在可以使用瀏覽器訪問WSDL位置。
因此,剩下的唯一答案是:如果在嘗試使用curl或wget下載WSDL時遇到SSL錯誤,那么可以安全地假設PHP具有相同的錯誤 - 解決方案是修復它們 - 作為第一步,在你的問題中提到你的發現。
正如現在看來的那樣,PHP不應該受到責備,你所做的一切都應該有效 - 唯一缺少的是獲取WSDL的網絡連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.