我正在使用今天无法使用的肥皂服务。它返回403 Forbidden代码,然后我收到了这条消息:
Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from...[MY URL]
我怎样才能抓住这个SoapFault?
这是我的代码:
$client = new SoapClient($myurl);
我还尝试使用trace
和exception(s)
的第二个cosntructor参数(有和没有s,在网上看到两个版本。找不到文档)。
我尝试使用
捕获抛出的错误catch (SoapFault $exception) {
wtf($exception->getMessage());
}
或
catch (Exception $e){
wtf($e->getMessage());
}
(正如官方文件评论中所见) 什么都行不通。仍然是这个致命错误和SoapFault没有被捕获。
我在新的SoapClient之前尝试了@, 并且使用和不使用反斜杠进行捕获(因为我在命名空间中)。
此时,我不知道如何正确处理此错误。
也许是鸡的牺牲。
答案 0 :(得分:1)
已经解决,正确的方法实际上是
['exceptions' => true]
必须使用
捕获异常catch (\SoapFault $exception) {
wtf($exception);
}