Bonjour à tous,

J'essaie d'apprendre les EJB 3.0 Stateless Session par moi-même. J'ai suivi ce tutoriel à la lettre:

http://theopentutorials.com/examples...pse-jboss-6-1/

Sauf qu'à la fin du tuto, au lieu d'obtenir l'output affiché, j'ai ceci:

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
javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
	at javax.naming.InitialContext.init(InitialContext.java:242)
	at javax.naming.InitialContext.<init>(InitialContext.java:216)
	at com.ibytecode.clientutility.ClientUtility.getInitialContext(ClientUtility.java:34)
	at com.ibytecode.client.EJBApplicationClient.doLookup(EJBApplicationClient.java:22)
	at com.ibytecode.client.EJBApplicationClient.main(EJBApplicationClient.java:12)
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:270)
	at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:63)
	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671)
	... 6 more
Exception in thread "main" java.lang.NullPointerException
	at com.ibytecode.client.EJBApplicationClient.main(EJBApplicationClient.java:14)
Picked up _JAVA_OPTIONS: -Xmx512M
Je devine aisément que le contexte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
/*specifying the list of package prefixes to use when
	loading in URL context factories. colon separated*/
	private static final String JNP_INTERFACES = "org.jboss.naming:org.jnp.interfaces";
 
	/*Factory that creates initial context objects.
	fully qualified class name. */
	private static final String INITIAL_CONTEXT_FACTORY = "org.jnp.interfaces.NamingContextFactory";
n'est pas bon, mais je n'arrive nulle part à trouver par quoi remplacer ce contexte pour mon serveur, JBoss 7.1 Runtime.

Par ailleurs, le tuto ne dis pas si je dois exécuter le Main sur le serveur ou en tant qu'application Java normale.

Encore une question: pour le JNDI, j'en obtiens plein:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
	java:global/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
	java:app/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
	java:module/HelloWorldBean!com.ibytecode.business.HelloWorld
	java:jboss/exported/HelloWorldSessionBean/HelloWorldBean!com.ibytecode.business.HelloWorld
	java:global/HelloWorldSessionBean/HelloWorldBean
	java:app/HelloWorldSessionBean/HelloWorldBean
	java:module/HelloWorldBean
Du coup je ne sais pas lequel utiliser à la place de HelloWorldBean/remote dans son exemple!

Quelqu'un peut m'aider?
Merci d'avance.