[akabana-user:176] [S2Flex2]Javaで例外が発生した際にFlex側でFaultイベント発生前にFlex側でExceptionが発生する。
nobu
[E-MAIL ADDRESS DELETED]
2008年 5月 28日 (水) 17:41:13 JST
近藤(nobu)です。
非常に分かりにくい件名ですみません。
S2Flex2 1.0.3-rc1 + S2Flex2-Component 1.0.4-rc2(hotfix3)の環境で、Java側
のS2Daoで"間違いのあるSQL(SQLファイルを使う)"実行させるとFlex側のFault
イベント発生前にFlex側で次のような例外が発生します。※2個発生します。
■1つ目
RangeError: Error #2006: 指定したインデックスが境界外です。
■2つ目
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッ
ドにアクセスすることはできません。
at org.seasar.flex2.rpc.remoting::S2Flex2Service/onFault()[D:\My
Documents\kondo\eclipse_workspace\s2flex2-components-1.0.x\src\main\actionscript\org\seasar\flex2\rpc\remoting\S2Flex2Service.as:291]
at org.seasar.flex2.rpc::RelayResponder/onFaultHandler()[D:\My
Documents\kondo\eclipse_workspace\s2flex2-components-1.0.x\src\main\actionscript\org\seasar\flex2\rpc\RelayResponder.as:100]
この例外の影響で、こちらが用意したFaultイベントは発生しません。
この時S2Daoにてスローされている例外クラスは、org.seasar.framework.
exception.SSQLExceptionになります。
S2Flex2-Componentのソースを追いかけてみたのですが、org.seasar.flex2.
rpc.remoting::S2Flex2Service/onFault()よりも早いタイミングで例外が発生
している為、どのクラスをチェックしたらよいか分かりませんでした。
また、2つ目の件二巻してはonFault()内のvar fault:Fault = new Fault(・・・
のFaultインスタンスを生成する際に例外が発生しています。これの原因は、
onFault第二引数のresultがnullで戻されているのが原因です。
※oparationは"read"入っています。
環境を以前の S2Flex2 1.0.1 + S2Flex2-Component 1.0.2 の組み合わせにする
と例外は発生すること無く、Faultイベントを取得できます。なので、causeRoot
対応時から発生している現象なのかもしれません。
内容の確認をお願いできますでしょうか?また、こちらでも同時に調査したいと
思っていますので、Java側からFlex側に処理が戻されたときに最初に実行される
クラスのメソッド等onFaultに至までに処理されるクラス、メソッドを教えてい
ただければこちらでもデバッグしてみたいと思います。
自力で追いかけられたらよかったのですが、力不足ですみません。
以上、よろしくお願い致します。
akabana-user メーリングリストの案内