Как использовать сервлет для вызова EJB из того же приложения

Я пытаюсь вызвать метод в EJB из сервлета, размещенного в том же приложении.

Однако я получаю исключение, так как мое приложение не может найти JNDI, который я передаю в initialContext.lookup() метод, и я пробовал много. Я думаю, что JBDI не объявляется должным образом в XML. Кто-нибудь знает, как добавить JNDI в качестве глобальной переменной в weblogic-xml?

Вот XML-файлы для ejb-jar и weblogic-ejb-jar

https://imgur.com/a/TcU7S

А вот и мой сервлет:

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

Другие вопросы по тегам