Xpages XSPDocument中的getDocument()随机为null

Xpages XSPDocument中的getDocument()随机为null,xpages,xpages-ssjs,Xpages,Xpages Ssjs,在我开发的生产应用程序中,有时会出现一个错误,即.getDocument()为null。我在代码中添加了一些检查,如果发生这种情况,就会捕获错误。奇怪的是XSPDocument的接缝看起来还可以 还有什么其他的方法可以解决这个问题吗 ======================================================== 编辑 应用程序的下半部分是一个简单的数据库,创建一个它获得新状态的赋值 通过按钮将状态更改为“正在进行”。在文本、日期和数字字段中添加信息,无Richt

在我开发的生产应用程序中,有时会出现一个错误,即.getDocument()为null。我在代码中添加了一些检查,如果发生这种情况,就会捕获错误。奇怪的是XSPDocument的接缝看起来还可以

还有什么其他的方法可以解决这个问题吗

========================================================

编辑 应用程序的下半部分是一个简单的数据库,创建一个它获得新状态的赋值 通过按钮将状态更改为“正在进行”。在文本、日期和数字字段中添加信息,无Richtext,无附件

用户可以切换到另一个xpage以发送电子邮件中的pdf附件

用户可以将文档另存为草稿

完成后,单击“批准”按钮,此按钮将状态设置为“批准”。保存文档并将其作为pdf发送到电子邮件地址

问题出现在“保存”按钮和“批准”按钮上

xsp文档中的.getDocument为null。xspdocument.getNoteID返回一个ID 我可以在xsp文档上执行replaceitemvalue。 它不会发生在新文档上,只存在我所看到的内容


感觉像是David的评论,后端文档被丢弃/回收了

很难在不了解更多其他信息的情况下给出提示,但我记得我也看到过这一点。只是一些想法: 如果发生这种情况,XSPDocument.getNoteID()是否指向有效文档? 它是否指向与您预期不同的文档? 数据源是否会发生某种动态变化? 可能是某种超时,以至于服务器突然忘记了你是谁(在极少数情况下,这种情况发生在我身上)?
Lothar/edcom

我们最近遇到了相同的getDocument()问题。最后我们找到了一个根本原因:通过iframe同时加载了两个不同的xpage。其中一个XPages在25%的情况下随机产生运行时错误。JSF模型中单个会话上下文中的一种冲突

解决方案:viewState=“nostate”


不确定它对您的情况是否有帮助,但此选项解决了我们应用程序中的许多问题。它是在8.5.3中引入的。对于所谓的XAgents,它应该特别有用。

了解更多细节会有所帮助。我假设该文档以前已保存,并且不是新注释


您没有试图将实际的文档对象放入范围变量中,是吗?那会很糟糕,因为那会很毒。如果不知道更多,我会认为情况可能是这样。后端文档已被垃圾收集。

您的xspdoc可能是视图类别?可能是读卡器字段?应用程序中没有读卡器字段,文档打开,用户使用文档。但有时在保存或执行某些任务时,我会很高兴地添加更多信息,但问题是要添加什么。;-)我认为在一个普通的XPage中,这可能会导致无法保存任何状态的问题。