Hallo Forum,
ich beschäftige mich aktuell mit einem Projekt, daß eine Anfrage an einen Webservice schickt und die Antwort dann verarbeiten soll. Die Operation des Webservices heißt "call".
Kurz ein Überblick über den relevanten Code:
Wenn die Anwendung fertig gelandet ist, wird folgende Methode aufgerufen:
protected function application_creationComplete(event:FlexEvent):void {
webService = new WebService();
webService.addEventListener(LoadEvent.LOAD,onWebService_load);
webService.loadWSDL("xxx?wsdl");
}
Nachdem die WSDL geladen wurde, wird dann diese Methode aufgerufen:
protected function onWebService_load(event:LoadEvent):void {
webService.call.addEventListener(ResultEvent.RESULT, call_result);
webService.call(serviceName, parameter);
}
Nach dem Operationsaufruf kommt noch die letzte Funktion dran:
protected function call_result(event:ResultEvent): void {
trace("DESC: " + event.result);
}
So weit, so gut. Rufe ich die Anwendung auf, sehe ich immer folgendes Ergebnis: "DESC: null". Beim Debuggen sieht man, daß im Result auch wirklich nichts vorhanden ist, obwohl dort eigenlich ja das Ergebnis des Webservices sein soll. Lasse ich Wireshark laufen, sehe ich, daß ich vom Server eine Antwort auf den Werbservice erhalte und daß die Antwort genauso aussieht, wie sie aussehen soll.
Scheinbar scheint das Problem die Verarbeitung des Result-Events zu sein. Ich weiß nur leider nicht mehr weiter. Teste ich den Code mit einem Whois-Webservice, dann erhalte ich als Ergebnis "DESC: Ergebnis Whois". Mein Code müßte also richtig sein.
Ich hoffe, das ist einigermaßen verständlich erklärt und einer von Euch kann mir helfen.
Grüße,
Teutates
ich beschäftige mich aktuell mit einem Projekt, daß eine Anfrage an einen Webservice schickt und die Antwort dann verarbeiten soll. Die Operation des Webservices heißt "call".
Kurz ein Überblick über den relevanten Code:
Wenn die Anwendung fertig gelandet ist, wird folgende Methode aufgerufen:
protected function application_creationComplete(event:FlexEvent):void {
webService = new WebService();
webService.addEventListener(LoadEvent.LOAD,onWebService_load);
webService.loadWSDL("xxx?wsdl");
}
Nachdem die WSDL geladen wurde, wird dann diese Methode aufgerufen:
protected function onWebService_load(event:LoadEvent):void {
webService.call.addEventListener(ResultEvent.RESULT, call_result);
webService.call(serviceName, parameter);
}
Nach dem Operationsaufruf kommt noch die letzte Funktion dran:
protected function call_result(event:ResultEvent): void {
trace("DESC: " + event.result);
}
So weit, so gut. Rufe ich die Anwendung auf, sehe ich immer folgendes Ergebnis: "DESC: null". Beim Debuggen sieht man, daß im Result auch wirklich nichts vorhanden ist, obwohl dort eigenlich ja das Ergebnis des Webservices sein soll. Lasse ich Wireshark laufen, sehe ich, daß ich vom Server eine Antwort auf den Werbservice erhalte und daß die Antwort genauso aussieht, wie sie aussehen soll.
Scheinbar scheint das Problem die Verarbeitung des Result-Events zu sein. Ich weiß nur leider nicht mehr weiter. Teste ich den Code mit einem Whois-Webservice, dann erhalte ich als Ergebnis "DESC: Ergebnis Whois". Mein Code müßte also richtig sein.
Ich hoffe, das ist einigermaßen verständlich erklärt und einer von Euch kann mir helfen.
Grüße,
Teutates
Zuletzt bearbeitet: