场景:
- 在浏览器中打开包含富文本字段的文档
- 点击“插入图片”
- 选择图像并添加
- 保存文档
最好的情况是,图像存储在文档中。但重新打开文档时就看不到了。最坏的情况是,我们收到大量消息,摘录如下:
2015-06-11T10:55:51 [SEVERE]: org.openntf.domino.impl.Document.closeMIMEEntities - closeMIMEEntities returned false for item Body on doc 12562 in db CN=titan/O=SEFIP!!aalto803.nsf
java.lang.Throwable
at org.openntf.domino.impl.Document.closeMIMEEntities(Document.java:632)
at com.ibm.xsp.model.domino.wrapped.DominoRichTextItem.closeMIMEEntities(DominoRichTextItem.java:2722)
at com.ibm.xsp.model.domino.wrapped.DominoRichTextItem.updateRichTextItem(DominoRichTextItem.java:1565)
at com.ibm.xsp.model.domino.wrapped.DominoDocument.applyChangesToDoc(DominoDocument.java:1812)
at com.ibm.xsp.model.domino.wrapped.DominoDocument.applyChanges(DominoDocument.java:1764)
at com.ibm.xsp.model.domino.wrapped.DominoDocument._getDocument(DominoDocument.java:649)
at com.ibm.xsp.model.domino.wrapped.DominoDocument.getDocument(DominoDocument.java:643)
at com.sefip.FieldData.evaluate(FieldData.java:334)
at com.sefip.FieldData.computeHide(FieldData.java:105)
at com.sefip.FormData.refresh(FormData.java:122)
at sun.reflect.GeneratedMethodAccessor1863.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
...
com.sefip 代码是我的。我需要一个更新的文档,以便进行一些 session.evaluate 调用,所以我有这个:
Document doc = (Document)xspDoc.getDocument(true);
错误?在 API 中?
更多信息:
这是当我更新文档并添加一些富文本内容(在本例中使用图像)时发生的情况:
2015-06-12T17:30:20 [WARNING]: lotus.domino.local.NotesBase.CheckObject - null
NotesException: Object has been removed or recycled
at lotus.domino.local.NotesBase.CheckObject(Unknown Source)
at lotus.domino.local.MIMEEntity.getNthHeader(Unknown Source)
at org.openntf.domino.impl.MIMEEntity.getNthHeader(MIMEEntity.java:534)
at org.openntf.domino.impl.MIMEEntity.getNthHeader(MIMEEntity.java:1)
at com.ibm.xsp.model.domino.wrapped.DominoRichTextItem.getMimePartByDisposition(DominoRichTextItem.java:2535)
最佳答案
在操作 MIME 项时,核心 Domino 代码中存在一些问题。如果您查看帮助文档“在 Java 类中使用 MIME 实体”,它谈到在访问 MIME 项之前调用 Session.setConvertMIME(false)
,然后 Session.setConvertMIME(true)
在代码末尾。
好消息是我们可以为您做这一切。如果您使用 org.openntf.domino.xsp=marcel(如 Marcel Marceau!),它将自动设置和取消设置用于转换 MIME 的选项。
如果您已经设置了其他开关,它们可以用逗号分隔,例如org.openntf.domino.xsp=godmode,marcel,khan
。
这个关于 Slideshare 的演示介绍了所有开关和代码结构摘要 http://www.slideshare.net/paulswithers1/openntf-domino-api
关于java - XPage:使用 OpenNTF API 时出现 ODA-SEVERE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30776369/