Foros del Web » Programación para mayores de 30 ;) » Java »

Problema ejemplo sencillo EJB3

Estas en el tema de Problema ejemplo sencillo EJB3 en el foro de Java en Foros del Web. Hola a todos. Estoy empezando con los EJBs. Estoy realizando un ejemplo sencillo de EJB de sesión sin estado (stateless), en el que un servlet ...
  #1 (permalink)  
Antiguo 21/03/2011, 13:25
 
Fecha de Ingreso: agosto-2010
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
Problema ejemplo sencillo EJB3

Hola a todos.

Estoy empezando con los EJBs. Estoy realizando un ejemplo sencillo de EJB de sesión sin estado (stateless), en el que un servlet que hará de cliente llamará al método del EJB que saludará.

Estoy trabajando con eclipse Helios y jboss 6.0 donde despliego tanto el .war del ejb, como el .jar del servlet. Además tengo instalado el jdk de java 1.6.0_23.

A continuación expongo tanto el código del EJB como de su interfaz y el código del servlet cliente:

Código del EJB:

Código:
package proyecto;

//import javax.ejb.Local;
import javax.ejb.Stateless;

@Stateless(name="ejb/saludo")
//@Local(SalBeanLocal.class)

public class SalBean implements SalBeanLocal {

    public String diHola(String nombre) {
		return ("Hola Sr." + nombre + " !!!");
    }

}
código del interfaz local:
Código:
package proyecto;
import javax.ejb.Local;

@Local
public interface SalBeanLocal {
	public String diHola(String nombre);
}
código del servlet cliente:
Código:
package proyecto;

import java.io.IOException;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


@WebServlet("/pruebaServlet")
public class pruebaServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	@EJB(mappedName="ejb/saludo")
	private SalBeanLocal saludo;
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("aqui llego");
		System.out.println(saludo.diHola("Juan"));
	}

}
Al arrancar el servidor, se despliegan correctamente:

20:08:36,474 INFO [org.jboss.ejb3.deployers.JBossASKernel] Created KernelDeployment for: SalEJB3.jar
20:08:36,478 INFO [org.jboss.ejb3.deployers.JBossASKernel] installing bean: jboss.j2ee:jar=SalEJB3.jar,name=ejb/saludo,service=EJB3
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] with dependencies:
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] and demands:
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] jboss.ejb:service=EJBTimerService; Required: Described
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] jboss-switchboard:appName=SalEJB3,module=SalEJB3,name=ej b/saludo; Required: Create
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] and supplies:
20:08:36,479 INFO [org.jboss.ejb3.deployers.JBossASKernel] Class:proyecto.SalBeanLocal
20:08:36,480 INFO [org.jboss.ejb3.deployers.JBossASKernel] jndi:ejb/saludo/local-proyecto.SalBeanLocal
20:08:36,480 INFO [org.jboss.ejb3.deployers.JBossASKernel] jndi:ejb/saludo
20:08:36,480 INFO [org.jboss.ejb3.deployers.JBossASKernel] jndi:ejb/saludo/local
20:08:36,485 INFO [org.jboss.ejb3.deployers.JBossASKernel] Added bean(jboss.j2ee:jar=SalEJB3.jar,name=ejb/saludo,service=EJB3) to KernelDeployment of: SalEJB3.jar
20:08:36,615 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeplo yment] deploy, ctxPath=/pruebaServlet

El error llega a la hora de ejecutar. Parece que el servlet se ejecuta correctamente hasta la línea que hace la llamada al método del Interfaz del EJB. Por consola aparece lo siguiente:

20:17:03,345 INFO [STDOUT] aqui llego

20:17:03,346 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/pruebaServlet].[proyecto.pruebaServlet]] Servlet.service() para servlet proyecto.pruebaServlet lanzó excepción: java.lang.NullPointerException
at proyecto.pruebaServlet.doGet(pruebaServlet.java:23 ) [:]
at javax.servlet.http.HttpServlet.service(HttpServlet .java:734) [:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet .java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationV alve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$Requ estListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$Requ estListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.inv oke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstab lishmentValve.invoke(SecurityContextEstablishmentV alve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionV alve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequest ResponseCacheValve.invoke(ActiveRequestResponseCac heValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]


No se donde puedo tener el error. Os lo agradecería si me pudieseis ayudar.
Perdonad por la longitud del mensaje.

Etiquetas: ejb, ejemplo, sencillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:53.