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

Spring Java Discussion :

[RMI] java.rmi.UnmarshalException


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut [RMI] java.rmi.UnmarshalException
    Bonjour,

    J'ai une application client - serveur utilisant le protocle RMI. De plus, je suis un peu novice ds le domaine des RMI..
    J'utilise SPRING afin de récupérer mon BEAN contenant les données de mon appli que je souhaite récupérer...
    Le problème est que lorsque je souhaite récupérer mon BEAN à travers la factory, j'ai cette erreur:

    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
     
    Erreur Main : ---> Error creating bean with name 'FournisseurServiceRmi' defined in class path resource [Launch.xml]: Initialization of bean failed; nested exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    	java.net.MalformedURLException: no protocol: and
     
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'FournisseurServiceRmi' defined in class path resource [Launch.xml]: Initialization of bean failed; nested exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    	java.net.MalformedURLException: no protocol: and
    java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    	java.net.MalformedURLException: no protocol: and
    	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    	at java.rmi.Naming.lookup(Unknown Source)
    	at org.springframework.remoting.rmi.RmiClientInterceptor.lookupStub(RmiClientInterceptor.java:156)
    	at org.springframework.remoting.rmi.RmiClientInterceptor.prepare(RmiClientInterceptor.java:125)
    	at org.springframework.remoting.rmi.RmiClientInterceptor.afterPropertiesSet(RmiClientInterceptor.java:110)
    	at org.springframework.remoting.rmi.RmiProxyFactoryBean.afterPropertiesSet(RmiProxyFactoryBean.java:66)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
    	at com.protokiabi.launch.FournisseurConsole.<init>(FournisseurConsole.java:39)
    	at com.protokiabi.launch.launcher.main(launcher.java:61)
    Caused by: java.net.MalformedURLException: no protocol: and
    	at java.net.URL.<init>(Unknown Source)
    	at java.net.URL.<init>(Unknown Source)
    	at java.net.URL.<init>(Unknown Source)
    	at sun.rmi.server.LoaderHandler.pathToURLs(Unknown Source)
    	at sun.rmi.server.LoaderHandler.loadClass(Unknown Source)
    	at java.rmi.server.RMIClassLoader$2.loadClass(Unknown Source)
    	at java.rmi.server.RMIClassLoader.loadClass(Unknown Source)
    	at sun.rmi.server.MarshalInputStream.resolveClass(Unknown Source)
    	at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    	at java.io.ObjectInputStream.readObject0(Unknown Source)
    	at java.io.ObjectInputStream.readObject(Unknown Source)
    	... 12 more

    Si quelqu'un à une idée d'où ça pourrait provenir?
    J'ai créer un fichier java.policy contenant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    grant
    {
            permission java.net.SocketPermission "*:80-65535","connect,accept,listen,resolve"; 
        	permission java.security.AllPermission; 
      		permission java.net.SocketPermission "localhost:1199-", "listen";
     
    };
    J'ai paramétré ce fichier ds la JVM eclipse à l'aide de la ligne suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -Djava.security.policy="D:\Documents and Settings\remertz\Mes documents\Travail\ProjectEclipse\protoKiabiServeur\java.policy"
    Mais rien n'y fait, entre les erreurs
    UnmarshalException et notBoundException .... je ny comprends plus gd chose.
    Merci d'avance
    yoko

  2. #2
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    Montre nous ton fichier spring.xml

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Voici mon fichier "Spring.xml":

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
    <beans>
     
    	<!-- ========================= HIBERNATE ========================= -->
    	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    		<property name="sessionFactory">
    			<ref bean="sessionFactory" />
    		</property>
    	</bean>
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="mappingResources">
    			<list>
    				<value>FournisseurImpl.hbm.xml</value>
    				<value>FactureImpl.hbm.xml</value>
    			</list>
    		</property>
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
    				<prop key="hibernate.connection.driver_class">com.mysql.jdbc.Driver</prop>
    				<prop key="hibernate.connection.url">jdbc:mysql://localhost:3306/protokiabi</prop>
    				<prop key="hibernate.connection.username">root</prop>
    				<prop key="hibernate.connection.password"></prop>
    				<prop key="hibernate.connection.pool_size">10</prop>
    			</props>
    		</property>
    	</bean>
    	<bean id="myTransactionManager"	class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory">
    			<ref bean="sessionFactory" />
    		</property>
    	</bean>
     
    	<!-- ========================= SERVICE RMI ========================= -->
    	<bean name="/FournisseurServiceRmi" class="org.springframework.remoting.rmi.RmiServiceExporter">
    		<property name="serviceName" value="FournisseurServiceRmi"/>
    		<property name="service" ref="FournisseurServiceRmi"/>
    		<property name="serviceInterface" value="com.protokiabi.rmi.metier.interfaces.FournisseurService"/>
    		<property name="registryPort" value="1199"/>
    	</bean>
     
     
     
    	<!-- ========================= SERVICE ========================= -->
    	<bean id="FournisseurServiceRmi" class="com.protokiabi.rmi.metier.impl.FournisseurServiceImpl" singleton="true">
    		<property name="fournisseurDao"><ref bean="fournisseurDao"/></property>
    	</bean>
     
    	<!-- ========================= DAO ========================= -->
    	<bean id="fournisseurDao" class="com.protokiabi.rmi.dao.impl.FournisseurDaoImpl" singleton="true">
    		<property name="hibernateTemplate"><ref bean="hibernateTemplate" /></property>
    	</bean>
     
    </beans>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Pour information, mon application fonctionne sur un autre poste.
    Le problème est qu'on arrive à faire migrer l'application sur d'autres postes.
    Donc, je pense que cela provient du code, mais plus de la sécurité d'apache, ou de la JVM.... enfin je pense.
    Merci,
    yoko

  5. #5
    Membre Expert
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Par défaut
    Là c'est le spring xml du coté du serveur. Moi c'est le client qui m'interesse.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Dsl,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    	<bean id="FournisseurServiceRmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
    		<property name="serviceUrl" value="rmi://localhost:1199/FournisseurServiceRmi"/>
    		<property name="serviceInterface" value="com.protokiabi.rmi.metier.interfaces.FournisseurService"/>
    	</bean>
    </beans>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    Je suppose qu'il t'apparait rien d'anormal.
    Mais lorsqu'on a des Exception unmarshalling, cela n'est pas du à un pb de sécurité?

  8. #8
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Par défaut
    Un petit up pasque j'ai le même problème et ça me pose un problème pasque même google est pô très locace sur le sujet...

    Je re-situe quand même dans le contexte : j'ai une application qui embarque du RMI. Lors de l'exécution, ça passe nickel, mais c'est lors de mes tests que j'ai une méchante exception de protocole "and" qui n'existe pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageClient' defined in class path resource [rmiClientContext.xml]: Cannot resolve reference to bean 'messageRmi' while setting bean property 'messageRmi'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageRmi' defined in class path resource [rmiClientContext.xml]: Initialization of bean failed; nested exception is java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
    	java.net.MalformedURLException: no protocol: and
    Si un Spring Gourou passe par là... Please help...

  9. #9
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    Si j'ai compris, ton serveur et ton client ne sont pas sur les mêmes machines ?
    Le "localhost" côté client ne peut donc pas fonctionner; si ma phrase ci-dessus est vraie.

  10. #10
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Par défaut
    Hello ! Merci pour la réponse.

    Il s'avère que pour mes tests, étant donné que je ne peux pas présumer de l'état du serveur distant, je lève un serveur RMI bouchonné en local. C'est au moment de lever le client que j'ai un problème

  11. #11
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Billets dans le blog
    2
    Par défaut
    de mon côté, si je mets une mauvaise URL, l'exception me montre la mauvaise URL que j'ai spécifié.
    Peux-tu mettre toute la stack trace ?

Discussions similaires

  1. Java rmi java.security.AccessControlException
    Par smokinaces26 dans le forum Java EE
    Réponses: 1
    Dernier message: 11/02/2010, 13h41
  2. [EJB3 Entity] java.rmi.UnmarshalException: ClassNotFoundException
    Par matthieu86 dans le forum Java EE
    Réponses: 1
    Dernier message: 01/03/2009, 17h46
  3. Java.rmi.NotBoundException (rmi execution client)
    Par charles9 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 21/07/2008, 15h10
  4. [RMI] java.rmi.UnmarshalException
    Par anicaise dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 06/06/2008, 10h34
  5. Réponses: 2
    Dernier message: 16/01/2007, 23h26

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