cancel
Showing results for 
Search instead for 
Did you mean: 

com.sap.caf.rt.exception.CAFDeleteException - Found in CAF Service Browser

Former Member
0 Kudos

Hi all,

I have faced a new problem in CAF service browser. I have created a simple CAF entity service with local persistency. After build and deployment I have tried to test it through CAF service browser. Through CAF service browser I have entered few data and saved it in CAF local DB. Up to this step it is absolutely fine. Now I am trying to delete one row from CAF service browser. So I have selected the row and clocked on "Delete" button. Next I have pushed on "Save" button.Then I have got an exception and the row is not deleted from CAF DB. The exception is like

ERROR. The following exception occurred while processing your request: com.sap.caf.rt.exception.CAFDeleteException.: . My NWDS and WAS both are SP10. Could anybody give me any suggestion to solve the problem? The details of exception is like following

com.sap.caf.rt.exception.CAFDeleteException

at com.sap.emptest.besrv.customer.CustomerServiceBean.delete(CustomerServiceBean.java:277)

at com.sap.emptest.besrv.customer.CustomerServiceLocalLocalObjectImpl0_0.delete(CustomerServiceLocalLocalObjectImpl0_0.java:478)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)

at java.lang.reflect.Method.invoke(Method.java:391)

at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.deleteDataObject(ServiceWrapper.java:222)

at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.deleteDataObject(CAFServiceAccessBeanImpl.java:191)

at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl2_0.deleteDataObject(CAFServiceAccessLocalLocalObjectImpl2_0.java:475)

at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.deleteAspectRows(AspectServiceAccess.java:243)

at com.sap.caf.rt.ui.cool.generic.Aspect.deleteRows(Aspect.java:1391)

at com.sap.caf.rt.ui.cool.generic.Aspect.sendChanges(Aspect.java:1523)

at com.sap.caf.rt.ui.cool.generic.ServiceModule.sendChanges(ServiceModule.java:298)

at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.saveData(TableViewCC.java:379)

at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.saveData(InternalTableViewCC.java:208)

at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionSave(TableViewCV.java:394)

at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:371)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:752)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:705)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:154)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)

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(AccessController.java:215)

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

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

Caused by: com.sap.caf.rt.exception.DataAccessException

at com.sap.caf.rt.bol.da.jdo.JDODADataAccessService.remove(JDODADataAccessService.java:194)

at com.sap.emptest.besrv.customer.CustomerServiceBean.delete(CustomerServiceBean.java:271)

... 46 more

Caused by: java.lang.NullPointerException

at com.sap.caf.rt.internal.bol.da.BEReferencesRemover.initialize(BEReferencesRemover.java:115)

at com.sap.caf.rt.internal.bol.da.BEReferencesRemover.getMetaInfo(BEReferencesRemover.java:213)

at com.sap.caf.rt.internal.bol.da.BEReferencesRemover.removeReferences(BEReferencesRemover.java:242)

at com.sap.caf.rt.bol.da.jdo.JDODADataAccessService.remove(JDODADataAccessService.java:175)

... 47 more

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

After investigation I have noticed that the error is generated on all entities across the whole server when a new CAF core project is deployed and has, for some reson I cannot understand, the metadata corrupted.

By undeploying ALL custom Caf Core projects, restarting the server and re-deploying only those that do not have metadata corrupted, delete starts working again in SPS10. In some occasions I also had to wipe out DB contents related to my entotyes to get it work again.

Does anybody know how to figure out if a project has it's metadata corrupted? It seems this happens when I start doing changes to entity structures or deleting entities I no longer need.

Is there a way to check the XMI model in the metadata DC? Contents of these many files are cryptic. SAP has told me to send them over the metadata DC of my CAF project so they can check what went wrong... so there is a way to check that structure.

Any advice is really appreciated.

Former Member
0 Kudos

Is there a fix for SPS10? Where is it? I am facing this now and it is a big issue.

Former Member
0 Kudos

Is there a fix for SPS10? Where is it? I am facing this problem too.

ashutosh_rastogi
Active Contributor
0 Kudos

Hi chandan,

I have faced the similar problem with NWDS7.0.10. This is corrected by a patch of which i am not sure whats the number.

Instead i would suggest to use NWDS 7.0.09, as i have been using this version since long for CAF projects and have not faced any problem till date.

Hope this helps,

Ashutosh

Former Member
0 Kudos

I'm facing exactly the same problem have you found a solution ?

Sunitkroy
Participant
0 Kudos

Hi

There is issue deleting records from caf db in sp10. If you use sp7/8 this issue is not there but surprisingly in sp10 you cant perform delete operation. This is a well known fact.