【发布时间】:2011-09-16 11:46:07
【问题描述】:
我是 PHP 异常处理和 SOAP 的新手。出于某种原因,我无法捕捉到 SoapFault。我不知道为什么。肥皂服务器不是我的。
try {
$contact_id = $objSoapClient->getContactIdFromVisitorId('12345');
}
catch (SoapFault $sf) {
echo "Soapfault";
}
catch (Exception $e) {
echo "Exception";
}
我故意传入错误的 id 12345。当我启用错误时,我看到以下消息 SoapFault exception: [SOAP-ENV:Client] Invalid Visitor ID。但是,我的 catch SoapFault 块和我的 catch Exception 块都不会被击中。为什么?
【问题讨论】:
-
你的函数getContactIdFromVisitorId是否抛出异常?
-
我假设是这样,因为当我启用错误时,我看到了问题末尾包含的 SoapFault 异常错误消息
[SOAP-ENV:Client] Invalid Visitor ID -
我要补充一点,Web 服务似乎正在将一个实际的 SoapFault 对象返回给变量
$contact_id
标签: php soap exception-handling