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 :

[NameNotFoundException] Initialcontext.lookup(MyEjb) failed!


Sujet :

Java EE

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 71
    Points
    71
    Par défaut [NameNotFoundException] Initialcontext.lookup(MyEjb) failed!
    Bonjour,

    J'essaye de jouer avec des ejb ( un programme de type HelloWorld ) mais je suis confronté à un problème lors de l'appel du InitialContext.lookup ("JNDI name?!"): cet appel lève une exception de type javax.naming.NameNotFoundException. A première vue je dirai que j'utilise un mauvais JNDI name: si je ne dis pas de bêtise, il faut utiliser le nom indiqué dans le descripteur de déploiement de cet EJB

    Voici le code du client appelant l'ejb:
    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 HelloWorldClient {
     
    	public static void main(String args[]) { 
     
    		Context initialContext = null;
    		try {
    			Properties prop = new Properties();			
    			prop.put(Context.PROVIDER_URL, "rmi://localhost:1099");
    							prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.objectweb.carol.jndi.spi.MultiOrbInitialContextFactory");
    			initialContext = new InitialContext(prop);
     
    		} catch (Exception e) {
    			System.err.println("Impossible d'accéder au contexte JNDI : " + e);
    			System.exit(2);
    		}
     
    		HelloWorldHome home = null;
    		try {
    			home = (HelloWorldHome)PortableRemoteObject.narrow(initialContext.lookup
    					("HelloWord"), HelloWorldHome.class);
    		} catch (Exception e) {
    			System.err.println( "Impossible de trouver HelloWorldHome : " + e);
    			System.exit(2);
    		}
     
    		HelloWorld myHelloWorld = null;
    		try {
    			myHelloWorld = home.create();
    			System.out.println(myHelloWorld.sayHelloWorld());
    		} catch (Exception e) {
    			System.err.println("Impossible de créer le bean : " + e);
    			System.exit(2);
    		}
     
    	}
    }
    et voici le descripteur de déploiement de mon ejb

    jonas-ejb-jar.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      <!-- Session Beans -->
      <jonas-session>
        <ejb-name>HelloWord</ejb-name>  
        <jndi-name>HelloWord</jndi-name>  
      </jonas-session>

    ejb-jar.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
         <!-- Session Beans -->
          <session >
             <description><![CDATA[]]></description>
             <ejb-name>HelloWord</ejb-name>
             <home>server.interfaces.HelloWordHome</home>
             <remote>server.interfaces.HelloWord</remote>
             <ejb-class>server.ejb.HelloWordSession</ejb-class>
             <session-type>Stateless</session-type>
             <transaction-type>Container</transaction-type>
          </session>
    Je pense que je suis en train d'utiliser un mauvaise valeur pour le JNDI name pour l'obtention de l'interface Home

    Quelqu'un aurait une idée svp?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Hi,

    Je pense que tu as des fautes de frappe dans le nom de tes classes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	home = (HelloWorldHome)PortableRemoteObject.narrow(initialContext.lookup
    					("HelloWord"), HelloWorldHome.class);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <home>server.interfaces.HelloWordHome</home>
    Il faudrait déjà vérfier ça et uniformiser les noms.

Discussions similaires

  1. lookup failed for a ressource
    Par omar01 dans le forum Glassfish et Payara
    Réponses: 2
    Dernier message: 19/11/2012, 17h39
  2. Réponses: 0
    Dernier message: 07/03/2012, 09h26
  3. [Débutant] Problème avec InitialContext.lookup()
    Par Faiche dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 20/12/2008, 20h36
  4. Lookup de valeurs
    Par Sylvain James dans le forum XMLRAD
    Réponses: 4
    Dernier message: 26/09/2003, 13h47
  5. champ lookup sur querydataSet
    Par freinhar dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/12/2002, 17h29

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