PHP SOAP第二个请求不会引发异常

时间:2013-12-10 07:24:58

标签: php soap

我正在尝试连接到网络服务。我的webserviceHelper是:

class webserviceHelper {
 public function __construct($params) {

        $this->service_url = $params['service_url'];

        try {
            $this->soap = new SoapClient($this->service_url, 
                                    array('exceptions' => true));
        } 
        catch (SoapFault $exc) {
            echo 'SoapFault<br />';
            die;
        }
        catch (Exception $exc) {
            echo 'Exception<br />';
            die;
        } 
    }

    ...
}

当服务关闭时,我向创建webserviceHelper对象的页面发出请求。在回复之前,我向同一页面发出第二次请求。在第一个,我得到“soapFault”作为输出,但在第二个,我有一个致命的错误。

Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'WebService?wsdl' : failed to load external entity "WebService?wsdl" in webserviceHelper.php on line 40

如何防止此错误?

2 个答案:

答案 0 :(得分:0)

$this->soap = new SoapClient(.....之后使用error_get_last()来获取潜在错误

答案 1 :(得分:0)

我在codeigniter中使用了一个钩子来处理它。感谢博主。 How To Catch PHP Fatal Error In CodeIgniter