package com.FitBank.ebusiness.delegate; import com.FitBank.exception.FitConnectException; //import com.FitBank.facade.Facade; //import com.FitBank.facade.FacadeHome; //import com.FitBank.Main.ObtieneContext; import com.FitBank.xml.Mensaje.MensajeXml; import com.fitbank.common.properties.PropertiesHandler; import com.fitbank.uci.client.UCIClient; //import java.rmi.RemoteException; //import javax.ejb.CreateException; //import javax.naming.Context; //import javax.naming.InitialContext; //import javax.naming.NamingException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.http.HttpSessionBindingListener; /** * Clase que implementa el acceso a la fachada de la EJB Tier * invocando vía RMI al EJB FBEJBFacade, e instanciando el * componente. * @author FITBANK * @version 2.0 Abril 2004 * @see InstancerConnect */ public class ConnectBusinessEJB implements ConnectBusiness, HttpSessionBindingListener { /** * Atributo de la clase en el que se coloca el objeto que devuelve el * método que instancia eL EJB de fachada. */ //protected Facade facade; protected Object facade; /** * Atributo que contiene el nombre del componente EJB referenciado. */ protected String COMPONENT = "Facade"; protected String COMMON_ERROR = "CAN'T CONNECT FIT-BANK CORE TIER "; /** * Constructor de por defecto de la clase que coloca en null el atributo de * la clase. */ public ConnectBusinessEJB() { facade = null; } /** * Método que permite enviar el request del cliente y el mensaje de solicitud * del sistema a su proceso. * @param request Petición del cliente. * @param message Objeto que contiene el mensaje generado en el sistema para * ser procesado. * @return Objeto que contiene el mensaje respuesta del sistema. * @throws FitConnectException Exception levantada en caso de que exista fallas * en el sistema de busqueda JNDI, creacion de la fachada o de conexión remota. */ public String connectToBusiness(HttpServletRequest request, String message) throws FitConnectException { String response = ""; HttpSession session = request.getSession(); String messageType = (String)session.getAttribute("TIP_MEN"); if (facade == null) { synchronized (this) { try { boolean isUCIprocess = true; try { String subsistema = message.substring(message.indexOf("")+5, message.indexOf("")+7); String transaccion = message.substring(message.indexOf("")+5, message.indexOf("")+9); String version = message.substring(message.indexOf("")+5, message.indexOf("")+7); PropertiesHandler properties = new PropertiesHandler("bypass"); String bypass = properties.getValue(subsistema); if (bypass != null) { String[] transacciones = bypass.split(","); for (int i=0; i