• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Flex allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-02-2010, 11:41   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
[BlazeDS messaging] Flex Frontend bekommt keine Nachrichten

Hallo,

Ich probiere mich gerade in messaging mit BlazeDs für Flex.

Ich habe ein Tutorial über dieses Thema gelesen und nachgebaut.
Im Grund läuft auch alles wie beschrieben nur kommen keine gesendeten Daten vom Server bei dem Frontend an. Um zu überprüfen, wo sich der Fehler versteckt habe ich in dem Service einen println eingebaut. Über die Serverconsole sehe ich immer die erwartete Nachricht vom Server aber es wird keine Nachricht gesendet hier mal der Quelltext zu meinem Problem


JavaService:

Code:
public static class MessageThread extends Thread
	{
		
		public boolean running = true;
		
		public void run()
		{
			
			MessageBroker msgBroker = MessageBroker.getMessageBroker(null);
			String clientID = UUIDUtils.createUUID(false);
			
			int counter = 0;
			while(running)
			{
				String message = "Message_" + counter++;
				
				AsyncMessage msg = new AsyncMessage();

				msg.setDestination("messageDestination");
				msg.setClientId(clientID);
                msg.setMessageId(UUIDUtils.createUUID(false));
                msg.setTimestamp(System.currentTimeMillis());
				msg.setBody(message);
				
				System.out.println("sending message: " + counter);
				
				msgBroker.routeMessageToService(msg, null);
				try
				{
					Thread.sleep(1000);
				}
				catch (InterruptedException e) {}

			}		
		}
	}
}
Frontend:

Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 
	 creationComplete="init()"
	layout="absolute">
	
	<mx:Consumer id="consumer"  destination="messageDestination" message="messageHandler(event)"/>
		
	
	
	<!-- remoting Objects -->
	<mx:RemoteObject id="REMOTE" destination="remoteDestination">
		<mx:method name="start" />
		<mx:method name="stop" />	
	</mx:RemoteObject>
	
	<mx:Script>
		<![CDATA[
			import mx.messaging.events.MessageFaultEvent;
			import mx.messaging.events.MessageAckEvent;
			import mx.rpc.events.FaultEvent;
			import mx.controls.Alert;
			import mx.messaging.events.MessageEvent;
			
			private function init():void
			{
				consumer.subscribe();
				consumer.addEventListener(MessageAckEvent.ACKNOWLEDGE,msgIncome);
				consumer.addEventListener(MessageFaultEvent.FAULT, faulthandler);

			}
			
			private function msgIncome(event : MessageAckEvent):void
			{
				
				mx.controls.Alert(event.message.toString());	
			}
			
			private function faulthandler(event : MessageFaultEvent):void
			{
				
				mx.controls.Alert(event.message.toString());
				
			}
			
			
			private function messageHandler(event:MessageEvent):void
			{
				
				mx.controls.Alert("Message erhalten");
				
				var message : String = (String)(event.message.body);
				OUTPUT.text += message + "\n";
				
			}
			
			
			private function start():void
			{
				REMOTE.start();				
			}
			
			private function stop():void
			{
				REMOTE.stop();
			}
			
			
		]]>
	</mx:Script>
	<mx:Button x="10" y="10" label="Start thread" click="start()"/>
	<mx:Button x="114" y="10" label="stop thread" click="stop()"/>
	<mx:TextArea x="10" y="40" id="OUTPUT"/>
	
</mx:WindowedApplication>
Habe ich vielleicht irgend was vergessen , in anderen Thread zu diesem Thema ist immer die Sprache von verschiedenen Adaptern und JMV, jedoch braucht ich dieses nicht bei dem Tutorial.

Das arbeiten mit Java als Backend funktioniert bestens über Remoting nur macht mir momentan das Messaging Probleme...

smoo
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 12:03   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Stimmt denn die Konfiguration?
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 13:39   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
hallo Omega ,
ich bin gerade auf Arbeit, werde später mal die Config dazu posten...

danke erstmal für deine Bemühung

smoo
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 19:47   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
Ich habe mal ein reines Messaging eingebaut... dabei ist mir aufgefallen das es als WEbapp funktioniert nur mit AIR hat es seine Probleme.

Ich hatte zu dem Thema gelesen, dass man für die parameter in der Service.config.xml eine fest URl angeben soll um dieses per AIR zum laufen zu bringen nur gehts dies nur mit Remoting
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 19:58   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Ich nutze die services-config.xml nicht mehr. Hast du die ROs mal mit harten Werten im Code laufen lassen?
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 20:20   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
wie meinst du das mit du nutzt die ...config.xml nicht mehr

