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