on 11-21-2006 3:15 PM
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
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Gunter,
Try "localejbs/sap.com/anafee-server-ear/CaTreeServerIFBean" as JNDI name.
Best regards, Maksim Rashchynski.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.