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 :

Serialization Policy erreur


Sujet :

GWT et Vaadin Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut Serialization Policy erreur
    Salut,

    j'ai une appli qui implementes un simple service. Quand j'executes j'ai l'erreur :

    Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'MyClass' was not included in the set of types which can be serialized by this SerializationPolicy. For security purposes, this type will not be serialized.

    (la pile est beaucoup plus longue mais ca a l'air d'etre le probleme)
    En fait la methode renvoie une list d'objets MyClass.

    La classe MyClass est definie :
    public class MyClass implements Serializable,IsSerializable {
    ....
    }

    Est-ce quelqun a une idee ?
    Merci !

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Déjà, il est inutile de faire implements sur les deux interfaces. Une seule suffit est de préférence Serializable.

    Tu dis que ton service renvoie une liste. Tu es donc obligé de préciser le type contenu de la liste (pour la 1.4 via @gwt.typeArgs ou via Template pour la version 1.5 de GWT).

    Version 1.4 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /**
    * @gwt.typeArgs <x.y.z.MyClass>
    */
    List myRPCService(...);
    Verion 1.5 (RC1) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<x.y.z.MyClass> myRPCService(...);

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Ah ok, mais maintenant j'ai un autre probleme... En fait MyClass est definie du cote serveur, mais du cote client je dois la redefinire?

    Donc il faut avoir la meme classe en double du cote client et du cote serveur, ou il y a une maniere pour eviter ca ?
    merci

  4. #4
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    En fait MyClass est definie du cote serveur, mais du cote client
    ??? Il manque quelque chose...

    Ce que tu dis n'est pas logique en soit. Si c'est le retour d'une méthode RPC alors forcément la classe doit pouvoir être accessible du côté client et serveur. Puisque du côté serveur, il doit créer des objets de ce type et du côté client il doit lire des objets de ce type...

    Il n'est pas nécessaire d'avoir la classe en double.
    Si tu travailles avec la partie client et serveur dans le même projet par exemple alors rien ne t'empêche d'accéder librement à cette classe des deux côtés. A noté, que pour qu'elle soit accessible pour la partie client, elle doit être dans le package client ou être dans un package référencé comme source dans le fichier de configuration du module.

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Ca marches !

    J'ai mis la classe du cote client Est-ce que c'est bien cette maniere qu'il fat le faire ?

    Merci beaucoup !

  6. #6
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Pour ma part, utilisant une base de données, j'ai un package domain qui contient toutes mes classes qui sont utilisées du côté client et serveur. J'ai juste ajouté une ligne dans le fichier de configuration XML pour que le package soit pris en compte par GWT lors de la compilation.

    Après, ça marche parfaitement en le laissant dans le package client. C'est juste une question d'organisation.

    PS: N'oublie pas le bouton "résolu".

  7. #7
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Par défaut
    Citation Envoyé par piltrafeta Voir le message
    Ca marches !

    J'ai mis la classe du cote client Est-ce que c'est bien cette maniere qu'il fat le faire ?
    Oui si comme déjà dit, elle doit être accessible côté client.
    Maintenant, rien n'empèche d'avoir différents package "client" (référencé dans le module).

    Personnellement, j'ai un package server, un package "client" client et un package "client" data pour ce qui transite entre la partie cliente et la partie server.

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

Discussions similaires

  1. Catalina.policy - Erreur malgré plateformes idnetiques
    Par Neverwhere dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 10/02/2012, 14h59
  2. Problème de serialization policy file non trouvé
    Par hugo123 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 23/07/2009, 11h09
  3. WebMethod et erreur liee a la Serialization
    Par Shargat dans le forum ASP.NET
    Réponses: 9
    Dernier message: 29/04/2009, 12h45
  4. Serialization erreur OutOfMemory
    Par fanzyride dans le forum Général Java
    Réponses: 6
    Dernier message: 29/05/2008, 11h26
  5. [C#] Comment serializer l'écriture des erreurs dans un fichier
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 9
    Dernier message: 17/11/2006, 14h54

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