2011-11-10 8 views
0

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

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

例の助けを借りてより説明してみましょう。私たちは、サーバー側で、次のPHPコードを持っているとしましょう:フレックス側

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

、上記のPHPコードを呼び出すHTTPServiceインスタンスがあると言います。また、それは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の他の分野で「例外メッセージ」を探したが、それを見つけることができませんでした。

+0

RTFM:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript /3/mx/rpc/events/FaultEvent.html –

+0

@nikc:これはtrace(evt.toString)が示すものです: [FaultEvent fault = [RPCフォールトfaultString = "HTTPリクエストエラー" faultCode = "Server.Error。リクエスト "faultDetail ="エラー:[IOErrorEvent type = "ioError" bubbles = false cancelable = false eventPhase = 2 text = "エラー#2032:ストリームエラー。 URL:http://192.168.1.119/flex_ssh2_exception.php "]。URL:http://192.168.1.119/flex_ssh2_exception.php"] messageId = "07CC2B64-D064-8EB3-CF6D-8C74D4BE7125" type = "fault"バブル= false cancelable = true eventPhase = 2] –

答えて

関連する問題