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

Java EE Discussion :

InvalidClassException et problème de serialVersionUID [EJB Session]


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut InvalidClassException et problème de serialVersionUID
    Bonjour,

    J'ai une interface déclaré en remote et son implémentation en stateless.

    J'essaye d'accéder à mon interface par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Properties properties = new Properties();
    			properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
    			properties.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
    			properties.put("java.naming.provider.url","jnp://localhost:1099");
    			Context ctx = new InitialContext(properties);
    			ContactManager contactManager = (ContactManager) ctx.lookup("DemoEAR-0.1/ContactManagerBean/remote");
    			System.out.println(contactManager.listContact());
    Il n'y a pas de problème il repère bien l'interface dans Jboss 4.x mais j'ai une erreur de ce type :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    javax.naming.CommunicationException [Root exception is java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor; local class incompatible: stream classdesc serialVersionUID = 595045557897063404, local class serialVersionUID = -3758782076801249473]
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:722)
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
    	at javax.naming.InitialContext.lookup(InitialContext.java:351)
    	at com.labosun.cf.tests.TestFonctionnels.test1(TestFonctionnels.java:22)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at junit.framework.TestCase.runTest(TestCase.java:154)
    	at junit.framework.TestCase.runBare(TestCase.java:127)
    	at junit.framework.TestResult$1.protect(TestResult.java:106)
    	at junit.framework.TestResult.runProtected(TestResult.java:124)
    	at junit.framework.TestResult.run(TestResult.java:109)
    	at junit.framework.TestCase.run(TestCase.java:118)
    	at junit.framework.TestSuite.runTest(TestSuite.java:208)
    	at junit.framework.TestSuite.run(TestSuite.java:203)
    	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    Caused by: java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor; local class incompatible: stream classdesc serialVersionUID = 595045557897063404, local class serialVersionUID = -3758782076801249473
    	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:546)
    	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
    	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
    	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
    	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
    	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
    	at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
    	at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
    	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652)
    	... 21 more
    Pourtant dans mon entity Contact :

    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
    16
    17
    18
    ...
     
    @Entity // Annotation indiquant que la classe est un entity bean
    public class Contact implements Serializable{
     
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
    	private int id;
     
    	private String firstname;
     
    	private String lastname;
     
    ...
    Si vous savez d'ou ca vient ca serait d'une très grande utilité.

    Merci d'avance,

    @+

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Ca a l'air d'être un problème de version de classes.
    As-tu coté EAR et coté client les mêmes versions de tes classes ?
    Proviennent elles de la même compilation ?

  3. #3
    Membre éprouvé Avatar de kore62
    Profil pro
    Inscrit en
    Août 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 222
    Par défaut
    je suis d'accord avec Fr1man.. c'est au niveau de ta serialisation de tes objets.. ta version UID doit etre identique des deux côtés.. sinon il n'arrive pas à déserialisé tes objets.. J'ai lu ca dans un bouquin ejb3...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 219
    Par défaut
    C'etait exactement ca,

    En fait je passe par maven et je n'utilisai pas les mêmes librairies.

    Merci de votre aide,

    @+

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

Discussions similaires

  1. Problème de désérialisation: java.io.InvalidClassException
    Par LowFilter dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 16/11/2012, 14h49
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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