【发布时间】:2009-05-29 16:52:51
【问题描述】:
我正在使用 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 属性的值应该是多少?我已经阅读了几篇关于非 web2py 实现的文章,例如 http://corlan.org/2008/10/10/flex-and-php-remoting-with-amfphp/,但它们使用 .../gateway.php 文件而不是直接映射到函数的 URI。
另外,我已经能够使用 flash.net.NetConnection 成功调用我的远程函数,但我发现的大多数文档都认为这是旧的、Flex 3 之前的 AMF 方式。见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);
-罗伯
【问题讨论】:
标签: python apache-flex flex3 web2py pyamf