私はFlashBuilderツールを使用してZend AMFサービスを作成しました。私が試したかったのは、自動的に作成されたメソッドの1つを変更して、その動作を見るために例外をスローすることでした。Zend AMFと例外処理
[RPCフォールトフォールトストリング= "チャネル切断" 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:mx.rpc ::レスポンダで345] /障害()[E:\ DEV \ 4.0.0 \枠組み\プロジェクト\ 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] at NetConnectionMessageResponder/channelDisconnectHandler()[E: \ dev \ 4.0.0 \ frameworks \ projects \ rpc \ src \ mx \ messaging \ channels \ NetConnectionChannel.as :684] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.messaging :: Channel/disconnectSuccess()[E:\ dev \ 4.0.0 \ frameworks] \プロジェクト\ RPC \ SRC \ MX \メッセージング\ Channel.as:mx.messaging.channelsで1214] :: NetConnectionChannelは/ internalDisconnect()[E:\ DEV \ 4.0.0 \枠組み\プロジェクト\ RPC \ SRC \ MX \メッセージング\チャンネル\ NetConnectionChannel.as:mx.messaging.channelsで175] ::たAMFChannel/internalDisconnect()[E:\ DEV 4.0.0 \枠組み\ \プロジェクト\ RPC \ SRC \ MX \メッセージング\チャンネル\たAMFChannel .as:mx.messaging.channelsで355] ::たAMFChannel /たstatusHandler()[E:\ DEV 4.0.0 \枠組み\ \プロジェクト\ RPC \ SRC \ MX \メッセージング\チャンネル\ AMFChannel.as:445]
チャンネルが切断されます...
これはコードである[RPC断層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文:
throw(新しい例外( 'あなたが必要とするエラーメッセージ'、$ errorCode));
私は本当にこのことを期待していませんでした。どうすればそれを動作させることができますか?
ありがとうございました!