一直盯着这个例外,并且没有任何线索可能出错。
致命错误:
的参数错误Exception([string $exception [, long $code ]])
看起来非常简单,Exception需要一条消息和一个可选代码,但由于某种原因代码不符合我的要求。即使我删除了最后一个参数$e
(用于保持堆栈跟踪),也会弹出同样的错误。
try {
// ...
} catch (Exception $e) {
throw new Exception('Client cannot be created', 0, $e);
}
只有当我省略代码(0
)和前一个异常($e
)时,才会正确抛出错误。
try {
// ...
} catch (Exception $e) {
throw new Exception('Client cannot be created');
}
答案 0 :(得分:1)
虽然我从未使用过SOAP技术,所以只从SoapClient manual
例外选项是一个布尔值,用于定义soap错误 抛出
类型的异常SoapFault
和 soapFault 语法为
SoapFault::SoapFault ( string $faultcode ,
string $faultstring [,
string $faultactor [,
string $detail [,
string $faultname [,
string $headerfault ]]]] );
因此我建议您查看手册上的所有示例。在这里我有一个例子
要获取自定义肥皂错误代码,请使用catch $e->faultcode
代替$e->getCode
。
<?php
try {
// ...
} catch (SoapFault $e) {
echo $e->faultcode;
}
?>
又一个例子:
try {
$options = array(
'soap_version'=>SOAP_1_1,
'exceptions'=>true,
'trace'=>1,
'cache_wsdl'=>WSDL_CACHE_NONE
);
$client = new SoapClient('http://www.example.com/end_point.wsdl', $options);
} catch (Exception $e) {
echo "<h2>Exception Error!</h2>";
echo $e->getMessage();
}
希望它有所帮助。