powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при look up ejb на WebSphere
11 сообщений из 11, страница 1 из 1
Ошибка при look up ejb на WebSphere
    #38172744
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь запустить тестовое приложение на WebSphere, но получаю ошибку. Код сервлета, ejb и дескрипторов привожу ниже.

Сам текст ошибки: Error 500: javax.servlet.ServletException: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is com.ibm.ws.naming.util.InvalidObjectException: Some object reference in the name "ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome" relative to the context "Diman-St-PCNode01Cell/nodes/Diman-St-PCNode01/servers/server1" is invalid. Some possible causes include a context binding in the name which refers to a destroyed context, or an object binding which contains an invalid EJBHome reference. [Root exception is org.omg.CORBA.INV_OBJREF: Could not resolve IOR string. vmcid: 0x0 minor code: 0 completed: No]]

Из SystemOut.log: Caused by: java.lang.ClassNotFoundException: ru.lukdiman.ejb.core.jmsmessage.EJSRemoteStatelessJMSMessage_c514a3a5

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public class SendJMSMessageServlet extends HttpServlet {
    private static final String MESSAGE_PARAMETER_NAME = "message";

    private JMSMessage jmsMessage = null;

    @Override
    public void init() throws ServletException {
        super.init();

        try {
            Context ctx = new InitialContext(env);
            Object objHome = ctx.lookup("java:comp/env/ejb/JMSMessage");
            JMSMessageHome jmsMessageHome = (JMSMessageHome) PortableRemoteObject.narrow(objHome, JMSMessageHome.class);
            jmsMessage = jmsMessageHome.create();
        } catch (Exception e) {
            throw new ServletException(e);
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("/sendMessage.jsp").forward(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String message = request.getParameter(MESSAGE_PARAMETER_NAME);
        request.setAttribute(MESSAGE_PARAMETER_NAME, message);

        request.getRequestDispatcher("/viewMessage.jsp").forward(request, response);
    }
}



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>
      <servlet-name>SendJMSMessage</servlet-name>
      <servlet-class>ru.lukdiman.ejb.web.servlet.SendJMSMessageServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>SendJMSMessage</servlet-name>
      <url-pattern>/sendMessage</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
      <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <ejb-ref id="EjbRef_1252108343393">
      <ejb-ref-name>ejb/JMSMessage</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home>ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome</home>
      <remote>ru.lukdiman.ejb.core.jmsmessage.JMSMessage</remote>
      <ejb-link>ejb-core.jar#JMSMessage</ejb-link>
    </ejb-ref>

</web-app>



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
    <enterprise-beans>
        <session id="JMSMessage">
            <ejb-name>JMSMessage</ejb-name>
            <home>ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome</home>
            <remote>ru.lukdiman.ejb.core.jmsmessage.JMSMessage</remote>
            <ejb-class>ru.lukdiman.ejb.core.jmsmessage.JMSMessageBean</ejb-class>
            <session-type>Stateless</session-type>
            <transaction-type>Container</transaction-type>
        </session>
    </enterprise-beans>
</ejb-jar>



Код: xml
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="UTF-8"?>
<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EjbJarBinding_1251662932984">
	<ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>
	<ejbBindings xmi:id="EnterpriseBeanBinding_1251662932984" jndiName="ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome">
		<enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#JMSMessage"/>
	</ejbBindings>
</ejbbnd:EJBJarBinding>



Код: xml
1.
2.
3.
4.
5.
6.
7.
<?xml version="1.0" encoding="UTF-8"?>
<webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1251663066218" virtualHostName="default_host">
	<webapp href="WEB-INF/web.xml#WebApp_ID"/>
	<ejbRefBindings xmi:id="EjbRefBinding_1252114740645" jndiName="ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome">
		<bindingEjbRef href="WEB-INF/web.xml#EjbRef_1252108343393"/>
	</ejbRefBindings>
</webappbnd:WebAppBinding>
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38172745
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совсем забыл WebSphere 8.5
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38174612
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome, указанный в ibm-web-bnd.xmi - это точно правильное имя? Если посмотреть лог WebSphere, то при старте приложения обычно пишутся такие строки, указывающие на то, что биндинг прошёл успешно:
Код: plaintext
1.
[3/4/13 8:03:47:415 EST] 00000074 EJBContainerI I   CNTR0167I: The server is binding the com.lombardisoftware.server.ejb.tracking.RepresentationManagerServicesHome interface of the RepresentationManagerServices enterprise bean in the twperfsvr-ejb.jar module of the IBM_BPM_PerformanceDW_bpsNode01_server1 application.  The binding location is: ejb/RepresentationManagerServices
См. текст, выделенный синим и зелёным.
Что там написано насчёт твоего JMSHome?

2. Как насчёт привести полный стек-трейс?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38175249
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ponomarevvb, спасибо что откликнулись

Вывод из лога: The server is binding the ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome interface of the JMSMessage enterprise bean in the ejb-core.jar module of the ejb-app application. The binding location is: java:global/JMS Test1/ejb-core/JMSMessage!ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome

Как исходя из этих данных можно сформировать конфиги мои?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38175324
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что надо будет прописать в ejb-bnd и web-bnd и по какому имени лукапить?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38176345
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lukdiman,

В ibm-web-bnd.xmi тогда надо jndiName указать "java:global/JMS Test1/ejb-core/JMSMessage!ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome"
Код, по идее, менять не надо.
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38176362
ponomarevvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ponomarevvblukdiman,

В ibm-web-bnd.xmi тогда надо jndiName указать "java:global/JMS Test1/ejb-core/JMSMessage!ru.lukdiman.ejb.core.jmsmessage.JMSMessageHome"
Код, по идее, менять не надо.

Хотя имя, конечно, - это какой-то треш. Больше в логе нет ничего? Это единственное имя, по которому прошёл биндинг для JMSMessageHome?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38176850
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем тогда писать jndiName в ejb-bnd?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38177975
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем я поменял web-bnd, но ошибка осталась. Нашел еще в логах, что сфера байндит помимо этого дикого jndi имени еще и на тот что написать в ejb-bnd. Т.е. получается то что я писал раньше в web-bnd является верным. Вопрос правда остался почему не лукапится? Бред какой-то. Может есть какие-то настройки? Может запрет где-то стоит на лукап remote бинов?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38177976
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может у меня ejb-link не верный в web-xml?

У меня ejb часть и web часть лежат в jar и war соответственно. Может он не находит мой ejb-core.jar где лежат все мои Home, Remote и SessionBean?
...
Рейтинг: 0 / 0
Ошибка при look up ejb на WebSphere
    #38177983
lukdiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или мне вообще надо использовать локальные интерфейсы для бина? если я использую на сфере все. у меня нет удаленных клиентов и rmi тут не нужен. Или между web сервером и app сервером тоже по rmi общаются?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка при look up ejb на WebSphere
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]