PDA

Volledige versie bekijken : Hoe spoor ik de oorzaak op van niet-functionerende responder?


Ronald C
%Europe/Berlin %780 %2007, 19:44
Al lange tijd niet meer op dit forum geweest. Zo lang dat ik me opnieuw moest registreren P) Afijn, leuk om weer terug te zijn!

Zojuist heb ik een test-applicatie gemaakt met Flex 2.0 en Cairngorm.

Hierin is een getPoemsCommand-class volgens het volgende (bekende) stramien:

package nl.pp.command {

import com.adobe.cairngorm.commands.ICommand;
import com.adobe.cairngorm.control.CairngormEvent;
import nl.pp.business.PoemsDelegate;
import nl.pp.model.PPModelLocator;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.IResponder;
import mx.controls.Alert;
import mx.collections.ICollectionView;
import mx.collections.Sort;
import mx.collections.SortField;

public class GetPoemsCommand implements ICommand, IResponder {

public function execute( event : CairngormEvent ): void {
var delegate : PoemsDelegate = new PoemsDelegate( this );
delegate.getPoems();
}


public function result( data:Object ):void {
Alert.show( "Poems retrieved!" );
}


public function fault( info:Object ):void {
Alert.show( "Poems could not be retrieved!" );
}

}

}

... en een PoemsDelegate class als volgt:

package nl.pp.business {

import org.flashdevelop.utils.FlashOut3;
import com.adobe.cairngorm.business.ServiceLocator;
import mx.rpc.AsyncToken;
import mx.rpc.IResponder;
import mx.rpc.Responder
import mx.rpc.remoting.RemoteObject;

public class PoemsDelegate {

public function PoemsDelegate( responder : IResponder ){
this.responder = responder;
this.service = ServiceLocator.getInstance().getService( "poemService" );
}


public function getPoems() : void {
var call: AsyncToken = service.getPoems("kg_", 0, "datum");
call.addResponder(this.responder);
}

private var responder : IResponder;
private var service : Object;
}
}

Helemaal volgens het boekje dus! ;)

Als ik de applicatie start, zie ik in ServiceCapture dat de service correct wordt aangeroepen en een correct resultaat geeft (alle gedichten netjes in een array);

Het probleem is alleen: de result-method getPoemsCommand wordt niet aangeroepen!

Ik heb mijn hoofd er over gebroken en zie geen manier meer om de oorzaak op te sporen. Weet iemand raad?

Deniz
%Europe/Berlin %628 %2007, 16:04
Ziet er idd volgens het boekje uit ...
Hoe gebruik je de remote service tags in services.xml? Heb je de result and fault tags daar wel weggelaten?

Ronald C
%Europe/Berlin %805 %2007, 20:20
Dank je Deniz!!

Toen ik een aantal andere problemen in de app had opgelost, liep dit gedeelte opeens ook. Blijkbaar werd de app dus 'opgehouden' door een ander probleem (zie ook hier (http://www.flashfocus.nl/forum/showthread.php?p=272885#post272885) mijn nieuwe post over runtime-errors! :) )