Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> доступ к ejb из tomcat 5.5, не получается получит доступ к ejb 
:(
    Опции темы
sanches_ru
Дата 23.12.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



Добрый день .... 
Проблема заключается в следующем на сервере jboss 4.0.4 разместил ejb, все нормально продеплоилось ....
Код

......
[EjbModule] Deploying FolderSessionBean
13:00:48,671 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'AnswerBean' to jndi 'indi/AnswerBean'
13:00:48,687 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'DistrnameBean' to jndi 'indi/DistrnameBean'
13:00:48,703 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'BoonBean' to jndi 'indi/BoonBean'
13:00:48,718 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'DistrsubjectBean' to jndi 'indi/DistrsubjectBean'
13:00:48,750 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'DocumentationBean' to jndi 'indi/DocumentationBean'
13:00:49,062 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'FormdivisionBean' to jndi 'indi/FormdivisionBean'
13:00:49,109 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'HrefBean' to jndi 'indi/HrefBean'
13:00:49,125 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'IntelligenceBean' to jndi 'indi/IntelligenceBean'
13:00:49,140 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'MessageBean' to jndi 'indi/MessageBean'
13:00:49,140 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'IntelligencechapterBean' to jndi 'indi/IntelligencechapterBean'
13:00:49,593 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'NewsBean' to jndi 'indi/NewsBean'
13:00:49,609 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'PravatemessageBean' to jndi 'indi/PravatemessageBean'
13:00:49,625 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'TipseBean' to jndi 'indi/TipseBean'
13:00:49,640 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'UsersBean' to jndi 'indi/UsersBean'
13:00:49,671 INFO  [BaseLocalProxyFactory] Bound EJB LocalHome 'FolderSessionBean' to jndi 'indi/FolderSessionBean'
13:00:50,109 INFO  [ProxyFactory] Bound EJB Home 'FolderSessionBean' to jndi 'FolderSessionBean'
.........
 

Теперь из сервелета который исполняется на tomcate пытаюсь получить доступ к этому ejb 
Код

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.rmi.*;
import javax.ejb.*;

public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE =
            "text/html; charset=windows-1251";

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        Properties pr = new Properties();
        pr.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
        pr.put(Context.PROVIDER_URL,"jnp://localhost:1099");
        try {
            // FolderSessionRemoteHome folderHome;
           Object result = null;
           Context init =(Context) new InitialContext(pr);
  
           Object obj = (Object)init.lookup("FolderSessionBean");
        //   result = PortableRemoteObject.narrow(obj,FolderSessionRemoteHome.class);
        //   folderHome = (FolderSessionRemoteHome)result;


        } catch (NamingException ex) {
            ex.printStackTrace();
        }
   }

    //Clean up resources
    public void destroy() {
    }
}


в итоге он мне пишет ....
Код

INFO: Server startup in 2859 ms
javax.naming.NameNotFoundException: Name FolderSessionBean is not bound in this Context
    at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
    at sessionbean.Servlet1.doGet(Servlet1.java:37)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)


Я думаю он просто не видит это JNDI имя просто не видит....!

Хотя если сделать обычный класс и запустить его через main то все прекрасно работает .....

Подскажите в чем может проблема ..... ? smile

PM MAIL   Вверх
tux
Дата 23.12.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Насколько я вижу, FolderSessionBean поклался в узел 'indi/FolderSessionBean'. Почему тогда в сервлете поиск по 'FolderSessionBean' выполняется?
PM MAIL Skype GTalk Jabber YIM   Вверх
sanches_ru
Дата 23.12.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



'indi/FolderSessionBean' - это имя локального интерфейса (javax.ejb.EJBLocalHome) через него можно осуществить доступ только в пределах контейнера....... !!! 

а для обращения из других серверов  нужен не локальный, а домашний(avax.ejb.EJBHome) интерфейс... и имя его 'FolderSessionBean'!!!!
и обрушатся надо именно через него ....



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1138 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.