[英]How do I view the last request from Zend_Soap_Client->getLastRequest() after a soap fault exception?
[英]Zend Framework 2 SOAP Fault Exception
我想知道SOAP代碼中原始異常的詳細信息是什么,我有一個SOAP服務器,可以按以下方式處理請求:
$options = array(
'soap_version' => SOAP_1_2,
'actor' => someUriAString,
'encoding' => 'UTF-8',
'uri' => someUriAString);
$server = new Server(null, $options);
$server->setClass('SomeClass');
$server->setReturnResponse(true);
$serverResponse = $server->handle();
然后檢查是否發生以下異常:
if ($serverResponse instanceof \SoapFault) {
//log the $serverResponse exception details
}
但是當我記錄此異常時,我得到了如下信息:
exception 'Exception' with message 'SoapFault exception: [Receiver] Unknown error
我需要知道的是原始的異常詳細信息...例如SQL異常,或例如ORMException等。 即我需要確切的原始異常詳細信息...
我已經嘗試過如下示例的registerFaultException
:
$server->registerFaultException('Doctrine\ORM\ORMException');
我不知道這是否對,但是問題是可能會發生其他類型的異常,因為我不知道代碼中會發生什么異常,所以無法注冊它們!
這取決於期望的設置方式,但是您可以獲取上一個異常消息:
$message->getPrevious();
您可以像這樣遍歷它們:
if($message instanceof \Exception) {
do {
echo sprintf(
"%s:%d %s (%d) [%s]\n",
$message->getFile(),
$message->getLine(),
$message->getMessage(),
$message->getCode(),
get_class($message)
);
}
while($message = $message->getPrevious());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.