ひがさんがS2Flex2 Beta1をリリースしました。
これでFlex2とからSeasar2のコンポーネントを呼び出せるようになります。
CFAdapter(ColdFusion/Flex Connectivity)を利用して接続していた当初と異なりちゃんとAMF0のGateway実装も含まれています。
こたつで力尽きて寝ている日々が続いてしまったので、AMF0で接続するmxmlタグはこのリリースには間に合いませんでしたが、遅れること3日サンプルファイルを追加しました。
[追記]
サンプルファイルとダウンロードページの更新はcommitしたのですが、反映用ページがエラー(503)なのでまだリリースが終わっていませんでした。m(__)m
[さらに追記 13:31]
リリースしました。
追加したサンプルは、MXMLタグを使った足し算サンプルになります。
見た目や機能はもともとあったものと変わりません。
詳細は追加したサンプルファイルを見てもらえればと思っていますが、mxmlタグで以下のように書くことができます。
<s2:SimpleAMF id="amf" destination="addService"
result="onResult(event)" fault="onFault(event)" />
そして呼び出す側のコード(AS3)はこんな感じです。
public function calculate():void{var addDto:AddDto = new AddDto();
addDto.arg1=int(arg1_txt.text);addDto.arg2=int(arg2_txt.text);
amf.remoteCall("calculate2",addDto);
}
SimpleAMFタグ(そのうち別の名前のタグになるかもしれません。)でRemoteObject風に宣言してremoteCallメソッドで呼び出します。
第一引数が、メソッド名、それ以降がメソッドに渡すパラメータです。
上記の例では"addDto"ひとつだけ渡していますが
呼び出すメソッドにあった数だけ渡すことができます。
(別の例)
amf.remoteCall("calculate",arg1_txt.text,arg2_txt.text);
また以前は、gatewayUrlをタグの中で渡していましたが、destination属性からgatewayUrlを取得することで指定をなくすことも可能になりました。
gatewayUrlの指定を省略する為には、swfコンパイル時の引数で設定ファイル(flex-services.xml)を指定する必要があります。
Projectを選択して、右クリック->Properties->Flex Compilerにある「Additional compiler arguments」に--servicesオプションで指定します。
--services=.\lib\flex-services.xml
サンプルを追加したときに、コンパイル済みswcと上記の設定を反映してありますので、"flex2_example"の新しいファイルをダウンロードすればすぐに試すことができます。
変更したSimpleAMFタグのソースもすでにSVNには反映しています。
近いうちにリリースします。(できると思います..。)
S2Flex2 Beta1
http://s2flex2.sandbox.seasar.org/ja/
ServerConfig
これも(Flex Enterprise Services only)ってあるので、問題でてきそう..
http://livedocs.macromedia.com/labs/1/flex/langref/mx/messaging/config/ServerConfig.html
この記事に対するコメント