PHP SoapClient-SOAP错误无法出现致命错误';t从外部实体加载


PHP SoapClient - SOAP ERROR Fatal error couldn't load from external entity

我使用PHP SoapClient连接到Web服务。

$this->client = new SoapClient($this->wsdl, array('trace'=>true, 'cache' => WSDL_CACHE_DISK));

我每天都有很多请求,有时我会从Soap收到以下错误异常:

SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://ws-rca.24broker.ro/?wsdl' : failed to load external entity "http://www.example.ro/?wsdl" in ...

我再说一遍,这不是经常发生的事情。这种情况持续了几秒钟。

因此,我想检查在错误发生的那一刻,是否可以访问WSDL,所以在try/catch语句中,我使用了一个带有上述url的file_get_contents,并且似乎WSDL已经启动;运行,因为我可以在错误发生的确切时刻获得XML代码。

所以我尝试了:

  1. 与处理上述问题的托管公司的IT人员进行了交谈URL;他们说他们的WSDL已经启动&当时正在运行
  2. 检查了我所有的服务器日志文件;除错误外,与上述错误无关

有人知道发生了什么吗?谢谢

查看php.ini,如果:

default_socket_timeout = 0;

用类似的东西来改变它

default_socket_timeout = 300;

您也可以使用此功能http://php.net/manual/en/function.socket-set-timeout.php.希望能有所帮助。