Bonjour,
Après plusieurs jours de recherches sur le net, je me résous à soumettre mon problème ici.
En résumé : je dois intégrer un client EJB dans une application Web herbergée sous Tomcat:
- EJB tournant sous Glassfish 4
- Application web client sous Tomcat 7
Depuis un client externe de test, pas de soucis pour réaliser le lookup avec le code suivant : (Glashfish et Tomcat tournant sur la même machine)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Properties props = new Properties(); props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.impl.SerialInitContextFactory"); props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming"); props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"); InitialContext context = new InitialContext(props); TestInterface testInterface = (TestInterface) context.lookup("java:global/Project-ear/EJB-project/Test");
J'ai suivi les différents tuto disponible sur le net:
- Intégrer le jar gf-client.jar dans le classpath de l'application web
- Copier le répertoire "modules" de glassFish dans le répertoire parent contenant gf-client.jar
Mais j'obtiens en continu l'erreur suivante :
Je me demande donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INFO: Initializing Spring root WebApplicationContext javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.impl.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.impl.SerialInitContextFactory] 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)
- Si il me manque une dépendance supplémentaire ?
- Si l'emplacement du répertoire module est correct et comment les chemins "../<le nom du jar>" repris dans le manifest du gf-client.jar sont-ils interprétés ? par rapport à l'emplacement du jar gf-client.jar ? par rapport à la racine du serveur tomcat ? J'ai essayé de copié le répertoire modules à différents niveau dans l'arborescence Tomcat
- Est-ce qu'il y a quelque chose de plus spécifique au niveau de la configuration de Tomcat ?
Désolé si cette question parait bête mais ça fait plusieurs jours que je cherche sans trouver quoi que ce soit qui s'y rapporte de près ou de loin sur le net.
Merci de votre aide
Cordialement
Iclo
Partager