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