SoapClient管理错误/异常

时间:2016-03-03 10:49:57

标签: php soap error-handling wsdl

我正在使用今天无法使用的肥皂服务。它返回403 Forbidden代码,然后我收到了这条消息:

 Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from...[MY URL]

我怎样才能抓住这个SoapFault?

这是我的代码:

$client = new SoapClient($myurl);

我还尝试使用traceexception(s)的第二个cosntructor参数(有和没有s,在网上看到两个版本。找不到文档)。

我尝试使用

捕获抛出的错误
catch (SoapFault $exception) {
    wtf($exception->getMessage());
}

 catch (Exception $e){
    wtf($e->getMessage());
}

(正如官方文件评论中所见) 什么都行不通。仍然是这个致命错误和SoapFault没有被捕获。

我在新的SoapClient之前尝试了@, 并且使用和不使用反斜杠进行捕获(因为我在命名空间中)。

此时,我不知道如何正确处理此错误。

也许是鸡的牺牲。

1 个答案:

答案 0 :(得分:1)

已经解决,正确的方法实际上是

['exceptions' => true]

必须使用

捕获异常
catch (\SoapFault $exception) {
    wtf($exception);
}