Flex1.5とFlex2.0を繋ぐ方法

現在、どの型が渡せるか調査中です。DTOを引数で渡せました。Arrayの取得ができました。DTOの取得ができました。


ビジネスロジックは以下です。

public function login( loginVO : LoginVO ): void
	var opengatewayURL:String = "http://localhost:8080/cm/amfgateway/";
	var connss:NetConnection2 = new NetConnection2();
	connss.objectEncoding = ObjectEncoding.AMF0;
	connss.connect(opengatewayURL);
	var resp:flash.net.Responder = new flash.net.Responder(null);
	connss.call("web.flex.remote.JavaClassRemote.findAllSales", resp,loginVO.username);
}


FDSの場合、DTOには以下のように記述すると思いますが、Flex1.5と接続の場合は使いません。

[Managed]
[RemoteClass(alias="cm.common.DTOAS")]

ポイントはDTOのコンストラクタです。

package flex.common.dto
{
	public class TransferObjectAS
	{
		public var name:String;
		public var age:int;
		public var address:String;
		
		public function TransferObjectAS(){
			registerClassAlias("cm.common.DTOAS",TransferObjectAS);
		}
	}
}


サーバーを呼び出した後の戻り値をキャストします。今回はDTOにキャスト。配列でも取れました。

public function resultFunction(result:*):void{
	var bean:TransferObjectAS = TransferObjectAS(result);
	trace(bean.name);
	trace(bean.value);
}


配列の配列をDataGridに入れて表示するサンプルが動きました。