Как использовать сервлет для вызова EJB из того же приложения
Я пытаюсь вызвать метод в EJB из сервлета, размещенного в том же приложении.
Однако я получаю исключение, так как мое приложение не может найти JNDI, который я передаю в initialContext.lookup()
метод, и я пробовал много. Я думаю, что JBDI не объявляется должным образом в XML. Кто-нибудь знает, как добавить JNDI в качестве глобальной переменной в weblogic-xml?
Вот XML-файлы для ejb-jar и weblogic-ejb-jar
А вот и мой сервлет:
AdminServiceLocalHome admin_Home = getAdminHome(); //does jndi lookup to get adminhome
AdminServiceLocal adminLocal = admin_Home.create(); //creates() ejb
String output = adminLocal.sendPendingResolutions(); //calls ejb
1 ответ
Догадаться. Пришлось добавить эту строку в xml jar:
<wls:jndi-name>services.Admin</wls:jndi-name>
и используйте вышеупомянутый JNDI