[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 メーリングリストの案内