Tomcat 5.5 + JBoss 4

Joorge
16 de Febrero del 2006
Hola, tengo problema a la hora de conectar un EJB del Jboss en el tomcat.
Tengo mi EJB publicado en el Jboss perfectamente, la veo desde el JNDIViewer publicado correctamente y estoy intentando acceder a él desde el tomcat en otra máquina.
Si desde el tomcat a la hora de crear el InitialContext le paso los parametros del JBoss:

Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
properties.put(Context.PROVIDER_URL, "jnp://jboss-server-ip:1099");
properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

Entonces me lo hace perfecto, accedo al EJB y lo instancia en el Tomcat, lo que quiero hacer es una referencia a ese EJB en el JNDI del Tomcat, para lo cual he creado en el web.xml la referencia con el <ejb-ref>, de esta forma en el InitialContext del Tomcat veo la referencia del objeto, pero cuando lo intento obtener me devuelve null.

Veo que la referencia existe haciendo un listado del JNDI del Tomcat.

InitialContext initialContext = new InitialContext();
NamingEnumeration eNum = initialContext.listBindings("java:comp/env/ejb");

Ahí veo mi EjbRef al EJB de Jboss, pero cuando lo intento obtener:

Object ref = initialContext.lookup("java:comp/env/ejb/Adder");

ref vale null, por lo tanto no puedo llegar a referenciar el objeto a través de:

AdderHome home = (AdderHome) PortableRemoteObject.narrow(ref, AdderHome.class);
Adder mS = home.create();

Creo que el problema es que necesito decirle al Tomcat cual es el ObjectFactory para el EJB del JBoss, pero no se como indicarselo.

Gracias y un saludo
J. Leal
[email protected]