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

GWT et Vaadin Java Discussion :

Question RPC et valeur de onSuccess().


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut Question RPC et valeur de onSuccess().
    Bonjour à tous,

    je suis débutant en GWT, j'utilise la la version 2.2.0 avec la dernière version d'Eclipse.

    Question : lors d'une requête RPC, si la méthode "onSuccess(Objet result)" renvoie un objet qui est sur le serveur, est-ce que result est une copie créée en local ou une référence vers le serveur?
    Je veux ici récupérer un user dans une hashMap et modifier un de ses attributs (un linked list d'objets), puis le renvoyer sur le serveur (ce qui pose problème..).

    ProjetService.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    User getUser(String username);
    ProjetServiceAsync.java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void getUser(String username, AsyncCallback<User> callback);
    ProjetServiceImpl.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private HashMap<String, User> users = new HashMap<String, User>();
     
    public User getUser(String username) {
       return users.get(username);
    }
    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    L'objet client est distinct de l'objet serveur.
    Pour une mise à jour, il faut créer et utiliser un service de mise à jour.

  3. #3
    Membre chevronné
    Profil pro
    Lead Tech Agile
    Inscrit en
    Septembre 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Lead Tech Agile

    Informations forums :
    Inscription : Septembre 2004
    Messages : 316
    Par défaut
    Pour être plus précis,

    L'objet envoyé est serializé côté serveur. C'est à dire que l'objet mémoire est transformé en un flux qui est envoyé dans la réponse de la requete.

    Côté client, juste avant le onSuccess() Gwt deserialize le flux et le transforme en une copie conforme de l'objet. Cette copie se trouve dans la mémoire du navigateur.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    Merci, c'est beaucoup plus clair maintenant!

    Par contre j'ai un autre souci, je vais essayer d'être clair :

    J'ai une classe A (ma classe User) qui a pour attribut une linkedlist contenant des objets d'une classe B. Cette classe B est elle-même étendue par B1 et B2.

    Quand je récupère un user via une requête RPC, j'ai 2 scénarios pour les objets contenus dans la linkedlist :

    • Si les objets sont de type B, la requête échoue : Type 'B' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.: instance = B@xxx


    • Si les objets sont de type B1 ou B2 la requête réussit mais leurs attributs sont à null alors qu'ils valaient bien quelque chose lors de leur insertion dans la HashMap.


    Vous voyez ce qui cloche?

    Je précise que A, B, B1 et B2 implémentent bien serializable, et qu'un de leurs constructeurs est un constructeur vide sans paramètres.

    Merci d'avance.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Par défaut
    J'ai trouvé le problème. Ma classe B contenait un objet de l'api google maps, qui lui n'était pas serializable! J'avais une erreur au niveau de la classe B donc j'ai eu du mal à le trouver celui-là...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur les valeurs hexadecimal
    Par Ganondorf dans le forum Débuter
    Réponses: 13
    Dernier message: 24/09/2010, 17h15
  2. Question sur les valeur min et max des types ?
    Par doommick31 dans le forum Débuter
    Réponses: 4
    Dernier message: 13/04/2010, 17h35
  3. [XL-2000] Question de debutant Valeur MAX
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/02/2010, 18h44
  4. Question sur les valeurs de SrcBlock et DstBlock
    Par Sensib dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/10/2006, 11h56
  5. question sur les valeurs de retour
    Par arasium dans le forum Langage
    Réponses: 10
    Dernier message: 24/07/2006, 16h47

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