Olá a todos!
Estou com um problema em minha aplicação EJB Netweaver SP18 WebAS. A busca JNDI está falhando com o seguinte erro em tempo de execução:
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Objeto não encontrado na busca por CaTreeServerIFBean.
em com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)
em com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)
em com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)
em com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
em com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
em com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
em com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
em com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
em com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
em java.security.AccessController.doPrivileged(Native Method)
em com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
em com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
sistema predecessor -
com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Objeto não encontrado na busca por CaTreeServerIFBean.
em com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)
em com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)
em com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)
em com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
em com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
em com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
em com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
em com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
em com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
em java.security.AccessController.doPrivileged(Native Method)
em com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
em com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
-
Estou usando o seguinte código para buscar o EJB:
Object homeTreeObj = ctx.lookup("sap.com/anafee-server-ear/CaTreeServerIFBean");
Acredito que o nome JNDI deve estar correto, já que é um nome composto
por "nome-do-provedor/nome-da-aplicação/nome-do-EJB".
Meu nome de provedor está definido em application-j2ee-engine.xml:
<application-j2ee-engine>
<provider-name>sap.com</provider-name>
<fail-over-enable mode="disable" />
</application-j2ee-engine>
Meu nome de aplicação está definido em application.xml:
<application>
<display-name>anafee-server-ear</display-name>
<description>descrição de EAR</description>
<module>
<ejb>anafee-server-ejb-3_2.jar</ejb>
</module>
</application>
Meu EJB de sessão está declarado em ejb-jar.xml:
<session>
<description>teste</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>