PHP SoapClient超时错误处理程序
发布时间:2020-12-13 17:43:25 所属栏目:PHP教程 来源:网络整理
导读:我正在使用SoapClient调用一些Web服务.我正在寻找一种机制,可以帮助我在Web服务脱机或关闭时向用户显示一些错误. 因为在向用户显示任何错误之前我必须等待一段时间(15秒).我在这样的SoapClient中添加了connection_timeout,用于超时. $this-client = new Soap
我正在使用SoapClient调用一些Web服务.我正在寻找一种机制,可以帮助我在Web服务脱机或关闭时向用户显示一些错误.
因为在向用户显示任何错误之前我必须等待一段时间(15秒).我在这样的SoapClient中添加了connection_timeout,用于超时. $this->client = new SoapClient($clienturl,array('trace' => 1,'exceptions'=> 1,'connection_timeout'=> 15)); //$clienturl is webservice url 同样在页面的顶部,我添加了这一行, ini_set("default_socket_timeout",15); // 15 seconds 在特定的超时间隔后,我得到了不同的SOAP-ERROR, SOAP-ERROR: Parsing WSDL: Couldn't load from $clienturl 所以我正在寻找一个错误处理程序来处理这些SOAP-ERROR,以便以人类可读的格式向用户显示那些“服务器已关闭,再过一段时间后重试”的用户.或者有没有办法处理超时错误? 解决方法
你可以把它放在try / catch中
try { $time_start = microtime(true); $this->client = new SoapClient($clienturl,'connection_timeout'=> 15 )); } catch (Exception $e) { $time_request = (microtime(true)-$time_start); if(ini_get('default_socket_timeout') < $time_request) { //Timeout error! } else { //other error //$error = $e->getMessage(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |