Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 8 sur 8
  1. #1
    Membre régulier
    Homme Profil pro
    Responsable Applicatif / Développeur
    Inscrit en
    mai 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : mai 2007
    Messages : 494
    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

  2. #2
    Rédacteur/Modérateur
    Avatar de Jim_Nastiq
    Homme Profil pro Jean-Marie Macé
    Architecte, Expert Flex
    Inscrit en
    avril 2006
    Messages
    2 334
    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 334
    Points : 3 007
    Points
    3 007

    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 :
    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

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

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

    Informations forums :
    Inscription : mai 2007
    Messages : 494
    Points : 73
    Points
    73

    Par défaut

    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"

  4. #4
    Rédacteur/Modérateur
    Avatar de Jim_Nastiq
    Homme Profil pro Jean-Marie Macé
    Architecte, Expert Flex
    Inscrit en
    avril 2006
    Messages
    2 334
    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 334
    Points : 3 007
    Points
    3 007

    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
    Invité de passage
    Consultant Flex/J2EE
    Inscrit en
    décembre 2005
    Messages
    7
    Détails du profil
    Informations professionnelles :
    Activité : Consultant Flex/J2EE

    Informations forums :
    Inscription : décembre 2005
    Messages : 7
    Points : 3
    Points
    3

    Par défaut

    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

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

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

    Informations forums :
    Inscription : mai 2007
    Messages : 494
    Points : 73
    Points
    73

    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
    Rédacteur/Modérateur
    Avatar de Jim_Nastiq
    Homme Profil pro Jean-Marie Macé
    Architecte, Expert Flex
    Inscrit en
    avril 2006
    Messages
    2 334
    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 334
    Points : 3 007
    Points
    3 007

    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
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : mai 2007
    Messages : 494
    Points : 73
    Points
    73

    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 :
    1
    2
    3
    4
     CollaborateurDivisionService cd = new CollaborateurDivisionService();
        int i = cd.findidDivision(362);
     
        System.out.println(" --------- ID DIV :   ----- : "+i);
    qui me renvoi 5.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •