从一个主机,无法使用SoapClient访问HTTP URL

时间:2014-10-14 18:24:08

标签: php soap-client

我在一台主机中遇到一个问题:我无法访问HTTP网址(例如http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl)。

从我的localhost(运行PHP 5.4)中访问此类URL工作正常。但是,从我的目标服务器(运行PHP 5.5)中获取此类URL会给我带来这个SoapFault:

  

解析WSDL:无法从“http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl”加载:无法加载外部实体“http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl

(由于合同政策,我没有透露网址)

我可以检查什么? (由于url不是HTTPS,而只是HTTP,应该丢弃openssl)

代码:

new SoapClient(
    'http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl',
    array('uri' => 'http://foo-bar.com/wsdl/schema/')
);

1 个答案:

答案 0 :(得分:0)

发现它:PHP版本之间的SOAP客户端没有任何问题。它们在-at至5.2和5.5之间保持兼容。所以在这里测试并不奇怪,只是简单的连接测试。

这样的问题应该使用:file_get_contents('http://foo-bar.com:9999/Path/To/My/Soap.svc?wsdl')进行测试(现代PHP版本默认情况下fopen_wrappers处于活动状态。)

答案是什么?连接被拒绝。这就是我收到此类错误的原因。