我有一个有视图的xpage(订单日期订单)。
我有一个xpage,用户选择客户在xpage的一个部分订购产品。他们订购产品的另一部分xpage。只要他们添加第一个产品,就会保存客户信息(数据来源:表格" fOrderForm" / document1在xpage上)。订购的每个产品都存储为单独的Notes文档(fOrderLineItem / docLineItem),订单ID在组合的xpage上的数据网格上查找。
在视图xpage上,当我点击其中一个订单时,即使ID在URL中,系统也会给我一个无效的通用ID错误。我是否必须在after / before页面加载事件中手动加载document1数据源上的每个字段,并设置数据网格使用的范围变量?如果我删除与Notes表单关联的xpage,它会正确打开但不会起作用。
错误日志:
com.ibm.xsp.FacesExceptionEx: Could not open the document
com.ibm.xsp.model.domino.DominoDocumentData.doOpenDocument(DominoDocumentData.java:509)
com.ibm.xsp.model.AbstractDocumentDataSource.openDocument(AbstractDocumentDataSource.java:148)
com.ibm.xsp.model.AbstractDocumentDataSource.load(AbstractDocumentDataSource.java:100)
com.ibm.xsp.model.AbstractDataSource.getDataContainer(AbstractDataSource.java:474)
com.ibm.xsp.model.domino.DominoDocumentData.getDataObject(DominoDocumentData.java:145)
com.ibm.xsp.model.AbstractDataSource.pushData(AbstractDataSource.java:576)
com.ibm.xsp.util.DataPublisher.publishControlData(DataPublisher.java:181)
com.ibm.xsp.component.UIViewRootEx.publishControlData(UIViewRootEx.java:1288)
com.ibm.xsp.component.UIViewRootEx.initBeforeContents(UIViewRootEx.java:1615)
com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(AbstractCompiledPage.java:333)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(AbstractCompiledPage.java:256)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(AbstractCompiledPage.java:167)
com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:521)
com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:567)
com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:142)
com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:251)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
NotesException: Invalid universal id
lotus.domino.local.Database.NgetDocumentByUNID(Native Method)
lotus.domino.local.Database.getDocumentByUNID(Unknown Source)
com.ibm.xsp.model.domino.DominoUtils.getDocumentById(DominoUtils.java:456)
com.ibm.xsp.model.domino.DominoUtils.getDocumentById(DominoUtils.java:477)
com.ibm.xsp.model.domino.DominoDocumentData.doOpenDocument(DominoDocumentData.java:489)
com.ibm.xsp.model.AbstractDocumentDataSource.openDocument(AbstractDocumentDataSource.java:148)
com.ibm.xsp.model.AbstractDocumentDataSource.load(AbstractDocumentDataSource.java:100)
com.ibm.xsp.model.AbstractDataSource.getDataContainer(AbstractDataSource.java:474)
com.ibm.xsp.model.domino.DominoDocumentData.getDataObject(DominoDocumentData.java:145)
com.ibm.xsp.model.AbstractDataSource.pushData(AbstractDataSource.java:576)
com.ibm.xsp.util.DataPublisher.publishControlData(DataPublisher.java:181)
com.ibm.xsp.component.UIViewRootEx.publishControlData(UIViewRootEx.java:1288)
com.ibm.xsp.component.UIViewRootEx.initBeforeContents(UIViewRootEx.java:1615)
com.ibm.xsp.page.compiled.AbstractCompiledPage.initComponent(AbstractCompiledPage.java:333)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createTree(AbstractCompiledPage.java:256)
com.ibm.xsp.page.compiled.AbstractCompiledPage.createViewRoot(AbstractCompiledPage.java:167)
com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:521)
com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:567)
com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:142)
com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90)
com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:251)
com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:350)
com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:306)
com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
答案 0 :(得分:0)
我怀疑这是一个序列问题。内存中的新文档仅获取临时UNID。保存后,将创建基于第一次保存时间的UNID。 在您第一次保存文档之前,您似乎捕获了UNID以将其置于某处。 您需要更改事件序列以在存储它的任何位置更新UNID。