簡體   English   中英

Zend Framework 2 SOAP故障異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM