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