编程语言
首页 > 编程语言> > PHP SoapClient-SOAP错误无法从外部实体加载致命错误

PHP SoapClient-SOAP错误无法从外部实体加载致命错误

作者:互联网

我正在使用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代码.

所以我尝试了:

>与负责上述工作的托管公司的IT人员进行了交谈
网址;他们说他们的WSDL正常了.当时正在运行
>检查了我所有的服务器日志文件;除上述错误外,与上述错误无关

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

解决方法:

查看您的php.ini,如果:

default_socket_timeout = 0;

用类似的方法更改它:

default_socket_timeout = 300;

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

标签:soap-client,wsdl,soapfault,php
来源: https://codeday.me/bug/20191123/2064096.html