E ai pessoal,
mudei temporariamente de estrategia. estou chamando o EJB do servlet. aqui vao os
XDoclets do ejb e do
servlet:
SESSION BEAN:
/**
* Created 23/09/2002 16:29:32
* Code generated by the Forte for Java EJB Module
* @author Administrator
*
* @ejb:bean name="AgendaBusiness/UsuarioSessionFacadeEJBean"
* display-name="Customer Session"
* type="Stateless"
* view-type="remote"
* jndi-name="ejb/AgendaBusiness/UsuarioSessionFacadeEJBean"
*
* @ejb:interface remote-class="AgendaBusiness.UsuarioSessionFacadeRemote"
extends="javax.ejb.EJBObject"
* local-class="AgendaBusiness.UsuarioSessionFacadeLocal"
* generate="local"
*
* @ejb:home remote-class="AgendaBusiness.UsuarioSessionFacadeHome"
extends="javax.ejb.EJBHome"
* local-class="AgendaBusiness.UsuarioSessionFacadeLocalHome"
* generate="local"
*
* @jboss:container-configuration name="Standard Stateless SessionBean"
*/
SERVLET
/**
* @author Nilseu Padilha
* @version $Revision: 1.1 $
*
* @web:servlet name="UsuarioController"
* display-name="UsuarioControler"
*
*@web:servlet-mapping url-pattern="/UsuarioController"
*
*@web.ejb-ref name="ejb/AgendaBusiness/UsuarioSessionFacadeEJBean"
* type="Session"
* home="AgendaBusiness.UsuarioSessionFacadeHome"
* remote="AgendaBusiness.UsuarioSessionFacadeRemote"
* link="AgendaBusiness/UsuarioSessionFacadeEJBean"
* description="A test reference to the UsuarioSessionFacadeEJBean EJB"
*
*@jboss:ejb-ref-jndi ref-name="ejb/AgendaBusiness/UsuarioSessionFacadeEJBean"
* jndi-name="ejb/AgendaBusiness/UsuarioSessionFacadeEJBean"
*
*/
De acordo com os samples e a documentacao do XDoclet esta tudo aparentemente ok.
Estou gerando arquivos
ejb-jar e web.xml alem dos proprios do jboss sem problema, incluindo ejb-references.
o problema esta na hora
que eu chamo o ejb: funciona perfeitamente no client mas no servlet gera uma excecao
cavernosa "ejb not
bound" no momento do context.lookup. Qulaquer especulacao sera bem-vinda.
valeu.
O codigo de chamada:
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
try{
InitialContext context=null;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY
,"org.jnp.interfaces.NamingContextFactory");
env.put(Context.PROVIDER_URL, "presto:1099");
env.put("java.naming.factory.url.pkgs"
,"org.jboss.naming:org.jnp.interfaces");
context = new InitialContext(env);
Object ref = null;
out.println("<p>");
out.println(ref);
out.println("<p>"+"java:/ejb/AgendaBusiness/UsuarioSessionFacadeEJBean"+"<p>");
ref =
context.lookup("java:/ejb/AgendaBusiness/UsuarioSessionFacadeEJBean");
out.println("<p>");
out.println(ref);
AgendaBusiness.UsuarioSessionFacadeHome usuarioHome =
(AgendaBusiness.UsuarioSessionFacadeHome)
PortableRemoteObject.narrow (ref,
AgendaBusiness.UsuarioSessionFacadeHome.class);
// UsuarioSessionFacadeHome usuarioHome = (UsuarioSessionFacadeHome)
context.lookup
("ejb/AgendaBusiness/UsuarioSessionFacadeEJBean");
AgendaBusiness.UsuarioSessionFacadeRemote usuario = usuarioHome.create();
Object[] usuarios = usuario.findAll();
out.println("<p>");
System.out.println("Teste findByUsername");
out.println("<p>");
out.println(usuario.findByUsername("ADMIN"));
out.println("<p>");
//System.out.println("Teste findTeste ["+ usuario.findTeste() +"]");
out.println("Teste findAll");
for (int i = 0; i < usuarios.length; ++i){
out.println("<p>");
out.println(usuarios[i]);
}
}catch (Exception e){
out.println("<p>");
e.printStackTrace(out);
}
e a excecao:
I'm alive!!!
null
java:/ejb/AgendaBusiness/UsuarioSessionFacadeEJBean
javax.naming.NameNotFoundException: ejb not bound at
org.jnp.server.NamingServer.getBinding
(NamingServer.java:495) at
org.jnp.server.NamingServer.getBinding(NamingServer.java:503) at
org.jnp.server.NamingServer.getObject(NamingServer.java:509) at
org.jnp.server.NamingServer.lookup
(NamingServer.java:253) at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:456) at
org.jnp.interfaces.NamingContext.lookup(NamingContext.java:440) at
javax.naming.InitialContext.lookup
(InitialContext.java:347) at
AgendaPresentation.cadastrarusuarios.UsuarioControllerServlet.doGet
(UsuarioControllerServlet.java:115) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040) at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151) at
java.lang.Thread.run
(Thread.java:536)
<Padilha id="Nilseu">
Nilseu Perside Ortiz Padilha Junior
Estudante de Ciencia da Computacao - ULBRA
Desenvolvedor Java
<Quote>
Rejeitamos reis, presidentes e votos. Acreditamos
em puro consenso e codigo eficiente. - Dave Clark
</Quote>
</Padilha>
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]