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 :

Est-il possible d'envoyer un Document DOM4J sur un serveur RMI


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 54
    Points : 48
    Points
    48
    Par défaut Est-il possible d'envoyer un Document DOM4J sur un serveur RMI
    Bonjour,

    Voulant transmettre à un client un document dom4j, j'utilise une pile qui contiendra ce document.

    La pile est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public interface Pile extends java.rmi.Remote 
    {
     
    	Document hautDocument()
    			throws java.rmi.RemoteException;
     
    	void empilerDocument(Document object)
    			throws java.rmi.RemoteException;
    }
    }
    Son implémentation est :

    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
    public class PileImpl extends UnicastRemoteObject     
    	  implements Pile
    {
     
    	private int max;
    	private int nb;
    	private Object [] tab;
    	private Document [] document;
     
    	public PileImpl (int m)
    		throws java.rmi.RemoteException
    	{
    		max = m;
    		tab = new Object[max];
    		nb = 0;
    		document = new Document[max];
    	}
     
    	public void empilerDocument(Document object)
    			throws java.rmi.RemoteException
    		{
     
    			if (nb==max-1)
    				throw new java.rmi.RemoteException("Pile pleine !");	
     
    			document[nb]=object;
    			nb++;	
    		}
     
    	public Document hautDocument()
    			throws java.rmi.RemoteException
    		{
    			if (nb==0)
    				throw new java.rmi.RemoteException("Pile vide !");	
     
    			return document[nb-1];
    		}
    }

    Le serveur met en ligne la pile qui contient le Document dom4j à l'aide de la méthode empilerDocument.

    Le client peut récupérer la pile avec un lookup.
    Il y a cependant une erreur lorsqu'il prend le document dans la pile (avec la méthode hautDocument)...

    L'exception est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    	java.io.EOFException
    	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    	at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
    	at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
    	at com.sun.proxy.$Proxy0.hautDocument(Unknown Source)
    	at klee.kada.start.Start_log.main(Start_log.java:41)

    Etant débutant, n'arrivant pas à résoudre cette exception, preneur de toutes aides et cordialement,

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Bonjour,

    Le message détaillant ton exception EOFException doit indiquer une Root cause qui donne la cause réelle du problème.

    Souvent, c'est le classpath utilisé au lancement du serveur qui n'a pas été bien défini et ne désigne pas les bons jars.

    Grunt.

  3. #3
    Membre émérite
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Points : 2 814
    Points
    2 814
    Par défaut
    Regarde aussi si la classe Document est Serializable, et peut être envoyé à travers le réseau directement. Sinon, passe les valeurs du document (créer un DocumentProxy par exemple).

Discussions similaires

  1. Réponses: 13
    Dernier message: 13/08/2008, 16h55
  2. Réponses: 0
    Dernier message: 09/05/2008, 18h36
  3. Est-ce possible d'envoyer des emails ?
    Par Raiden1234 dans le forum Struts 2
    Réponses: 2
    Dernier message: 30/04/2008, 11h36
  4. Réponses: 2
    Dernier message: 19/09/2007, 10h21
  5. Réponses: 1
    Dernier message: 14/08/2006, 11h35

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