Ich benutze web2py (v1.63) und Flex 3. web2py v1.61 eingeführt die @ Service Dekoratoren, mit denen Sie eine Controller-Funktion mit @ service.amfrpc taggen können . Sie können diese Funktion dann remote mit http://..../app/default/call/amfrpc/[function]
aufrufen. Siehe http://www.web2py.com/examples/default/tools#services. Hat jemand ein Beispiel dafür, wie Sie eine Flex 3 einrichten würden, um eine Funktion wie diese aufzurufen? Hier ist, was ich bisher versucht habe:Verwenden von mx: RemoteObject mit web2py @ service.amfrpc dekorator
<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>
In meinem Szenario, was sollte der Wert der Ziel-und Quellattribute sein? Ich habe ein paar Artikel über Nicht-Web2py-Implementierungen gelesen, z. B. http://corlan.org/2008/10/10/flex-and-php-remoting-with-amfphp/, aber sie verwenden eine .../gateway.php-Datei, anstatt einen URI zu haben, der direkt der Funktion zugeordnet ist.
Alternativ konnte ich flash.net.NetConnection verwenden, um erfolgreich meine Remote-Funktion aufzurufen, aber die meiste Dokumentation, die ich gefunden habe, betrachtet dies als die alte, Pre-Flex 3-Möglichkeit von AMF. Siehe http://pyamf.org/wiki/HelloWorld/Flex. Hier ist der NetConnection Code:
gateway = new NetConnection();
gateway.connect("http://{mysite}/{myapp}/default/call/amfrpc/");
resp = new Responder(show_results, on_fault);
gateway.call("getContacts", resp);
-ROB