¡Hola a todos!
Tengo un problema con mi aplicación EJB Netweaver SP18 WebAS. La búsqueda JNDI falla con el siguiente error en tiempo de ejecución:
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Objeto no encontrado en la búsqueda de CaTreeServerIFBean.
en com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)
en com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)
en com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)
en com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
en com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
en com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
en com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
en com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
en com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
en java.security.AccessController.doPrivileged(Native Method)
en com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
en com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
sistema predecesor -
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Objeto no encontrado en la búsqueda de CaTreeServerIFBean.
en com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)
en com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)
en com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)
en com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
en com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
en com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
en com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
en com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
en com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
en java.security.AccessController.doPrivileged(Native Method)
en com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
en com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
Utilizo el siguiente código para buscar el EJB:
Object homeTreeObj = ctx.lookup("sap.com/anafee-server-ear/CaTreeServerIFBean");
Creo que el nombre JNDI debería estar correcto, ya que es un nombre compuesto
de "nombre-del-proveedor/nombre-de-la-aplicación/nombre-del-EJB".
Mi nombre de proveedor está definido en application-j2ee-engine.xml:
<application-j2ee-engine>
<provider-name>sap.com</provider-name>
<fail-over-enable mode="disable" />
</application-j2ee-engine>
Mi nombre de aplicación está definido en application.xml:
<application>
<display-name>anafee-server-ear</display-name>
<description>descripción de EAR</description>
<module>
<ejb>anafee-server-ejb-3_2.jar</ejb>
</module>
</application>
Mi EJB de sesión está declarado en ejb-jar.xml:
<session>
<description>prueba</description>
<ejb-name>CaTreeServerIFBean</ejb-name>
<home>com.catenic.anafee.server.common.serverinterface.CaTreeServerIFHome</home>
<remote>com.catenic.anafee.server.common.serverinterface.CaTreeServerIF</remote>
<ejb-class>com.catenic.anafee.server.common.serverinterface.CaTreeServerIFBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-ref>
<ejb-ref-name>ejb/CaFastReaderManager</ejb-ref-name>