我知道这里有无数的线索,但没有任何建议对我有用。
尝试创建新的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问题,但我已经成功加载了其他wsdl客户端。它似乎只是这个EE不会起作用,而且它变得非常令人沮丧!
我在mac os x主机上使用php5.5在一个流浪的实例上运行我的应用程序。我尝试在mac os x上运行它,我也遇到了同样的问题。
我也尝试为SoapClient设置'ssl_method'选项,但这没有效果。
我试图卷曲/忘记网址但是它收到了SSL错误,而它完成了与https://paypal.com
之类的握手有没有人有任何想法可能导致这个?
更新
我在流浪盒上运行了这个:curl -v -SSLv3 https://m2mconnect.ee.co.uk/orange-soap/services/MessageServiceByCountry?wsdl
并且连接成功,但创建一个选项ssl_method
设置为SOAP_SSL_METHOD_SSLv3
的SoapClient不起作用
答案 0 :(得分:3)
我最终分叉了包裹SoapClient的BeSimpleSoapClient并使用Curl来获取SoapService。我修改了他们的Curl类以允许设置curl ssl版本:https://github.com/robcaw/BeSimpleSoapClient
答案 1 :(得分:0)
我现在可以使用浏览器访问WSDL位置。
所以唯一的答案是:如果在尝试使用curl或wget下载WSDL时遇到SSL错误,那么可以安全地假设PHP具有相同的错误 - 并且解决方案是修复它们 - 并且作为第一步,在你的问题中提到你的发现。
现在看来,PHP不应该受到责备,你所做的一切都应该有效 - 唯一缺少的是获取WSDL的网络连接。