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 :

Problème de service/token


Sujet :

Flex

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Points : 110
    Points
    110
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    findidDivisionResult2.token = collaborateurDivisionService.findidDivision(idCol);
    var y:int=findidDivisionResult2.lastResult;
    Java :
    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
     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

  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
    Points : 3 189
    Points
    3 189
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Points : 110
    Points
    110
    Par défaut
    Pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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"

  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
    Points : 3 189
    Points
    3 189
    Par défaut
    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

  5. #5
    Futur Membre du Club
    Profil pro
    Consultant Flex/J2EE
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant Flex/J2EE

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Membre régulier
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Points : 110
    Points
    110
    Par défaut
    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.

  7. #7
    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
    Points : 3 189
    Points
    3 189
    Par défaut
    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

  8. #8
    Membre régulier
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    Mai 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 495
    Points : 110
    Points
    110
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CollaborateurDivisionService cd = new CollaborateurDivisionService();
        int i = cd.findidDivision(362);
     
        System.out.println(" --------- ID DIV :   ----- : "+i);
    qui me renvoi 5.

Discussions similaires

  1. Problème Web service : C# - IIS 6.0 - windows server 2003
    Par identifiant_bidon dans le forum Services Web
    Réponses: 3
    Dernier message: 20/04/2007, 16h33
  2. [Tableaux] Problème de service web et tableau
    Par hxt dans le forum Langage
    Réponses: 4
    Dernier message: 04/07/2006, 09h33
  3. problème de services web
    Par bada dans le forum Services Web
    Réponses: 2
    Dernier message: 09/06/2006, 18h26
  4. [Apache]Problème se services Apache
    Par bartmarley dans le forum Apache
    Réponses: 6
    Dernier message: 15/07/2004, 14h13
  5. [Kylix] problème web service kylix
    Par RezzA dans le forum EDI
    Réponses: 3
    Dernier message: 11/02/2003, 14h50

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