0

Flex を使用して、PHP によってスローされた例外をキャッチする方法を探していHTTPServiceます。AMFPHP を使わずにそれを行うことは可能ですか?

私の現在の実装では、PHP で例外がスローされた場合、FaultEvent.FAULT実際には Flex 側で a がディスパッチされます。唯一の問題は、例外のメッセージ文字列が のどこにも見つからないことですFaultEvent

例を使って、よりよく説明してみましょう。サーバー側に次の PHP コードがあるとします。

<?php
  throw new Exception("Exception message");
?>

フレックス側でHTTPServiceは、上記の PHP コードを呼び出すインスタンスがあるとします。さらに、 で次の関数を呼び出しますFaultEvent.FAULT

private function onFaultyResult(evt:FaultEvent):void {
  //How do I get the exception message here?    
}

この関数で PHP から例外メッセージを取得するにはどうすればよいですか?

注:trace(evt.toString())与えます:

[FaultEvent fault=[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: 192.168.1.119/exception.php"]. URL: 192.168.1.119/exception.php"] messageId="7FF021A3-8C83-CB14-081D-8C8438802204" type="fault" bubbles=false cancelable=true eventPhase=2]

デバッガーの他のフィールドで「例外メッセージ」も探しましevtたが、見つかりませんでした。

ありがとうございました

4

1 に答える 1

0

根本的な問題は、Flash がサーバーから返されたステータス <> 200 を処理できないことです。 /

于 2011-11-10T12:43:28.507 に答える