cancel
Showing results for 
Search instead for 
Did you mean: 

BASEEJBException while executing EJB business method from Webdynpro DC

Former Member
0 Kudos

Hi Everybody

I have created a EJB project which I am trying to acess the in a WD DC project.

All the Publicparts are exposed.

The following code is used to after refering [Accessing EJB application using JNDI|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/0736159e-0301-0010-9ea4-c63d83d0797b]

javax.naming.Context ctx = new javax.naming.InitialContext();                 
homeEjb =(EJBLocalHome) ctx.lookup("localejbs/bp.com/some_ear/OPERATIONS_EJBBean");
localEJBBean =(OPERATIONS_EJBLocal) homeEjb.create();
localEJBBean.blockRequest() // Executing Business method gives BASEEJBException

The Sharing references is also added for the ear in the Webdynpro DC project.

But on executing the business method of the bean blockRequest(), I get the following exception :

com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method blockRequest.

StackTrace: com.bp.action.OPERATIONS_EJBLocalLocalObjectImpl0_0.blockRequest(OPERATIONS_EJBLocalLocalObjectImpl0_0.java:191)com.bp.pscm.products._Block_Comp1.blockMat(Block_Comp1.java:802)com.bp.pscm.products.wdp.Block_Comp1.blockMat(Block_Comp1.java:258)com.bp.pscm.products.MaterialGlobal_LDS_Block_View1.onActionContinue(Block_View1.java:164)com.bp.pscm.products.wdp.Block_View1.wdInvokeEventHandler(Block_View1.java:233)com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)javax.servlet.http.HttpServlet.service(HttpServlet.java:760)javax.servlet.http.HttpServlet.service(HttpServlet.java:853)com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)java.security.AccessController.doPrivileged(Native Method)com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Could please help me in pointing out what am i doing incorrectly?

Also the please share all possible reasons which could lead to BASEEJBException?

Regards

Navneet

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Navneet,

homeEjb =( EJBLocalHome ) ctx.lookup("localejbs/bp.com/some_ear/OPERATIONS_EJBBean");

The type casting for the HOME Object should be done properly. You should use the Bean's Home or LocalHome Interface for this.

homeEjb =(OPERATIONS_EJBLocalHome) ctx.lookup("localejbs/bp.com/some_ear/OPERATIONS_EJBBean");

Regards,

Alka.

Edited by: Alka Panday on Nov 7, 2008 11:28 AM

Former Member
0 Kudos

Hi Alka

Thank you for the reply.

I have done the casting of the object correctly to OPERATIONS_EJBLocalHome.

i made typo error earlier.

Any other pointers?

Edited by: Navneet Giria on Nov 10, 2008 4:11 PM