2013-03-11 39 views
2

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

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

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

编辑

应用程序的下部是一个简单的数据库,创建获得新地位的变化 状态正在进行通按钮的分配。在文本,日期和编号字段中添加信息,没有Richtext,没有附件。

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

用户可以将文档保存为

当他们这样做的点击一个确认按钮草案,此按钮将状态设置为批准。保存文档并将其作为pdf发送到电子邮件地址

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

.getDocument from xsp document is null xspdocument.getNoteID返回一个ID 我可以在xsp文档上做replaceitemvalue。 它永远不会发生在现存唯一我所看到的

感觉就像从大卫的后端文档被删除注释/回收

+0

也许你的xspdoc是一个视图类别?也许读者的领域? – 2013-03-11 14:41:04

+0

应用程序中没有阅读器字段,文档打开并且用户使用该文档。但有时当保存或执行一些任务时会发生这种情况 – 2013-03-11 16:46:32

回答

0

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

解决方案:VIEWSTATE =“nostate”

不知道这是否有助于你的情况,但该选项解决了很多在我们的应用程序的问题。它是在8.5.3中引入的。它对于所谓的XAgents应该特别有用。

+0

我认为在普通的XPage中,这可能会导致问题没有保存任何状态。 – 2013-03-14 08:14:00

0

很难给出一个提示,而不知道更多有关的一切新的文件,但我请记住看过这个。只是一些想法: XSPDocument.getNoteID()是否指向有效的文档,如果发生这种情况? 它是否可能指向与您预期不同的文档? 数据源可能会发生某种动态变化吗? 也许某种超时,让服务器突然忘了你是谁(在极少数情况下会发生在我身上)? Lothar/edcom

+0

我会检查一下,谢谢你的提示。 – 2013-03-12 10:52:57

0

这将有助于了解更多的细节。我认为该文件先前已保存过,并不是新的记录?

你不是想把实际的文档对象放在scoped变量中吗?那会很糟糕,因为那样会很有毒。不知道更多,我会认为这可能是这样的。后端文件已被垃圾收集。

+0

我会很高兴地添加更多信息,但问题是要添加的内容。 ;-) – 2013-03-14 07:52:27

+0

我已经添加了一些关于应用程序的更多信息。 – 2013-03-14 08:01:19