Tag: lotus notes

Lotus Notes的完全访问管理模式

我正在为lotus notes代理编写一个远程java代理。 我需要访问一些对帐户有限制的注释。 我的客户建议使用“完全访问管理”模式来查看这些文档,因为不允许更改注释。 在搜索IBM的api文档后,我没有看到任何方法可以打开完全访问管理模式。 有谁知道如何连接到Lotus Notes服务器作为“完全访问管理”模式? 只是想澄清一下,我正在使用diiop来访问Lotus Notes服务器。 因此,我需要通过diiop函数调用激活完全访问模式。

我是否可以访问Lotus Notes嵌入式文件而无需实际提取它们?

我正在编写一种以编程方式访问Lotus Notes数据库的方法,以收集有关给定时间段内记录的嵌入附件的信息。 我的目标是查找给定时期内的记录,然后使用Apache-POI获取有关文档大小,字符数等的元数据。 POI部分工作正常,到目前为止,由于这个帮助,我已经能够访问Lotus Notes记录了: lotus notes用Java api按日期搜索 这个答案还告诉我如何下载/复制附件: 如何使用java从.nsf(lotus notes)文件中获取所有附件 从那里我可以使用我的POI代码完成我的工作,最后,只需删除复制的附件。 这种方法基本上有效,但我希望避免复制,保存,然后最后从数据库中删除这些附加文档的副本的开销。 我尝试将EmbeddedObject getSource()方法的结果作为输入传递给我的POI代码,并在POI代码中得到一个FileNotFoundException,期望String生成一个File。 有没有办法获得我可以传递给POI的文件参考,而无需复制和保存附件? 或者,我的意思是,它是否像获取Lotus Notes EmbeddedObject附件的文件(+路径)一样简单,我该怎么做? 我找到了答案并将其发布在下面。

将InputStream的内容写入RichTextItem并附加到Java中的Notes文档

我能够将文件附加到我作为InputStream接收的多米诺骨牌文档的RichTextItem 。 以下是代码段: attachDocument(InputStream is){ ….. File attFile = saveInputStr(is); Document attdoc = testdb.createDocument(); attDoc.replaceItemValue(“Form”, “formAttachment”); RichTextItem rti = (RichTextItem) attDoc.getFirstItem(“attachment”); rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT, “”, attFile .getPath(), attFile .getName()); ….. } 这很好用。 但是如果我不想将文件写入磁盘怎么办,就像我将它保存到File即上面代码片段中的attFile 。 有没有办法将InputStream的内容写入文件(可能正在使用一些注释文档)并将其附加到保存到磁盘。

通过JDBC瘦驱动程序(Domino Java)连接Oracle 11g时出现问题

