[akabana-user:119] Re: [S2Flex2]戻り値の型情報がObjectになります
hirossy
[E-MAIL ADDRESS DELETED]
2007年 5月 11日 (金) 10:49:43 JST
ふなくらさん。いつもすみません。
> 1.自作ValueObjectというのはflex側のasクラスですね?
> 2.1が正しいと仮定して、RemoteClassのメタタグはありますか?
> 例)
> [RemoteClass(alias="examples.flex2.add.dto.AddDto")]
はい。ValueObjectはasクラスのことで、メタタグを記述しています。
> 3.Flexアプリケーション側で結果を受け取るのはどのようにされていますか?
Cairngorm2.1を使用しています。
Service.mxmlにて
・・・
<s2:S2Flex2Service id="hogeService" destination="hogeService"
gatewayUrl="http://localhost:8080/hoge/gateway"
result="event.token.resultHandler( event );"
fault="event.token.faultHandler( event );" showBusyCursor="true" />
・・・
としてS2Flex2Serviceを定義し、
Delegateクラスにて
・・・
this.service = ServiceLocator.getInstance().getService("hogeService");
var call:Object = this.service.remoteMethod(dto);
call.resultHandler = this.responder.result;
call.faultHandler = this.responder.fault;
・・・
としてS2Flex2Serviceを実行しています。
ここでのthis.responderは、
Delegateの呼び出し元であるCommandクラスインスタンスであり、
Commandクラスでは、resultメソッドを実装して結果を取得しています。
・・・
public function result(data:Object):void{
var retObj:Array = data.result as Array;
}
・・・
といった具合です。
Commandクラスのdata.resultの配列の一つ一つの要素を
・・・
var vo:ValueObjectClass = retObj[i] as ValueObjectClass;
・・・
という感じでValueObject型として取得できていたのですが、
前述のとおり環境を変えたら、型変換ができなくなってしまいました。
また、javaからの結果が(Arrayでなく)1件の場合についても同様の現象です。
Cairngormを使用していることと、開発環境を変えたことで
原因特定が難しくなってしまいました。
一度、私のほうでServiceクラス周りのCairngorm使用を止めて
S2Flex2-componentsのみの使用を試してみます。
お手数をお掛けしてすみません。
--
-----------------------------------------------------------
[E-MAIL ADDRESS DELETED] (Hiroshi Yamamoto)
http://d.hatena.ne.jp/hirossy1977/
-----------------------------------------------------------
akabana-user メーリングリストの案内