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

Entrée/Sortie Java Discussion :

Probléme démarrage d'un serveur rmi


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Probléme démarrage d'un serveur rmi
    Salut,
    J'ai fait une application client serveur avec RMI mais mon serveur ne demarre pas.

    Platforme:
    Win XP Pro,Eclispe 3.2, jdk1.5.0_10,jre1.5.0_10,...

    J'ai positionné le classpath, édité le fichier java.policy et lancé la commande start rmiregistry mais j'ai le message d'erreur suivant:

    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: ucad.fst.rmi.InterfaceHello
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
    at sun.rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
    at java.lang.Thread.run(Thread.java:595)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Unknown Source)
    at ucad.fst.rmi.Serveur.main(Serveur.java:11)
    Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: ucad.fst.rmi.InterfaceHello
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
    at sun.rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ClassNotFoundException: ucad.fst.rmi.InterfaceHello
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:242)
    at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707)
    at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:651)
    at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588)
    at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
    at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
    at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
    at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
    ... 9 more

    Merci de me donner la solution.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    As-tu bien généré tes fichiers "talon" et "quelette" nécessaires au fonctionnement de RMI? Et es-tu sûr de ne rien avoir oublié dans ton classPath?

    Parceque le problème semble clairement venir de là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     java.lang.ClassNotFoundException: ucad.fst.rmi.InterfaceHello
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 109
    Points
    109
    Par défaut
    Salut, tu as installé le plugin RMi pour eclipse ?

    Il faudrait préciser si le client et le serveur sont dans le meme projet eclipse, et si tu as séparé les .class et les .java.

    J'ai eu cette erreur parce que je n'avait pas bien configuré le 'codebase' dans les parametres de mon execution avec le plugin RMI/Eclipse. Il manquait un '/bin' dans mon chemin.
    JAVA le dire a tout le monde

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Probléme démarrage d'un serveur rmi
    N'est ce pas qu'à partir de la version 1.5 du jdk les stub sont générés de façon automatique ?

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Probléme démarrage d'un serveur rmi
    Les .class et les .java sont séparés.
    Concernant le plugin RMI: comment l'obtenir et l'installer. Et ce codebase ou se trouve t'il et comment le configurer ?

    Merci.

  6. #6
    Membre averti Avatar de Rayndell
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 289
    Points : 323
    Points
    323
    Par défaut
    Citation Envoyé par Kamouzo
    N'est ce pas qu'à partir de la version 1.5 du jdk les stub sont générés de façon automatique ?
    C'est totalement faux. Le changement par rapport aux versions précédentes est le fait qu'il n'y a plus besoin de générer la classe squelette (Skeleton), mais la classe talon (Stub) est nécessaire. Il est vrai que le plugin RMI d'Eclipse fait le boulot tout seul, mais il faut savoir qu'il y a des choses qui se passent derrière.

    Concernant ce plugin, tout est ici.
    "Et tu comprendras pourquoi mon nom est l'Eternel, quand sur toi s'abattra la colère du Tout-puissant."

  7. #7
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 109
    Points
    109
    Par défaut
    Oui effectivement c un probleme typique de classpath que tu as. Les chemin vers le repertoire ou sont les classes utiles au demarrage de ton registre RMI, n'est pas correctement écrit.

    Si apres ca tu as un probleme de 'acces denied', c'est un souci de security.policy
    JAVA le dire a tout le monde

  8. #8
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci Rayndell c'étais effectivement un probleme de gereration de stub.
    porte toi bien

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    merci yozine en fait c'étais un probleme de generation des stub

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

Discussions similaires

  1. Problème démarrage serveur Tomcat sur Eclipse 3.4
    Par malikoo dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/11/2009, 15h18
  2. Problèmes de connexion client / serveur en RMI
    Par albanea dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 07/05/2009, 14h36
  3. Problème Client Serveur RMI
    Par Malhak dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 01/03/2009, 17h57
  4. Problème démarrage serveur
    Par onimougwo dans le forum Websphere
    Réponses: 1
    Dernier message: 06/03/2008, 12h02
  5. problème démarrage serveur mysql
    Par vbcasimir dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 25/04/2005, 14h14

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