2017-06-06 2 views
0

J'essaie d'appeler une méthode dans un EJB à partir d'une servlet hébergée dans la même application.Comment utiliser une servlet pour appeler un EJB à partir de la même application

Cependant l'exception que j'obtiens est que mon application ne peut pas trouver le JNDI que je passe dans la méthode initialContext.lookup(), et j'en ai essayé beaucoup. Je pense que le JBDI n'est peut-être pas correctement déclaré dans le XML. Est-ce que quelqu'un sait comment ajouter le JNDI comme variable globale dans weblogic-xml?

Voici les fichiers xml pour le ejb-jar et weblogic-ejb-jar

http://imgur.com/a/TcU7S

Et voici mon servlet:

AdminServiceLocalHome admin_Home = getAdminHome(); //does jndi lookup to get adminhome 

AdminServiceLocal adminLocal = admin_Home.create(); //creates() ejb 

String output = adminLocal.sendPendingResolutions(); //calls ejb 
+1

S'il vous plaît lire [Dans quelles circonstances j'ajouter « d'urgence » ou d'autres expressions semblables à ma question, afin d'obtenir plus rapidement réponses?] (https://meta.stackoverflow.com/q/326569) - le résumé est que ce n'est pas une façon idéale de s'adresser aux volontaires, et est probablement contre-productif pour obtenir des réponses. Merci de ne pas ajouter ceci à vos questions. – halfer

Répondre

0

figured it out. Nous avons dû ajouter cette ligne à la jarre xml:

<wls:jndi-name>services.Admin</wls:jndi-name> 

et utiliser le JNDI ci-dessus