on 12-08-2005 9:50 AM
Hello Group,
Im using CMP two Beans with a 1-n Relationship (Type Collection). When I assign the childs to the parent during the creation I get an Exception.
(Applikation is WebDynpro - BeanModel)
When I try to add a new Collection like this:
PackingListHeaderEJBLocal plh = home.create();
...
java.util.Vector items = new java.util.Vector();
// (ArrayList here is the same..)
Iterator it = plis.iterator();
//Input from JavaBean
while (it.hasNext()) {
PackingListItemBean item = (PackingListItemBean)
it.next();
PackingListItemEJBLocal pli = itemHome.create();
pli.setContractPosition(item.getContractPosition());
...
items.add(item);
}
plh.setPackingListItems( items );
.. I get an com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method at.vai.edilog.persistence.PackingListHeaderEJBLocalLocalObjectImpl10.setPackingListItems(java.util.Collection).
(Details see below)
when I try to get the Collection from the parent first and then just add the childs like
Iterator it = plis.iterator();
//Input from JavaBean
Collection items = plh.getPackingListItems();
while (it.hasNext()) {
PackingListItemBean item = (PackingListItemBean)
it.next();
PackingListItemEJBLocal pli = itemHome.create();
pli.setContractPosition(item.getContractPosition());
...
items.add(item);
}
I get Exception:
com.sap.engine.services.ejb.exceptions.BaseIllegalStateException: The collection is obtained by another transaction.
Any ideas? I dont really get it...
Thanks you VERY much!!
Simon
The Exceptions in Detail:
<b>Base Exception</b>
com.sap.engine.services.ejb.exceptions.BaseEJBException: Exception in method at.vai.edilog.persistence.PackingListHeaderEJBLocalLocalObjectImpl10.setPackingListItems(java.util.Collection).
at at.vai.edilog.persistence.PackingListHeaderEJBLocalLocalObjectImpl10.setPackingListItems(PackingListHeaderEJBLocalLocalObjectImpl10.java:6764)
at at.vai.edilog.bean.PackingListHeaderBean.execute(PackingListHeaderBean.java:156)
at at.vai.edilog.webdynpro.createcomp.CreateComponent.executePackingListBeanmodel(CreateComponent.java:264)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateComponent.executePackingListBeanmodel(InternalCreateComponent.java:377)
at at.vai.edilog.webdynpro.createcomp.CreateStep_3.onActionExecuteTest(CreateStep_3.java:206)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateStep_3.wdInvokeEventHandler(InternalCreateStep_3.java:305)
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.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
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:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
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:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Caused by: com.sap.engine.services.ejb.exceptions.BaseIllegalArgumentException: Incorrect argument type at.vai.edilog.bean.PackingListItemBean for this collection.
at com.sap.engine.services.ejb.entity.pm.multiple.BasicCollection.verify(BasicCollection.java:88)
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.innerAddAll(ReferenceCollection.java:312)
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.outerAddAll(ReferenceCollection.java:140)
at at.vai.edilog.persistence.PackingListHeaderEJBBean10PM.setPackingListItems(PackingListHeaderEJBBean10PM.java:437)
at at.vai.edilog.persistence.PackingListHeaderEJBLocalLocalObjectImpl10.setPackingListItems(PackingListHeaderEJBLocalLocalObjectImpl10.java:6745)
... 31 more
Caused by: java.lang.ClassCastException
at com.sap.engine.services.ejb.entity.pm.multiple.BasicCollection.verify(BasicCollection.java:86)
... 35 more
com.sap.engine.services.ejb.exceptions.BaseIllegalArgumentException: Incorrect argument type at.vai.edilog.bean.PackingListItemBean for this collection.
at com.sap.engine.services.ejb.entity.pm.multiple.BasicCollection.verify(BasicCollection.java:88)
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.innerAddAll(ReferenceCollection.java:312)
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.outerAddAll(ReferenceCollection.java:140)
at at.vai.edilog.persistence.PackingListHeaderEJBBean10PM.setPackingListItems(PackingListHeaderEJBBean10PM.java:437)
at at.vai.edilog.persistence.PackingListHeaderEJBLocalLocalObjectImpl10.setPackingListItems(PackingListHeaderEJBLocalLocalObjectImpl10.java:6745)
at at.vai.edilog.bean.PackingListHeaderBean.execute(PackingListHeaderBean.java:156)
at at.vai.edilog.webdynpro.createcomp.CreateComponent.executePackingListBeanmodel(CreateComponent.java:264)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateComponent.executePackingListBeanmodel(InternalCreateComponent.java:377)
at at.vai.edilog.webdynpro.createcomp.CreateStep_3.onActionExecuteTest(CreateStep_3.java:206)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateStep_3.wdInvokeEventHandler(InternalCreateStep_3.java:305)
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.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
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:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
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:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Caused by: java.lang.ClassCastException
at com.sap.engine.services.ejb.entity.pm.multiple.BasicCollection.verify(BasicCollection.java:86)
... 35 more
===========================================================
===========================================================
<b>Transaction Exception</b>
com.sap.engine.services.ejb.exceptions.BaseIllegalStateException: The collection is obtained by another transaction.
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.checkLocker(ReferenceCollection.java:351)
at com.sap.engine.services.ejb.entity.pm.multiple.ReferenceCollection.add(ReferenceCollection.java:547)
at at.vai.edilog.bean.PackingListHeaderBean.execute(PackingListHeaderBean.java:155)
at at.vai.edilog.webdynpro.createcomp.CreateComponent.executePackingListBeanmodel(CreateComponent.java:264)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateComponent.executePackingListBeanmodel(InternalCreateComponent.java:377)
at at.vai.edilog.webdynpro.createcomp.CreateStep_3.onActionExecuteTest(CreateStep_3.java:206)
at at.vai.edilog.webdynpro.createcomp.wdp.InternalCreateStep_3.wdInvokeEventHandler(InternalCreateStep_3.java:305)
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.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:649)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
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:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
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:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Hi,
replace items.add(item) with items.add(pli)
regards
Jan Hempel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
10 | |
10 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.