[jboss-user] [EJB 3.0] - ERROR [[action]] Servlet.service() for servlet action threw

chrisrevilla do-not-reply at jboss.com
Fri Jul 27 21:14:11 EDT 2007


The problem is --->operacionesRHRemoto = (OperacionesRHRemoto) context.lookup("RHumanosEAR/"+OperacionesRH.RemoteJNDIName);
				session.setAttribute("operacion", operacionesRHRemoto);
the problem is:
-when i use a stateful bean that call a class DispatchAction it doesnt work,  
-when I use an ActionClass it doesnt work, it works fine, 
-when I call the stateful using a simple class it works too,
Maybe I need to use a library, Idont know ... please help me.

************************
package de.struts.action;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import op.facade.*;

import java.util.Properties;
import org.apache.struts.action.*;
import org.apache.struts.actions.DispatchAction;
import de.facade.*;
import em.facade.*;
import de.Common;
import op.facade.*;

/**
 * MyEclipse Struts Creation date: 03-15-2006
 *
 * XDoclet definition:
 *
 * @struts.action parameter="action"
 * @struts.action-forward name="success" path="/jsp/operacion.jsp"
 */

public class ManejarOperacionAction extends DispatchAction {
	// --------------------------------------------------------- Instance
	// Variables

	// --------------------------------------------------------- Methods

	public ActionForward anadiraOperacion(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HttpSession session = request.getSession();
		//ActionMessages actionMessages = new ActionMessages();
		ActionErrors actionMessages = new ActionErrors();
		System.out.println("Esta ingresando a anadiraOperacion");
		EmpBeanRemoto empBeanRemote;
		// first try to get an existing cart from the current session
		OperacionesRHRemoto operacionesRHRemoto = (OperacionesRHRemoto) session.getAttribute("operacion");
		// when there is no cart create a new one and save it in the session
		if (operacionesRHRemoto == null)
		{	/*
			Properties properties = new Properties();
			properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
			properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");
			properties.put("java.naming.provider.url","localhost:1099");
		 	*/
			try
			{
				Context context = new InitialContext();
				operacionesRHRemoto = (OperacionesRHRemoto) context.lookup("RHumanosEAR/"+OperacionesRH.RemoteJNDIName);
				session.setAttribute("operacion", operacionesRHRemoto);
			} catch (NamingException e)
			{
				e.printStackTrace();
				throw new RuntimeException("Error de naming exception"+e.getMessage());
			}
		}
		String sId = request.getParameter("eid");
		System.out.println("manejaroperacion.anadiraoperacion--el empleado escogido es->:"+sId);
		if (sId == null)
		{
			actionMessages.add(ActionMessages.GLOBAL_MESSAGE,
					new ActionMessage("error.param.noentry"));
		} else
		{
			Integer id = Integer.parseInt(sId);
			operacionesRHRemoto.asignarDepAEmp(id);
			//cartLocal.addBook(id);
		}
		if (!actionMessages.isEmpty())
			saveErrors(request, actionMessages);
		return mapping.findForward(Common.SELF);
	}

	}
}
************its interfaces *********
package op.facade;

import java.util.Map;

import de.facade.Departamento;
import em.facade.Empleado;
import javax.ejb.Remote;

@Remote
public interface OperacionesRHRemoto {
	public void asignarDepAEmp(Empleado empleado);
	public void asignarDepAEmp(Integer id);
	public void removerDeDep(Empleado empleado);
	public void removerDeDep(Integer id);
	public void eliminarOperaciones();
	public Map obtenerOperaciones();
	void revisar(Departamento departamento);
	public void retirardeDepartamento(Integer id);
}

*********
package op.facade;
import em.facade.Empleado;
import de.facade.Departamento;
import java.util.*;
import javax.ejb.Local;
@Local
public interface OperacionesRHLocal {
	public void asignarDepAEmp(Empleado empleado);
	public void asignarDepAEmp(Integer id);
	public void removerDeDep(Empleado empleado);
	public void removerDeDep(Integer id);
	public void eliminarOperaciones();
	public Map obtenerOperaciones();
	void revisar(Departamento departamento);
	public void retirardeDepartamento(Integer id);
}

/************/

  +- RHumanosEAR (class: org.jnp.interfaces.NamingContext)
  |   +- EmpBean (class: org.jnp.interfaces.NamingContext)
  |   |   +- local (proxy: $Proxy117 implements interface em.facade.EmpBeanLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
  |   |   +- remote (proxy: $Proxy116 implements interface em.facade.EmpBeanRemoto,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
  |   +- DepBean (class: org.jnp.interfaces.NamingContext)
  |   |   +- local (proxy: $Proxy121 implements interface de.facade.DepBeanLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
  |   |   +- remote (proxy: $Proxy120 implements interface de.facade.DepBeanRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
  |   +- OperacionesRH (class: org.jnp.interfaces.NamingContext)
  |   |   +- localStatefulProxyFactory (class: org.jboss.ejb3.stateful.StatefulLocalProxyFactory)
  |   |   +- local (class: java.lang.Object)
  |   |   +- remote (class: java.lang.Object)
  |   |   +- remoteStatefulProxyFactory (proxy: $Proxy102 implements interface org.jboss.ejb3.ProxyFactory)

**************************************

PLEASE HELP ME tell me if I nedd to do some thing more?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4068409#4068409

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4068409



More information about the jboss-user mailing list