SOAP-ERROR:解析WSDL:无法加载 - 与已知的User Agent错误无关; curl,wget和file_get_contents工作

时间:2015-11-18 11:31:53

标签: php soap wsdl

我在StackOverflow中发现了很多类似的问题,但没有一个能解决我的问题。

以下代码抛出异常:

$soap_options = array(
            'trace' => TRUE,
            'soap_version' => SOAP_1_2,
            'cache_wsdl' => WSDL_CACHE_NONE,
            'user_agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36'
        );

        $wsdlUrl = 'https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL';

        $soap = new \SoapClient($wsdlUrl, $soap_options);

例外是:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL' : failed to load external entity "https://www.iatspayments.com/NetGate/CustomerLink.asmx?WSDL"

我可以从同一个PHP文件中file_get_contents,但不会抛出任何错误。

以下任何一项也适用于CLI:

curl -A '' -4 url
curl -A '' -6 url
curl -A 'PHP' -4 url
curl -A 'PHP' -6 url

真的不知道发生了什么。请帮助隔离并确定问题。

0 个答案:

没有答案