私は web2py (v1.63) と Flex 3 を使用しています。web2py v1.61 では @service デコレーターが導入され、コントローラー関数に @service.amfrpc のタグを付けることができます。その後、 を使用してその関数をリモートで呼び出すことができますhttp://..../app/default/call/amfrpc/[function]
。http://www.web2py.com/examples/default/tools#servicesを参照してください。このような関数を呼び出すように Flex 3 をセットアップする方法の例はありますか? これが私がこれまでに試したことです:
<mx:RemoteObject id="myRemote" destination="amfrpc" source="amfrpc"
endpoint="http://{mysite}/{myapp}/default/call/amfrpc/">
<mx:method name="getContacts"
result="show_results(event)"
fault="on_fault(event)" />
</mx:RemoteObject>
私のシナリオでは、destination 属性と source 属性の値はどうあるべきですか? http://corlan.org/2008/10/10/flex-and-php-remoting-with-amfphp/など、web2py 以外の実装に関する記事をいくつか読みましたが、それらは .../関数に直接マップする URI を持つ代わりに、gateway.php ファイルを使用します。
別の方法として、flash.net.NetConnection を使用してリモート関数を正常に呼び出すことができましたが、私が見つけたドキュメントのほとんどは、これが AMF を実行する古い Flex 3 以前の方法であると見なしています。http://pyamf.org/wiki/HelloWorld/Flexを参照してください。NetConnection コードは次のとおりです。
gateway = new NetConnection();
gateway.connect("http://{mysite}/{myapp}/default/call/amfrpc/");
resp = new Responder(show_results, on_fault);
gateway.call("getContacts", resp);
-ロブ