来自XSPDocument的getDocument()随机为null

时间:2013-03-11 14:24:06

标签: xpages xpages-ssjs

在我开发的生产应用程序中,有时会出现错误,说.getDocument()为null。如果发生这种情况,我在我的代码中添加了检查错误的检查。奇怪的是XSPDocument接缝没问题。

其他任何想法如何调试原因?

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

修改

应用程序的下半部分是一个简单的数据库,创建一个新的状态 通过按钮将状态更改为正在进行。在文本,日期和数字字段中添加信息,没有Richtext,没有附件。

用户可以切换到另一个xpage,发送此文档是电子邮件中的pdf附件。

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

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

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

来自xsp文档的

.getDocument为null,xspdocument.getNoteID返回一个ID 我可以在xsp文件上做replaceitemvalue。 它永远不会出现在我所见过的新文件上

感觉就像大卫的评论一样,后端文档被删除/回收

3 个答案:

答案 0 :(得分:0)

很难在不了解其他所有内容的情况下给出一个提示,但我记得也见过这个。只是一些想法: 如果发生这种情况,XSPDocument.getNoteID()是否指向有效的Document? 是否可能指向与您预期不同的文档? 是否会出现某种动态的数据源变化? 也许某种超时,以便服务器突然忘记你是谁(在极少数情况下这发生在我身上)? 洛萨/ edcom

答案 1 :(得分:0)

我们最近经历了相同的getDocument()问题。最后我们找到了一个根本原因:通过iFrame同时加载了两个不同的XPage。其中一个XPage随机产生运行时错误,占25%。单个会话环境中JSF模型中的一种冲突。

解决方案:viewState =“nostate”

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

答案 2 :(得分:0)

获得更多细节会很有帮助。我假设文档先前已保存过,而且不是新注释?

你不是想把实际的文档对象放在一个范围变量中吗?这将是糟糕的,因为这将是非常有毒的。如果不知道更多,我会认为情况可能如此。后端文档已被垃圾收集。