AMFGatewayを分析する2
Flash Remotingの引数にObjectを指定した場合、JavaBeansにマッピングしてくれなくなってる!例えばFlashでこう書いたとします。(Remotingのコードは省略)
var obj = new Object(); obj.id = 'ID'; obj.name = 'NAME'; service.method(obj);
以前はこういうオブジェクトをメソッドの引数として渡すと、Java側で宣言されてる引数の型(JavaBeans)に自動的にマッピングしてくれたんですけど、Flexはやってくれなくなってます!!ちなみに解決策はあって
var obj = new Object(); obj.id = 'ID'; obj.name = 'NAME'; obj._remoteClass = 'package.ClassName'; service.method(obj);
のように_remoteClassプロパティを設定してあげればちゃんとJavaBeansとして受け取れます。Flash Remoting MXまではサーバサイドのクラスをFlash側から指定しなくても自動的にやってくれたのにな〜。