ich habe die channels mal zur Laufzeit erzeugt...

ich will gleich mal die destinations auch so erzeugen
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 20:33   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Ich nutze keine Konfigurationen mehr für die Client Kompilierung.
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 20:36   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
könntest du mir kurz erläutern wie du dann die Konfigurationen machst?

ich suche mich gerade dumm wie ich die Destinations zur Laufzeit erzeuge...

hättest du da nen Tipp?
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 22:45   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
ich habe nochmal rumprobiert...

wenn ich es mit den genau gleichen Files als Webapp konfiguriere geht alles so wie ich es will nur wenn es als Air Applikation laufen soll kann bekomme ich nichts zurück weder vom Server noch als reiner Messaging Chat...

Der Grund scheint in der Konfiguration für Air zu liegen...
hat jemand Erfahrung für so eine Konfiguration...
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 22:59   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Hast du mal listener für all die anderen Events registriert?
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 23:01   #11 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Aus der Dokumentation:
Zitat:
However, make sure that you do not have any server tokens in URLs in the configuration files. In the web application that ships with BlazeDS, server tokens are used in the channel endpoint URLs in the WEB-INF/flex/services-config.xml file, as the following example shows:
Code:
<endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf"
class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
You would change that line to the following:
Code:
<endpoint url="http://your_server_name:8400/samples/messagebroker/streamingamf" class="flex.messaging.endpoints.StreamingAMFEndpoint"/>
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 23:08   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
die Dokumentation hab ich dazu schon gelesen
hab dies auch auf meinen Localhost geändert, deswegen funktioniert das Remotig auch...

Ich habe mal FaultHandler registriert:
dann hat dieser dieses ausgegeben

Code:
TypeError: Error #1034: Type Coercion failed: cannot convert "(mx.messaging.messages::ErrorMessage)#0
  body = (Object)#1
  clientId = (null)
  correlationId = "F218B358-92A6-EF10-8EC5-D7EA1D14C592"
  destination = ""
  extendedData = (null)
  faultCode = "Client.Error.Subscribe"
  faultDetail = "The consumer was not able to subscribe to its target destination."
  faultString = "Consumer subscribe error"
  headers = (Object)#2
  messageId = "97BAD388-DFDA-C8E4-B6A5-D7EA7F673990"
  rootCause = (null)
  timestamp = 0
  timeToLive = 0" to mx.controls.Alert.
	at xxx/faulthandler()[C:\Users\smoo\Flex\xxx\flex_src\xxx.mxml:44]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at mx.messaging::MessageAgent/fault()[C:\autobuild\galaga\frameworks\projects\rpc\src\mx\messaging\MessageAgent.as:730]
	at mx.messaging::AbstractConsumer/fault()[C:\autobuild\galaga\frameworks\projects\rpc\src\mx\messaging\AbstractConsumer.as:561]
	at mx.messaging::AbstractConsumer/resubscribe()[C:\autobuild\galaga\frameworks\projects\rpc\src\mx\messaging\AbstractConsumer.as:839]
	at flash.utils::Timer/_timerDispatch()
	at flash.utils::Timer/tick()
mir hilft die Fehlermeldung nur nicht wirklich zum Lösung des Problems...
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 23:12   #13 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Kannst du mal die services-config posten?
Omega Psi ist offline   Mit Zitat antworten
Alt 16-02-2010, 23:22   #14 (permalink)
Neuer User
 
Registriert seit: Oct 2008
Beiträge: 18
ach man(n)!

wenn man nur den Amf Channel richtig angibt und den Amf für das Messaging nicht dann sollte man echt aufhöre...

Ich hatte die Config aus einem Projekt nur mit Remoting genommen und da waren die parameter für die anderen channels nicht richtig gesetzt...

ach menno...
smoo ist offline   Mit Zitat antworten
Alt 16-02-2010, 23:26   #15 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Ja, einen schönen Abend noch
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Flex Java BlazeDs Problem ArrayCollection Nickleby Flex programmieren 5 03-02-2010 12:07
Komplexes Frontend in Flex Sythus Flex programmieren 6 07-03-2009 12:50
Kompilierte swf-Datei aus Flex zeigt keine Bilder an smaxx Flex programmieren 4 05-02-2009 15:32
Adobe Flex User Group Hamburg: Flex und BlazeDS marc Konferenzen und Treffen 6 04-02-2009 09:42
Flashsite Frontend aus Flex kompiliert joebro Flex programmieren 0 26-11-2008 13:23


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele