1

我目前遵循的方法如下。

  • 我正在从 Webservicebase 类获取会话。
  • 我正在从 session.openmaildatabase 访问数据库。
  • 我正在从 database.createDocument 方法创建一个文档。
  • 我正在设置文档的所有属性。我通过在 lotus notes 中创建定期会议来获得这些属性。
  • 即使这样做了,我也没有将会议保存为定期会议。

任何人都可以请帮助如何做到这一点。任何对相关材料的引用也会有所帮助。谢谢大家。

4

3 回答 3

3

这是当前 Lotus Notes C&S模式的链接。这是所有更新都有并将继续发布的地方。

根据您使用的 Notes 版本,您可能能够使用 C&S API。IBM 在 Notes 9.0 中公开了 C&S API。API 是一个框架和一组方法,用于公开 Domino 日历和调度功能,而无需了解所有模式细节。

API 提供了使用 iCalendar 在邮件文件中创建、读取、更新和删除日历数据的能力。它们还允许对日历条目和通知进行显式操作(接受、拒绝、取消等)。

还有一个发布到 OpenNTF 的 REST 服务 API,它利用了这些新的 API。您可以在此处获得更多详细信息。

如果您在 9.0 之前的版本上构建,您将不得不完全依赖已发布的模式并自己制作所有文档。

于 2014-02-12T06:14:41.007 回答
2

正如 Richard 和 Bruce 所说,Notes 日历模式是有据可查的。如果您使用的是 N/D 8.5.3 或更早版本,则在创建日历条目时必须了解架构。但是,如果您使用的是 N/D 9.0 或更高版本,您可能会发现使用 Java NotesCalendar、NotesCalendarEntry 和 NotesCalendarNotice 接口更容易。这些新的 API 需要对 iCalendar 有所了解,但使用 iCalendar 通常比完全了解 Notes 日历模式的细节要容易。

例如,考虑这个重复事件的 iCalendar 表示:

BEGIN:VCALENDAR
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0//EN_API_S
BEGIN:VEVENT
DTSTART:20140319T180000Z
DTEND:20140319T200000Z
TRANSP:OPAQUE
RRULE:FREQ=WEEKLY;COUNT=15;BYDAY=WE
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Track workout
LOCATION:High school track
END:VEVENT
END:VCALENDAR

此事件的第一个实例于 2014 年 3 月 19 日 18:00 UTC 开始(见 DTSTART),结束于 20:00 UTC(见 DTEND)。该活动每周三重复 15 周(参见 RRULE)。

您可以使用几行 Java 代码将此类事件添加到 Notes 数据库:

// Get the NotesCalendar object from the database
NotesCalendar notesCalendar = session.getCalendar(database);
if ( notesCalendar == null ) {
    throw new Exception("Cannot open calendar.");
}

// Create the meeting on the Notes calendar
NotesCalendarEntry entry = notesCalendar.createEntry(icalendar);

在这段代码中,icalendar只是一个包含上面显示的 iCalendar 数据的字符串,并且 NotesCalendar 和 NotesCalendarEntry 接口来自lotus.domino包。该createEntry方法将事件添加到日历。更好的是,它会自动向与会者发送邀请(当存在于 iCalendar 数据中时),它会处理重复事件的复杂性。

有关更多 iCalendar 示例,请参阅事件的 iCalendar 表示。有关 iCalendar 规范,请参阅RFC5545

于 2014-02-12T18:44:23.663 回答
1

这是 Notes 日历模式的链接。

根据您上面的描述,您似乎遗漏的最重要的事情是,Lotus Notes 中的重复会议由一组具有父子关系的文档表示,而不仅仅是一个文档。

于 2014-02-11T08:01:25.377 回答