Привет, люди!!!
Помогите, плз...
Возможно вызвать EJB из JSP?
Если возможно, то как?
Положим есть EJB: stateless session.
Deployed под именем HelloWorld (стандарт)
Home interface : HelloHome
Remote interface : Hello
EJB class : HelloBean
1 бизнес-метод: String hello();
Вроде бы размещён на сервере благополучно (Allaire JRun 3.0)
Как подцепить его из EJB?
Была такая попытка:
<%@ page import="javax.naming.*,java.rmi.*,java.util.*,javax.ejb.*,javax.servlet.jsp.JspWriter"%>
<%
System.setSecurityManager(new RMISecurityManager());
Properties p = new Properties();
p.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"allaire.ejipt.ContextFactory");
p.setProperty(Context.PROVIDER_URL, "
ejipt://127.0.0.1:2323");
InitialContext ictx = new InitialContext(p);
//До этого момента — всё нормально. Следующая строка не проходит...
HelloWorld home = (HelloWorld) ictx.lookup("HelloWorld");
Hello hello = home.create();
out.println( "Bean message : " + hello.hello());
hello.remove();
%>
Ответ — "нету у тебя такого класса"
Как быть???????
....
Давеча попровбовал вместо JSP использовать сервлет...
И получил от него ответ:
javax.naming.NameNotFoundException: HelloHome not found
at allaire.ejipt._NamingContext.lookup(_NamingContext.java:73)
at allaire.ejipt._ClientContext.lookup(_ClientContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at HelloClient.main(HelloClient.java:23)
Это как понимать, что EJB не deployed?
Проблема в некотором смысле разрешилась.
Спасибо за внимание.