Я создал услугу Zend AMF, используя инструменты FlashBuilder. То, что я хотел попробовать, - это изменить один из тех автоматически созданных методов, чтобы вызвать исключение, чтобы увидеть поведение. Вместо того, чтобы исключение сериализовалось обратно в мое приложение Flex, оно дает мне следующее:Zend AMF и обработка исключений
[RPC Ошибка faultString = "Отключен канал" faultCode = "Client.Error.DeliveryInDoubt" faultDetail = "Отключен канал до получения подтверждения" ] at mx.rpc :: AbstractInvoker/http: //www.adobe.com/2006/flex/mx/internal :: faultHandler() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ AbstractInvoker.as: 345] at mx.rpc :: Responder/fault() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ Responder.as: 68] at mx.rpc :: AsyncRequest/fault() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ rpc \ AsyncRequest.as: 113] в NetConnectionMessageResponder/channelDisconnectHandler() [E: \ DEV \ 4.0.0 \ рамки \ Projects \ RPC \ SRC \ тх \ сообщениями \ каналы \ NetConnectionChannel.as : 684] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() в mx.messaging :: Channel/disconnectSuccess() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ Channel.as: 1214] в mx.messaging.channels :: NetConnectionChannel/internalDisconnect() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channels \ NetConnectionChannel.as: 175] в mx.messaging.channels :: AMFChannel/internalDisconnect() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channels \ AMFChannel .as: 355] в mx.messaging.channels :: AMFChannel/statusHandler() [E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channels \ AMFChannel.as: 445]
Канал отключается ...
[RPC Fault faultString = "Канал отключен" faultCode = "Client.Error.DeliveryInDoubt" faultDetail = "Канал отключен до того, как было получено подтверждение"]
Это код:
общественная функция getAllUser() {
$stmt = mysqli_prepare($this->connection, "SELECT * FROM $this->tablename");
$this->throwExceptionOnError();
mysqli_stmt_execute($stmt);
$this->throwExceptionOnError();
$rows = array();
mysqli_stmt_bind_result($stmt, $row->id, $row->user_group_id, $row->username, $row->password, $row->active, $row->activation_key, $row->timezone, $row->created_on, $row->modified_on);
while (mysqli_stmt_fetch($stmt)) {
$row->created_on = new DateTime($row->created_on);
$row->modified_on = new DateTime($row->modified_on);
$rows[] = $row;
$row = new stdClass();
mysqli_stmt_bind_result($stmt, $row->id, $row->user_group_id, $row->username, $row->password, $row->active, $row->activation_key, $row->timezone, $row->created_on, $row->modified_on);
}
mysqli_stmt_free_result($stmt);
mysqli_close($this->connection);
$errorCode = 1;
throw(new Exception('the error message you want', $errorCode));
return $rows;
}
Примечание вбрасывание заявление:
throw (новое исключение («сообщение об ошибке, которое вы хотите», $ errorCode));
Я действительно этого не ожидал. Как я могу заставить его работать?
Благодарим вас за продвинутый !!!