IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Error #2044: AsyncErrorEvent non pris en charge : text=Error #2095: jedai.net.rpc.Red


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut Error #2044: AsyncErrorEvent non pris en charge : text=Error #2095: jedai.net.rpc.Red
    Bonjour,

    je suis en train de travailler sur un petit projet en Flex, et lorsque je le lance, j'ai l'erreur suivante qui apparait:

    Error #2044: AsyncErrorEvent non pris en charge : text=Error #2095: jedai.net.rpc.Red5Connection n’a pas été en mesure d’appeler l’élément de rappel setClientID. error=ReferenceError: Error #1069: La propriété setClientID est introuvable sur jedai.Red5BootStrapper et il n'existe pas de valeur par défaut.
    at org.pranaframework.utils::ClassUtils$/newInstance()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\utils\ClassUtils.as:118]
    at org.pranaframework.ioc.factory::ObjectFactory/createObject()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\ioc\factory\ObjectFactory.as:53]
    at org.pranaframework.ioc::ObjectContainer/getObject()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\ioc\ObjectContainer.as:83]
    at org.pranaframework.ioc.parser::XmlObjectDefinitionsParser/parseObjectNode()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\ioc\parser\XmlObjectDefinitionsParser.as:136]
    at org.pranaframework.ioc.parser::XmlObjectDefinitionsParser/parse()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\ioc\parser\XmlObjectDefinitionsParser.as:119]
    at org.pranaframework.ioc.loader::XmlObjectDefinitionsLoader/onLoaderComplete()[C:\Users\herremanc\workspace\Prana Framework\main\src\org\pranaframework\ioc\loader\XmlObjectDefinitionsLoader.as:84]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()
    Est-ce que quelqu'un aurait une idée sur la source de ce soucis?

    En fait, je n'ai pas l'impression que celà impacte sur l'utilisation de l'application, mais à chaque fois que je la lance, ça me met cette erreur, et c'est pas super ergonomique....

    Je reste à votre dispo pour toute info sur le code.

    Merci,
    Etienne.

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    déjà cette erreur s'affiche uniquement pour ceux qui on le plugin flash debugger d'installé(pas si courant) ensuite pour t'aider ça va être compliqué si on ne sait rien sur ce que tu tentes de faire. un peu de code serait aussi bien pratique

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    Effectivement, j'ai installé le plugin hier, afin de debugger mon application, parce que je voudrai savoir un peu plus où j'en suis.... et j'suis bien perdu.

    Ce que j'essaie de faire: un tchat avec une liste d'utilisateurs qui se met à jour automatiquement et avec possibilité d'appeler chaque personne en privé, le tout en sur un serveur Red5 (donc essentiellement du Java).

    Je suis sur Eclipse et j'ai récupéré des éléments en open source.

    Je suis open pour mettre du code, mais de quelle partie as-tu besoin pour m'éclairer? De la fonction Red5Strapper?

    Etienne.

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    je ne sais pas déjà passe en mode debug ,et cible le problème (ou ça plante)... ensuite donne nous ton code coté client pour le moment qui semble en être la cause

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    En fait, je crois savoir d'où sort mon erreur, mais je ne suis pas sûr de l'architecture qui est mise en place...
    En gros, j'ai un fichier de conf: ApplicationContext.xml.

    Dans ce fichier, j'ai des valeurs par défaut pour la création d'un client (via l'appel à la fonction ClientManager.as). Avec des valeurs par défaut:
    username et password.

    Or j'ai l'impression qu'il y a une 3 ème valeur à définir: clientID... Qui n'existe pas dans ce fichier.

    Les 2 premières qui sont définies par défaut, je les renseigne également lors de ma connection, dans la fonction "login.as" dans laquelle je rentre les champs "login" et "password" et je vois bien que ces valeurs sont prises.

    Je vois aussi 2 classes qui font appel à ces arguments:

    Red5bootStrapper.as qui fait appel à la classe Red5connection.as

    Voici le code des 2 classes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    ////////////////////////////////////////////////////////////////////////////////
    //
    //  Copyright (C) 2007-2008 Infrared5 Incorporated
    //  All Rights Reserved. The following is Source Code and is subject to all
    //  restrictions on such code as contained in the End User License Agreement
    //  accompanying this product.
    //
    ////////////////////////////////////////////////////////////////////////////////
     
     
    package jedai
    {
    	import flash.events.Event;
    	import flash.events.EventDispatcher;
    	import flash.net.NetConnection;
    	import flash.net.ObjectEncoding;
    	import flash.net.SharedObject;
     
    	import jedai.events.Red5Event;
    	import jedai.net.ClientManager;
    	import jedai.net.rpc.Red5Connection;
     
    	import mx.controls.Alert;
     
    	import org.pranaframework.ioc.ObjectContainer;
    	import org.pranaframework.ioc.loader.ObjectDefinitionsLoaderEvent;
    	import org.pranaframework.ioc.loader.XmlObjectDefinitionsLoader;
     
    	[Event(name="bootComplete", type="jedai.events.Red5Event")]
     
    	/**
    	 * Red5BootStrapper takes care of steps 1-3 in "Workflow(wrapped)" in Basecamp:
    	 * 
    	 * 1. Create a NetConnection ( by config.xml )
         * 2. Create a NetStream → Camera / Microphone & Video / Sound 
         * ( by app-context.xml via AMF with the "context" Red5Connection )
         * 3. Attach everything together ( automated by app-context.xml via AMF )
    	 * 
    	 * @author Dominick Accattato (dominick_AT_infrared5_DOT_com)
    	 * @author Jon Valliere ( sybersnake_AT_gmail_DOT_com )
    	 */
    	public class Red5BootStrapper extends EventDispatcher
    	{
    		private var _objectDefinitionsLoader:XmlObjectDefinitionsLoader;
    		private var _client:ClientManager;
    		private var _connection:Red5Connection;
    		private var _config:String;
    		private static var _instance:Red5BootStrapper;
     
    		/**
    		 * 
    		 * 
    		 */		
    		public function Red5BootStrapper(config:String)
    		{
    			NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
    			SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0;
    			this._config = config;
    		}
     
    		/**
    		 * 
    		 * @return 
    		 * 
    		 */		
    		public static function getInstance(config:String=null) : Red5BootStrapper {
     
    			if(_instance == null) {
    				if(config == null) {
    					config = "applicationContext.xml";
    				} 
    				_instance = new Red5BootStrapper(config);
    				_instance.loadData();
    			}
     
    			return _instance;
    		}
     
    		/**
    		 * 
    		 * 
    		 */		
    		public function loadData() : void {
    			_objectDefinitionsLoader = new XmlObjectDefinitionsLoader();
    			_objectDefinitionsLoader.addEventListener(ObjectDefinitionsLoaderEvent.COMPLETE, onObjectDefinitionsLoaderComplete);
    			_objectDefinitionsLoader.load(this._config);
    		}
     
    		/**
    		 * 
    		 * @param event
    		 * 
    		 */		
    		private function onObjectDefinitionsLoaderComplete(event:ObjectDefinitionsLoaderEvent) : void {
    			var container:ObjectContainer = _objectDefinitionsLoader.container;
    			_client = container.getObject("client");
    			_connection = container.getObject("connection");	
     
    			dispatchEvent(new Event("bootStrapComplete"));
    			dispatchEvent(new ObjectDefinitionsLoaderEvent(ObjectDefinitionsLoaderEvent.COMPLETE));
    		}
     
    		/**
    		 * 
    		 * @param event
    		 * 
    		 */
     
    		public function connect() : void {
    			// Create a Red5Connection which registers the connection
     
    			this._connection.connect(this._connection.rtmpURI, this._connection.connectionArgs[0], this._connection.connectionArgs[1]);
    			this._connection.addEventListener(Red5Event.CONNECTED, this.onConnectionHandler );
    			this._connection.addEventListener(Red5Event.DISCONNECTED, this.onDisconnectHandler );
    			this._connection.client = this;
    		}
     
    		/**
    		 * 
    		 * @param event
    		 * 
    		 */		
    		private function onConnectionHandler(event:Red5Event) : void {
    			trace("event: " + event);
    			dispatchEvent(event.clone());
    		}
     
    		/** 
    		 * @param event
    		 * 
    		 */		
    		private function onDisconnectHandler(event:Red5Event) : void {
    			trace("event: " + event);
    			Alert.show("Error Connecting", "Error");
    			dispatchEvent(event.clone());
    		}
     
    		/**
    		 * 
    		 * @return 
    		 * 
    		 */		
    		public function get client() : ClientManager {
    			return this._client;
    		}
     
    		/**
    		 * 
    		 * @return 
    		 * 
    		 */		
    		public function set client(val:ClientManager) : void {
    			this._client = val;
    		}
     
    		/**
    		 * 
    		 * @return 
    		 * 
    		 */		
    		public function get connection() : Red5Connection {
    			return this._connection;
    		}
    	}
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    package jedai.net.rpc
    {
    	import flash.events.NetStatusEvent;
    	import flash.net.NetConnection;
     
    	import jedai.business.Red5ServiceLocator;
    	import jedai.events.Red5Event;
    	import jedai.net.ClientManager;
    	import jedai.net.IService;
     
     
    	[Event(name="connected", type="jedai.events.Red5Event")]
    	[Event(name="disconnected", type="jedai.events.Red5Event")]
    	[Event(name="netStatus", type="flash.events.NetStatusEvent")]
     
    	public class Red5Connection extends NetConnection implements IService
    	{
    		public static const CODE_CONNECT_SUCCESS 	: String = "NetConnection.Connect.Success";
    		public static const CODE_CONNECT_CLOSED		: String = "NetConnection.Connect.Closed";
    		public static const CODE_CONNECT_FAILED		: String = "NetConnection.Connect.Failed";
    		public static const CODE_CONNECT_REJECTED	: String = "NetConnection.Connect.Rejected";
    		public static const CODE_CONNECT_APPSHUTDOWN: String = "NetConnection.Connect.AppShutdown";
    		public static const CODE_CONNECT_INVALIDAPP	: String = "NetConnection.Connect.InvalidApp";
     
    		public static const CODE_CALL_BADVERSION	: String = "NetConnection.Call.BadVersion";
    		public static const CODE_CALL_FAILED		: String = "NetConnection.Call.Failed";
    		public static const CODE_CALL_PROHIBITED	: String = "NetConnection.Call.Prohibited";
     
    		//-------------------------------------------------------------
    		//
    		//	Namespaces
    		//
    		//-------------------------------------------------------------
     
    		public namespace raf	= "raf/internal";
     
    		//-------------------------------------------------------------
    		//
    		//	Instance
    		//
    		//-------------------------------------------------------------
     
    		private var _name:String;
    		private var _connected	: Boolean = false;
    		private var _rtmpURI:String;
    		private var _connectionArgs:Array;
    		private var _client:ClientManager;
     
    		/**
    		 * 
    		 * @param name Name of NetConnection.
    		 * @param isGlobalDefault Make this the global NetConnection.
    		 */		
    		public function Red5Connection( name:String, isGlobalDefault:Boolean=false )
    		{
    			_name = name;
     
    			use namespace raf;
     
    			Red5ServiceLocator.getInstance().registerRed5Connection( this );
     
    			if ( isGlobalDefault )
    			{
    				Red5ServiceLocator.getInstance().setDefaultRed5Connection( this );
    			}
     
    			this.addEventListener(NetStatusEvent.NET_STATUS, this.onNetStatus);
    		}
     
    		private function onNetStatus( event:NetStatusEvent ): void
    		{
    			var infoCode:String = event.info.code;
    			trace("onNetStatus: " + infoCode);
     
    			if ( this.connected && !_connected && infoCode == Red5Connection.CODE_CONNECT_SUCCESS )
    			{
    				_connected = true;
     
    				this.dispatchEvent( new Red5Event( Red5Event.CONNECTED ) );
    			} 
    			else if ( _connected && infoCode == Red5Connection.CODE_CONNECT_CLOSED )
    			{
    				_connected = false;
     
    				this.dispatchEvent( new Red5Event( Red5Event.DISCONNECTED ) );
    			} 
    			else if ( infoCode == Red5Connection.CODE_CONNECT_FAILED || 
    					  infoCode == Red5Connection.CODE_CONNECT_INVALIDAPP )
    			{
    				_connected = false;
     
    				this.dispatchEvent( new Red5Event( Red5Event.DISCONNECTED ) );
    			}
    		}
     
    		public function get name():String
    		{
    			return _name;
    		}
     
    		public function set connectionArgs(val:Array) : void {
    			this._connectionArgs = val;
    		}
     
    		public function get connectionArgs() : Array {
    			return this._connectionArgs;
    		}
     
    		public function get rtmpURI() : String {
    			return this._rtmpURI;
    		}
     
    		public function set rtmpURI(val:String) : void {
    			this._rtmpURI = val;
    		}
     
    		/**
    		 * XXX Thijs: I'm testing with the Red5 oflaDemo and not sure yet how to catch undefined properties
    		 * and handle their ReferenceErrors like:
    		 * <code>ReferenceError: Error #1069: Property onBWDone not found on 
    		 * jedai.net.rpc.Red5Connection and there is no default value.</code>
    		 */		
    		public function onBWDone():void
    		{
     
    		}
     
    		public function get clientManager():ClientManager {
    			return this._client;
    		}
     
    		public function set clientManager(val:ClientManager) : void {
    			this._client = val;
    		}
     
    	}
    }
    Et effectivement, je ne vois nulle part l'implémentation du champ "ClientID"...

    Ce qui a donc pour effet de remonter cette erreur...

    Est-ce que j'ai sauté des étapes?
    Est-ce que tu as besoin de plus d'infos?

    En fait, quand je lance le mode debug, je ne sais pas trop quand est-ce qu'il faut que je mette mes BreakPoint... Peux-tu m'éclairer là-dessus, s'il te plait?

    Merci,
    Etienne.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    Et en fait, je vois dans la console, lorsque je lance mon application Flex, que le server Red5 crée une instance Client et lui attribue un ID, j'aimerai bien récupérer cet Identifiant, par exemple...

    Mais comment faire pour que mon application récupère des paramètres des éléments du serveur?

    Voici à quoi ça ressemble dans la console, ce que crée le serveur:

    2008-12-23 11:56:16,950 [pool-4-thread-16] INFO org.red5.server.jmx.JMXFactory - Object name: org.red5.server:type=Client,id=13
    2008-12-23 11:56:16,950 [pool-4-thread-16] INFO org.red5.server.jmx.JMXFactory - Object name: org.red5.server:type=RTMPMinaConnection,connectionType=persistent,host=localhost,port=1935,clientId=13

  7. #7
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut Reponse
    Bonjour, Ouaich75, je voulais savoir de quel tuto tu parles ?

Discussions similaires

  1. <Type de données non pris en charge>
    Par Alex35 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/12/2007, 12h38
  2. CHECK reconnu mais non pris en charge
    Par jjc_Mtl dans le forum SQLite
    Réponses: 1
    Dernier message: 26/07/2007, 22h51
  3. [XMLHttpRequest] interface non pris en charge
    Par Kurdran dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 23/03/2006, 09h21
  4. [CSS] style externe non pris en charge
    Par ravNin'- dans le forum Mise en page CSS
    Réponses: 21
    Dernier message: 26/10/2005, 00h22
  5. Réponses: 4
    Dernier message: 01/07/2005, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo