ひがやすを技術ブログ

電通国際情報サービスのプログラマ

S2AMF

FlexでJavaBeansとデータをやり取りする場合は、つぎのように_remoteClassプロパティでJavaのクラス名を指定します。このとき、Flexの完全限定クラス名とJava側の完全限定クラス名をあわせる必要があります。


class examples.flex.Employee {

var _remoteClass;
var empno:Number;
var ename:String;
var hireDate:Date;

function Employee() {
_remoteClass ="examples.flex.Employee";
}
}

この方式がOpenAMFとはあいません。OpenAMFを使う場合とFlex純正を使う場合で、Java側のコードもFlex側のコードも変えたくないので、これは問題です。
おそらく、_remoteClassを指定するとAMFGatewayにはカスタムクラスとして渡されると思うので、S1のNazuna Remotingだとそのまま対応できます。
移植しようかなぁ。S2AMFとして。S2OpenAMFのライバル!!!


追記:_remoteObjectは、Object.registerClass()で登録したカスタムクラスとは違うみたい。AMFGatewayには単にオブジェクトとしてやってきて、_remoteClassプロパティがあるだけとみた。
_remoteClassではなく、Object.registerClass("examples.flex.Employee", Employee);なら、S1でもFlex純正でも動きました。
どうする、id:hoso-kawaさん。