cancel
Showing results for 
Search instead for 
Did you mean: 

NameNotFoundException: Object not found in lookup

Former Member
0 Kudos

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>

<provider-name>sap.com</provider-name>

<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

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi, Experts,

I have same exceiption as this one, my error message as:

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

I register in Object: "Route" using JNDI in my RMI over IIOP server. However in my SAP Web Dynpro application, the javaBean model cannot talk with external RMI over IIOP server. my source code as:

Context ctx = new InitialContext();

Object obj = ctx.lookup("Route");

route = (Route)PortableRemoteObject.narrow(obj, Route.class);

How to make SAP J2EE server talk with external Cobra Server?

former_member182372
Active Contributor
0 Kudos

Hi Gunter,

Try "localejbs/sap.com/anafee-server-ear/CaTreeServerIFBean" as JNDI name.

Best regards, Maksim Rashchynski.

Vlado
Advisor
Advisor
0 Kudos

There is no local interface defined according to the ejb-jar.xml above, hence "localejbs/" context is not relevant in this case.

Vlado
Advisor
Advisor
0 Kudos

Hi Matthias,

Where are you doing the lookup from? Are you sure that the application has been deployed and started successfully?

Hint: You can use the LSN telnet command from the NAMING group or the JNDI registry browser in the Visual Admin to check the JNDI contents of your server.

HTH!

-Vladimir

Former Member
0 Kudos

Hi Vladimir, many thanks.

My server app is deployed and started successfully, I checked this with

the Visual Administrator tool.

My client application runs on a different maschine, but the remote connect

to the server was successfully.

Regards,

Matthias

Vlado
Advisor
Advisor
0 Kudos

OK, but have you tried to locate your EJB in the JNDI registry?

Best regards,

Vladimir