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

Problemas con un simple JavaBean

Estas en el tema de Problemas con un simple JavaBean en el foro de Java en Foros del Web. Hola, tengo que hacer un JavaBean que debe aplicarme y mostrarme algunas funciones de cadena. Estoy utilizando el JBoss. Aquí va el código: ejbServer : ...
  #1 (permalink)  
Antiguo 22/08/2006, 21:30
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
Problemas con un simple JavaBean

Hola, tengo que hacer un JavaBean que debe aplicarme y mostrarme algunas funciones de cadena. Estoy utilizando el JBoss.

Aquí va el código:

ejbServer : Cadena.java

Código:
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;
}
**CadenaBean.java ***
Código:
package 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) {}
}
Sigo con el
*** CadeHome.java ****

Código:
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; 

}
y por ultimo mi cadenaCliente.jsp es :

Código:
<%@ 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>
Alguien me puede decir en qué estoy mal??

Ya me tiene loca esto
__________________
Gaby :adios:

Última edición por gabyweb; 22/08/2006 a las 21:35 Razón: falta código
  #2 (permalink)  
Antiguo 23/08/2006, 08:41
Avatar de pyanqn  
Fecha de Ingreso: noviembre-2005
Mensajes: 331
Antigüedad: 18 años, 5 meses
Puntos: 8
Yo creo que el problema esta en alguna de las propiedades de tu JNDI yo uso esto:

Properties p = new Properties();
// Definir las propiededas y ubicación de búsqueda de Nombres JNDI.
p.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.int erfaces.NamingContextFactory");
p.put(Context.PROVIDER_URL,"jnp://localhost:1099");
return new javax.naming.InitialContext(p);
  #3 (permalink)  
Antiguo 23/08/2006, 09:17
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
No, no es..el problema persiste
__________________
Gaby :adios:
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 05:09.