2009-05-27 5 views
0

Ich versuche BlazeDS AMFConnection-Klasse zu verwenden, um eine Verbindung zu pyamf herzustellen, aber wenn ich AMFConnection.call() aufruft, bekomme ich den HTTP-Status 400 (Bad Request - "Der Anfragetext war kann nicht erfolgreich decodiert werden. "). Ich folge mehr oder weniger diesem Beispiel: (pyamf.org/wiki/ClientHowTo ... Entschuldigung, ich bin ein neuer Benutzer, also schätze ich, dass ich keine Hyperlinks verwenden kann. Füge ein "http: //" an diese wenn Sie wollen, dass sie)BlazeDS - AMFConnection.call gibt HTTP 400 Status

Hier ist mein Code folgen:

package amfconnectiontest; 
import flex.messaging.io.amf.client.AMFConnection; 
import flex.messaging.io.amf.client.exceptions.*; 

public class Main { 

public static void main(String[] args) { 
    AMFConnection amfConnection = new AMFConnection(); 

    String url = "http://demo.pyamf.org/gateway/recordset"; 
    String service = "service.getLanguages"; 
    try 
    { 
     amfConnection.connect(url); 
    } 
    catch (ClientStatusException cse) 
    { 
     System.out.println(cse); 
     return; 
    } 
    // Make a remoting call and retrieve the result. 
    try 
    { 
     Object result = amfConnection.call(service); 
     System.out.println("results: " + result.toString()); 
    } 
    catch (ClientStatusException cse) 
    { 
     System.out.println(cse); 
    } 
    catch (ServerStatusException sse) 
    { 
     System.out.println(sse); 
    } 

    // Close the connection. 
    amfConnection.close(); 
} 
} 

Irgendwelche Ideen?

Antwort

0

Die Fähigkeit, BlazeDS-spezifische Nachrichten (die ISmallMessage implementieren) zu dekodieren, ist auf dem PyAMF-Trunk (r2726 und höher) gelandet. Siehe das zugehörige Ticket - http://pyamf.org/ticket/581

Diese Version oder eine sehr ähnliche wird wahrscheinlich 0,5 werden. Wenn Sie sich mit einem BlazeDS-Dienst verbinden möchten, würde ich vorschlagen, den Stamm zu überprüfen.