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 :

Acces distant KO


Sujet :

Java EE

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Acces distant KO
    Bonjour à tous,

    j'ai un EJB de test(tout ce qu'il y a de plus simple) sur un serveur weblogic.

    Lorsque j'y accède depuis une page de test que j'ai inclue dan l'ear ça marche, mais lorsque j'y accède depuis une classe avec un main (en dehors du serveur) j'ai une erreur.

    Merci !! Je ne comprend pas ce que j'ai mal fait -_-''''

    l'EJB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    package fr;
    import javax.ejb.Remote;
     
    @Remote
    public interface TestRemote {
    		public String test();
    }
    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
     
    package fr;
     
    import javax.ejb.Stateless;
     
    /**
     * Session Bean implementation class Test
     */
    @Stateless(mappedName = "Test")
    public class Test implements TestRemote {
    	@Override
    	public String test() {
    		return "test OK";
    	}
    }
    La JSP déployer sur le serveur qui marche :
    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
    <%@page import="java.util.Properties"%>
     
    <%@page import="javax.naming.Context"%>
    <%@page import="javax.naming.InitialContext"%>
    <%@page import="javax.naming.NamingException"%>
    <%@page import="fr.TestRemote"%>
     
     
    <%System.out.println("test");
    		Properties properties = new Properties();
    		properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    		properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
     
    		try {
    			Context context = new InitialContext(properties);
    			TestRemote beanInstance = (TestRemote)context.lookup("Test#fr.TestRemote");
    			System.out.println(beanInstance.test());
    		} catch (NamingException e) {
    			 e.printStackTrace();
    		}
    %>
    La classe avec le main() qui plante :
    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
    package com.test;
     
    import java.util.Hashtable;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
     
    import fr.TestRemote;
     
    public class Main {
     
    	Context context = null;
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		System.out.println("test");
    		Hashtable props = new Hashtable();
    		props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    		props.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");
     
    		Context ctx = null;
     
    		try {
    			Context context = new InitialContext(props);
     
    			TestRemote beanInstance = (TestRemote) context.lookup("Test#fr.TestRemote");
    			System.out.println(beanInstance.test());
    		} catch (NamingException e) {
    			e.printStackTrace();
    		}
     
    	}
     
    }
    et l'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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    test
    15 oct. 2009 12:33:58 com.sun.corba.se.impl.encoding.CDRInputStream_1_0 read_value
    ATTENTION: "IOP00810210: (MARSHAL) Error from readValue on ValueHandler in CDRInputStream"
    org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 210 completed: Maybe
    	at com.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadError(ORBUtilSystemException.java:6472)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1048)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
    	at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
    	at com.sun.corba.se.impl.util.Utility.readAbstractAndNarrow(Utility.java:948)
    	at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1986)
    	at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
    	at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
    	at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
    	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
    	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
    	at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:249)
    	at com.sun.corba.se.impl.corba.TCUtility.unmarshalIn(TCUtility.java:269)
    	at com.sun.corba.se.impl.corba.AnyImpl.read_value(AnyImpl.java:559)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:739)
    	at com.sun.corba.se.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:220)
    	at weblogic.corba.cos.naming._NamingContextAnyStub.resolve_any(_NamingContextAnyStub.java:81)
    	at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:208)
    	at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:168)
    	at javax.naming.InitialContext.lookup(InitialContext.java:392)
    	at com.test.Main.main(Main.java:31)
    Caused by: java.lang.AssertionError: java.lang.ClassNotFoundException: fr.TestRemote
    	at weblogic.ejb.container.internal.RemoteBusinessIntfGenerator.generateRemoteInterface(RemoteBusinessIntfGenerator.java:57)
    	at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:205)
    	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:597)
    	at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
    	at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
    	at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
    	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
    	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
    	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
    	... 23 more
    Caused by: java.lang.ClassNotFoundException: fr.TestRemote
    	at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.getClassBytes(RemoteBizIntfClassLoader.java:151)
    	at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.loadClass(RemoteBizIntfClassLoader.java:96)
    	at weblogic.ejb.container.internal.RemoteBusinessIntfGenerator.generateRemoteInterface(RemoteBusinessIntfGenerator.java:54)
    	... 34 more
    Merci de votre aide !!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    java.lang.ClassNotFoundException: fr.TestRemote
    La classe TestRemote n'est pas dans le classpath de l'application Main.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Même probléme
    voici la trace :

    Exception in thread "Main Thread" java.lang.NoClassDefFoundError: weblogic/kernel/KernelStatus
    at weblogic.jndi.Environment.<clinit>(Environment.java:78)
    at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:198)
    at com.cofidis.fwk.ve.client.EJBTest.show(EJBTest.java:69)
    at com.cofidis.fwk.ve.client.EJBTest.main(EJBTest.java:42)

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Je pense avoir trouvé pour ceux qui rencontreront le probléme.
    On se met sur la classe qui contient le main dans eclipse.
    Click droit => Run as/Debug as => Run Configurations / Debug Configurations.
    On va sur l'onglet ClassPath on ajoute wlClient.jar dans User Entries, on supprime les libs weblo si il y en a (Weblogic System Library) et normalement ça devrait marcher.

Discussions similaires

  1. Accès distant à MySQL
    Par troumad dans le forum Installation
    Réponses: 1
    Dernier message: 15/12/2005, 08h52
  2. [XP]Accès distant
    Par pinocchio dans le forum Windows XP
    Réponses: 3
    Dernier message: 24/11/2005, 13h10
  3. accès distants à mysql (débutant)
    Par seb0026 dans le forum Débuter
    Réponses: 1
    Dernier message: 10/10/2005, 23h41
  4. Comment créer une connexion accès distant ?
    Par fredero dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 08/06/2005, 23h31
  5. acces distant a un fichier
    Par vedder dans le forum Développement
    Réponses: 3
    Dernier message: 07/12/2004, 18h58

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