我无法使用以下代码远程连接Oracle 11数据库。 但是,如果我尝试连接安装在我的计算机上的Oracle 9数据库,相同的代码工作正常。 缺什么 ? (我没有收到任何错误,Lotus Notes挂起) import lotus.domino.*; import java.sql.*; import oracle.jdbc.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { Session session = getSession(); AgentContext agentContext = session.getAgentContext(); Database db = agentContext.getCurrentDatabase(); //Calling connection method Connection conn= getOracleConnection(db); if(conn!=null){ System.out.println(“Connected..”); } else { System.out.println(“There is a problem in connecting […]

XPI的POI – 在富文本字段中将Word文档另存为附件

我正在使用OpenNTF POI 4 XPages插件。 这非常适合生成Word文档。 现在,在生成Word文档之后,我想创建一个新的响应文档,并将word文档作为附件存储在此响应文档的富文本字段中。 这是我的代码(在POI 4 XPages小部件的poi postGenerationProcess属性中): var doc:NotesDocument = currentDocument.getDocument(); var rdoc:NotesDocument = database.createDocument(); rdoc.appendItemValue(“Form”, “frmRespTempl”); rdoc.appendItemValue(“Subject”, “Embedded Word Document”); var rtitem:NotesRichTextItem = rdoc.createRichTextItem(“Body”); rtitem.embedObject(xwpfdocument); rdoc.makeResponse(doc); rdoc.save(); 不幸的是,这给了我错误: com.ibm.jscript.InterpretException: Script interpreter error, line=13, col=8: [TypeError] Method NotesRichTextItem.embedObject(org.apache.poi.xwpf.usermodel.XWPFDocument) not found, or illegal parameters 我有什么技巧可以达到这个目的吗? 实施Knut Hermann下面提出的建议,我得到: POI 4 XPages – >错误 错误:Documentgeneration […]

Lotus’Notes.jar的javadoc在哪里?

我需要使用Lotus Notes / Domino作为Java应用程序的数据源。 IBM的文档说Notes.jar包含我需要的所有内容,但是javadocs在哪里?

当前运行的类或JAR文件的位置

我有一个Lotus Notes数据库,它正在与远程Web服务进行一些交互。 我编写了一个自定义Java类来执行交互。 可以根据用户的设置从三个位置之一执行类方法: 在通过Lotus Notes Java代理调用的Java脚本库中 在位于用户的“jvm / lib / ext”目录中的JAR文件中 在位于用户“jvm / lib”目录中的自定义目录中的JAR文件中(例如,“jvm / lib / custom_dir”)。 Lotus Notes JVM通过使用“JavaUserClassesExt”本地notes.ini变量来了解自定义目录。 在我的课程中,我希望能够返回当前类正在执行的位置。 因此,如果它从选项2或选项3执行,则返回JAR文件路径。 如果它从选项1执行,则返回我可以处理的其他内容。 我尝试了以下内容。 getProtectionDomain()方法 getClass().getProtectionDomain().getCodeSource().getLocation() 结果如下: java.security.AccessControlException: Access denied (java.lang.RuntimePermission getProtectionDomain) 没有选项可以更改运行此任何客户端的任何安全设置。 Class.getResource方法 String myName = “/” + getClass().getName().replace(‘.’, ‘/’) + “.class”; URL myResourceURL = getClass().getResource(myName); 结果: myResourceURL始终为null。 ClassLoader.getResource方法 String myName2 = […]

使用Java API从Lotus Notes NSF文件中提取电子邮件消息

我想使用Java API(Notes.jar),我正在运行安装了Lotus Notes 8.5的Windows机器。 我对Lotus Notes一无所知,我只需要做一个简单的任务:从NSF文件中提取电子邮件。 我希望能够遍历所有电子邮件消息,获取元数据(From,To,Cc等)或原始MIME(如果可用)。 我已经搜索了很多,但我没有找到任何直接的东西,而不需要一些重要的Lotus Notes领域专业知识。 一些示例代码让我开始将非常感谢。 谢谢! 更新:我发现了一个在Python中执行此操作的开源项目: http://code.google.com/p/nlconverter/ 但是,仍然在寻找一种在Java中执行此操作的方法。

在数据库中转换嵌入的图片

我有一个’小’的问题。 在数据库文档中包含richtextfield。 richtextfield包含某个联系人的个人资料图片。 问题是这个内容没有保存为mime,因此我无法计算图像的url。 我正在使用pojo从人员配置文件中检索数据,并在我的xpage控件中使用它来显示其内容。 我需要构建一个转换代理,它接受richtextitem的内容并将其转换为mime,以便能够计算类似于url的内容 http://sofzh.miximages.com/java/tln(Create mime entity); MIMEEntity mEntity = doc.createMIMEEntity(PictureTest); MIMEHeader cdheader = mEntity.createHeader(Content-Disposition); System.out.println(Set header withfilename picture.gif”); cdheader.setHeaderVal(“attachment;filename=picture.gif”); System.out.println(“Setcontent type header”); MIMEHeader cidheader = mEntity.createHeader(“Content-ID”); cidheader.setHeaderVal(“picture.gif”); System.out.println(“Set content from stream”); mEntity.setContentFromBytes(nStream, “application/gif”, mEntity.ENC_IDENTITY_BINARY); System.out.println(“Save document..”); doc.save(); //s.setConvertMime(true); System.out.println(“Done”); // Clean up if we are done.. //doc.removeItem(fieldName);

Lotus Notes Java应用程序找不到notes.ini

所描述的系统都是带有Lotus Notes 8.5的Windows XP。 我有一个Java应用程序(下面的示例代码),它使用notes.jar与Lotus Notes交互。 该应用程序在c:\Program Files\Lotus\Notes的Lotus安装目录中具有notes.ini并且用户ID文件位于c:\Program Files\Lotus\Notes\Data 。 用户必须输入密码才能登录Lotus。 此系统将HKLM\Software\Lotus\Notes\MultiUser设置为0 (单用户系统)。 在这台机器上,下面的代码在四个println上显示了良好的值。 在问题系统上,此应用程序打印四个标题但空白四个值(用户名,密钥文件名,邮件文件和邮件服务器都是空白)。 此问题系统在D:\Data\johnsmith\NotesData有notes.ini和用户ID文件。 Lotus安装在C:\Program Files\Lotus\Notes 。 此问题系统还将HKLM\Software\Lotus\Notes\MultiUser设置为1 (暗示它是多用户而不是单个用户)。 最后,在Lotus的文件 – >安全 – >用户安全对话框下,选中“使用您的操作系统登录登录到Notes”框(因此用户不输入密码登录Lotus)。 因此,似乎在问题系统中,找不到notes.ini文件(因为notes.ini是应该从中读取四个输出值的位置)。 我查看了Notes.jar API并且看不到任何指定notes.ini位置的方法。 notes.ini所在的目录是在Windows PATH ,但这没有帮助。 任何帮助,将不胜感激。 import java.io.*; import lotus.domino.*; public static void main(String[] args) throws IOException { try { NotesThread.sinitThread(); Session session = NotesFactory.createSession(); System.out.println(“Common user name: […]