我正在使用今天不可用的肥皂服务。它返回了一个 403 禁止代码,然后我收到这条消息:
Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from...[MY URL]
我怎样才能抓住这个肥皂错误?
这是我的代码:
$client = new SoapClient($myurl);
我还尝试将第二个 cosntructor 参数与 trace
和 exception(s)
一起使用(有和没有 s,在网上看到了两个版本。找不到文档)。
我试图使用
catch (SoapFault $exception) {
wtf($exception->getMessage());
}
或
catch (Exception $e){
wtf($e->getMessage());
}
(如官方文档评论所示)什么都没用。仍然这个致命错误和肥皂错误未被捕获。
我还在新的 SoapClient 之前尝试过@,并捕获带反斜杠和不带反斜杠(因为我在命名空间中)。
在这一点上,我不知道该怎么做才能正确处理此错误。
也许是鸡祭。
已解决,正确的方法是
['exceptions' => true]
并且必须捕获异常
catch ('SoapFault $exception) {
wtf($exception);
}