Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/10/2012, 17h28   #1
diabli73
Membre régulier
 
Homme
Responsable Applicatif / Développeur
Inscription : mai 2007
Messages : 479
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Responsable Applicatif / Développeur

Informations forums :
Inscription : mai 2007
Messages : 479
Points : 73
Points : 73
Par défaut Problème de service/token

Bonjour, j'ai un service java qui est censé me renvoyer un int : findidDivision(int)
et quand je lance mon servie le premier coup il me renvoi toujours 0 (car il ne voit pas l'argument) alors que la 2ême fois il fonctionne.

Flex:
Code :
1
2
findidDivisionResult2.token = collaborateurDivisionService.findidDivision(idCol);
var y:int=findidDivisionResult2.lastResult;
Java :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public int findidDivision(int idCol) {
	  int result=0;
 
	  try{
		  EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPA");
		  EntityManager em = emf.createEntityManager();
 
		   Query q = em.createNativeQuery("SELECT e.id_division_fk FROM ASSOC_COLLABORATEUR_DIVISION  e WHERE e.id_collaborateur_fk='"+idCol+"' ");
		   result = (int) q.getSingleResult();
 
	  }catch(Exception e){}
 
	    return result;
 
  }
Pouvez vous m'aider svp?
Merci
diabli73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 09h43   #2
Jim_Nastiq
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Architecte, Expert Flex
Inscription : avril 2006
Messages : 2 302
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
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 302
Points : 3 261
Points : 3 261
Salut,

Alors je met une pièce sur le fait que tu ne sois pas en asynchrone... lastResult est, selon moi, à proscrire ! Utilises les event de resultat et de faute sur un responder et passe par un token asynchrone :

Code :
1
2
3
4
5
 
var responder:Responder = new Responder(handleServiceResult, handleServiceFault);
var token:AsyncToken;
token = collaborateurDivisionService.findidDivision(idCol);
token.addResponder(responder);
Puis tu ajoutes les 2 handlers et tu n'auras plus de 0 qui est le résultat de "l'immédiateté" de ton test.
Code :
1
2
3
 
protected function handleServiceResult(event:ResultEvent):void{trace(event.result);}
protected function handleServiceFault(event:FaultEvent):void{trace(event.fault);}
__________________

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
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 10h36   #3
diabli73
Membre régulier
 
Homme
Responsable Applicatif / Développeur
Inscription : mai 2007
Messages : 479
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Responsable Applicatif / Développeur

Informations forums :
Inscription : mai 2007
Messages : 479
Points : 73
Points : 73
Pour :
Code :
1
2
protected function handleServiceResult(event:ResultEvent):void{trace(event.result);}
protected function handleServiceFault(event:FaultEvent):void{trace(event.fault);}
j'ai une erreur : "Ce type est introuvable ou n'est pas une constante de compilation resultEvent"
diabli73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 11h33   #4
Jim_Nastiq
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Architecte, Expert Flex
Inscription : avril 2006
Messages : 2 302
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
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 302
Points : 3 261
Points : 3 261
Et si tu ajoutes l'import de la classe: ResultEvent
__________________

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
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 11h43   #5
ProviewJava1
Invité de passage
 
Consultant Flex/J2EE
Inscription : décembre 2005
Messages : 7
Détails du profil
Informations professionnelles :
Activité : Consultant Flex/J2EE

Informations forums :
Inscription : décembre 2005
Messages : 7
Points : 4
Points : 4
Bonjour, fais les imports suivants de ça devrait coller

Code :
1
2
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
mais je pense qu'il te manque aussi un import pour le AsyncToken
ProviewJava1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 12h23   #6
diabli73
Membre régulier
 
Homme
Responsable Applicatif / Développeur
Inscription : mai 2007
Messages : 479
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Responsable Applicatif / Développeur

Informations forums :
Inscription : mai 2007
Messages : 479
Points : 73
Points : 73
pour l'import ResultEvent je l'avais bien fait mais je n'avais pas vu que eclipse était en train de bugger, il ne l'avais pas pris en compte.
Je l'ai redémarré et c'est passé.

Cependant cela ne règle pas mon problème le token est toujours nul la premiere fois je le vois clairement dans le debug.
diabli73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 15h36   #7
Jim_Nastiq
Rédacteur/Modérateur
 
Avatar de Jim_Nastiq
 
Homme Jean-Marie Macé
Architecte, Expert Flex
Inscription : avril 2006
Messages : 2 302
Détails du profil
Informations personnelles :
Nom : Homme Jean-Marie Macé
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 302
Points : 3 261
Points : 3 261
Et le debug coté Java i lte dit quoi ?
__________________

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
Jim_Nastiq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 15h47   #8
diabli73
Membre régulier
 
Homme
Responsable Applicatif / Développeur
Inscription : mai 2007
Messages : 479
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Responsable Applicatif / Développeur

Informations forums :
Inscription : mai 2007
Messages : 479
Points : 73
Points : 73
Dans le debug si je met un point d'arret côté java il n'y arrive pas car c'est le debug flash.
Il y a un moyen d'utiliser un debug qui atteigne tout les points d'arret?

en java je fais juste un test qui fonctionne :

Code :
1
2
3
4
 CollaborateurDivisionService cd = new CollaborateurDivisionService();
    int i = cd.findidDivision(362);
 
    System.out.println(" --------- ID DIV :   ----- : "+i);
qui me renvoi 5.
diabli73 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web