Skip to Content
0
Former Member
Nov 21, 2006 at 03:15 PM

NameNotFoundException: Object not found in lookup

827 Views

Hi all!

I have a problem with my Netweaver SP18 WebAS EJB application. The JNDI lookup fails with the following runtime error:

com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of CaTreeServerIFBean.

at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)

at com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)

at com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

-


predecessor system -


com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of CaTreeServerIFBean.

at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)

at com.sap.engine.services.jndi.implserver.ServerContextRedirectableImpl.lookup(ServerContextRedirectableImpl.java:80)

at com.sap.engine.services.jndi.implserver.ServerContextImplp4_Skel.dispatch(ServerContextImplp4_Skel.java:555)

at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)

at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)

at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)

at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

-


I use the following code to lookup the EJB:

Object homeTreeObj = ctx.lookup("sap.com/anafee-server-ear/CaTreeServerIFBean");

I think the JNDI name should be right, because it's a composite name

of "provider-name/application-name/EJB-name".

My provider-name is defined in the application-j2ee-engine.xml:

<application-j2ee-engine>

sap.com

<fail-over-enable mode="disable" />

</application-j2ee-engine>

My application-name is defined in the application.xml:

<application>

<display-name>anafee-server-ear</display-name>

<description>EAR description</description>

<module>

<ejb>anafee-server-ejb-3_2.jar</ejb>

</module>

</application>

My Session EJB is declared in the ejb-jar.xml:

<session>

<description>test</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>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.catenic.anafee.server.manager.reader.CaFastReaderManagerHome</home>

<remote>com.catenic.anafee.server.manager.reader.CaFastReaderManager</remote>

<ejb-link>CaFastReaderManagerBean</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>ejb/CaTreeManager</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type> <home>com.catenic.anafee.server.manager.tree.CaTreeManagerHome</home>

<remote>com.catenic.anafee.server.manager.tree.CaTreeManager</remote>

<ejb-link>CaTreeManagerBean</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>ejb/CaTNBasicManager</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.catenic.anafee.server.manager.tree.CaTNManagerHome</home> <remote>com.catenic.anafee.server.manager.tree.CaTNBasicManager</remote>

<ejb-link>CaTNBasicManagerBean</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>ejb/CaTreeRole2IFMappingService</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.catenic.anafee.server.manager.rolemapping.tree.CaTreeRole2IFMappingServiceHome</home>

<remote>com.catenic.anafee.server.manager.rolemapping.tree.CaTreeRole2IFMappingService</remote>

<ejb-link>CaTreeRole2IFMappingServiceBean</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>ejb/CaRoleInfoManager</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.catenic.anafee.server.metadata.CaRoleInfoManagerHome</home>

<remote>com.catenic.anafee.server.metadata.CaRoleInfoManager</remote>

<ejb-link>CaRoleInfoManagerBean</ejb-link>

</ejb-ref>

<ejb-ref>

<ejb-ref-name>ejb/CaNestedTreeManager</ejb-ref-name>

<ejb-ref-type>Session</ejb-ref-type>

<home>com.catenic.anafee.server.manager.tree.CaNestedTreeManagerHome</home>

<remote>com.catenic.anafee.server.manager.tree.CaNestedTreeManager</remote>

<ejb-link>CaNestedTreeManagerBean</ejb-link>

</ejb-ref>

</session>

-


Do you have any idea why the lookup fails? (I don't have any special JNDI mappings

defined in the ejb-j2ee-engine.xml, if this could matter.)

Regards,

Matthias