Olá João.
Esse é o mecanismo que estou a utilizar.
Não percebo é como as coisas funcionam do lado do java.
Este é o código que tenho do lado do flex:

                                var cs:ChannelSet = new ChannelSet(); 
                                var streamingAMF:AMFChannel = new 
AMFChannel("my-streaming-amf", 
                                        
"http://localhost:7001/IpTV/messagebroker/streamingamf";); 
                                streamingAMF.pollingEnabled = true; 
                                streamingAMF.pollingInterval = 8000; 
                                cs.addChannel(streamingAMF);
                                
                                var msg:AsyncMessage = new AsyncMessage(); 
                                //creating new msg with "New" to get current 
state. 
                                msg.body = "New"; 
                                producer.channelSet = cs;
                                producer.connect();
                                producer.send(msg);
                                
                                consumer.channelSet = cs;
                                consumer.subscribe();

E do lado do java tenho isto:

        @Override
        public Object invoke(Message message) {
                AsyncMessage newMessage = (AsyncMessage)message;
        newMessage.setBody("Client " + message.getBody() + "is ready!");
        MessageService msgService = 
(MessageService)getDestination().getService();
        msgService.pushMessageToClients(newMessage, true);
        return null;
        }

Quando executo o método do flex que tem o producer e o consumer, ele invoca o 
método invoke do lado do java, mas depois já não me devolve a mensagem 
novamente para o cliente (através do 
msgService.pushMessageToClients(newMessage, true);). 

Sabes dizer-me porque é que não funciona?

Joel Silva
Analyst

.............................................................................................................
 

Novabase
Av. D João II, lote 1.03.2.3, Parque das Nações, 1998-031, Lisboa - Portugal
mailto:[email protected]
www.novabase.pt 

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of João 
Fernandes
Sent: segunda-feira, 26 de Janeiro de 2009 18:07
To: [email protected]
Subject: [riapt] Re: Consumir webservice em Java e despoletar evento no Flex


Boa tarde Joel,

para produzir uma mensagem para o Flex, terá de utilizar um consumer 
para escutar um destino/tópico (extendendo a possibilidade de usar 
sub-tópicos). Algo deste género

<script >
       public function subscribe():void
       {
          myDestination.subscribe();
       }
       ....
</script>
<mx:Consumer destination="myJavaDestination"  id="myDestination" 
message="myMessageHandler(event)" />

O destino myJavaDestination deverá estar configurado no 
services-config.xml ou ser criado em runtime (o BlazeDS tem a API 
necessária para o fazer).


-- 

João Fernandes

Adobe Certified Expert
Adobe Community Expert
http://www.onflexwithcf.org
http://www.riapt.org
Portugal Adobe User Group (http://aug.riapt.org)






--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para 
[email protected]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a