Aquí va el código:
ejbServer : Cadena.java
Código:
**CadenaBean.java ***package com.glopez.ejb.funciones; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Cadena extends EJBObject { public String invertirCadena(String cadena) throws RemoteException; public int NroLetras(String cadena) throws RemoteException; public String Mayusculas(String cadena) throws RemoteException; public String Minusculas(String cadena) throws RemoteException; }
Código:
Sigo con elpackage com.glopez.ejb.funciones; import java.rmi.RemoteException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; public class CadenaBean implements SessionBean { // Muestra cadenaInvertida public static String cadenaInvertida(String cadena) { int i, len = cadena.length(); StringBuffer dest = new StringBuffer(len); for (i = (len - 1); i >= 0; i--) { dest.append(cadena.charAt(i)); } return dest.toString(); } // Longitud de la cadena public int NroLetras(String cadena) { int s = cadena.length(); return s; } // convertir a mayusculas public String Mayusculas(String cadena) { String s = cadena.toUpperCase(); return s; } // convertir a minusculas public String Minusculas(String cadena) { String s = cadena.toLowerCase(); return s; } public CadenaBean() {} public void ejbCreate() {} public void ejbRemove() {} public void ejbPassivate() {} public void ejbActivate() {} public void setSessionContext(SessionContext sc) {} }
*** CadeHome.java ****
Código:
y por ultimo mi cadenaCliente.jsp es :package com.glopez.ejb.funciones; import javax.ejb.EJBHome; import javax.ejb.CreateException; import java.rmi.RemoteException; public interface CadenaHome extends EJBHome { Cadena create() throws RemoteException, CreateException; }
Código:
Alguien me puede decir en qué estoy mal??<%@ page import="java.util.Properties, javax.rmi.PortableRemoteObject, java.rmi.RemoteException, javax.naming.*, javax.ejb.*" %> <%@ page import="com.glopez.ejb.funciones.Cadena, com.glopez.ejb.funciones.CadenaHome" %> <html> <head><title>EJB por Gabriela López</title></head> <body> <center> <br><br> <% Properties env = new Properties(); // Definir las propiededas y ubicación de búsqueda de Nombres JNDI. env.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); env.setProperty("java.naming.provider.url", "localhost:1099"); env.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming"); try { // Traer el Contexto de Nombre InitialContext jndiContext = new InitialContext(env); out.println("Contexto Disponible<br>"); // Traer la Referencia del EJB Object ref = jndiContext.lookup("Calculo"); out.println("Se encontró Referencia del EJB!<br>"); // Traer la referencia del "Home Interface" CadenaHome home = (CadenaHome) PortableRemoteObject.narrow (ref, CadenaHome.class); out.println("Se encontró Referencia de CadenaHome!<br>"); // Crear un Objeto a partir del "Home Interface" Cadena pepe = home.create(); // Llamar a los métodos String x="Cibertec"; String invCad = pepe.invertirCadena(x); String nroLet = pepe.NroLetras(x); String cadMay = pepe.Mayusculas(x); String cadMin = pepe.Minusculas(x); out.println("La cadena invertida es : " + invCad); out.println("La cadena tiene : " + nroLet + " letras"); out.println("La cadena en Mayúsculas es :" + cadMay); out.println("La cadena en Minúsculas es :" + cadMin); } catch (RemoteException e) { out.println("<br>" + e.toString()); } catch (CreateException e) { out.println("<br>" + e.toString()); } catch (NamingException e) { out.println("<br>" + e.toString()); } catch(Exception e) { out.println("<br>" + e.toString()); } %> </body> </html>
Ya me tiene loca esto