0

我正在尝试使用 C#/.Net 创建一个 Web 服务,该服务可以远程访问任何用户的 Lotus Notes 邮箱、联系人等。这是给定的服务器地址和用户名/密码详细信息,我想发送邮件、创建联系人等。很多就像使用 EWS 托管 API 来交换账户一样。我目前正在为此使用 interop.domino.dll。到目前为止它还没有为我工作。

var session = new NotesSession();
session.InitializeUsingNotesUserName("username", "password");
var db = session.GetDatabase( "server", "xyz.nsf", false ); 

抛出异常说“用户不是服务器”或

“读取服务器配置失败”

我是一个完全的莲花新手,任何帮助将不胜感激。

4

1 回答 1

1

您混合了服务器和客户端的方式来访问 NotesSession。你有两个选择:

  1. 客户方式

    session.Initialize("password");或者session.Initialize();

    安装 Notes 客户端并使用Initialize(). 如果客户端已启动,则无需提供密码。如果客户端未启动,则会出现密码查询。客户端正在使用配置的 notes.id 并需要该密码。您可以创建一个超级用户 ID,它能够访问所有邮件文件,并且您自己进行身份验证。初始化 (NotesSession - LotusScript®)

    这也应该在服务器上工作,但从未尝试过。

  2. 服务器方式

    session.InitializeUsingNotesUserName("username", "password");

    我从未尝试过,但错误地使用了该方法,因此我知道将其与客户端一起使用是错误的。

    理论上:您安装 Domino 服务器并使用用户的用户名和 http-password 来标识此用户。如果您在计算机上混合 Notes 客户端和服务器,我不知道 dll 是否找到正确的安装。从理论上讲,这可以由路径变量控制,dll 可以通过路径访问该变量。InitializeUsingNotesUserName (NotesSession - LotusScript®)

    Windows 客户端上的 Domino 服务器:您可以在 Windows 客户端上安装 Domino 服务器以进行测试,由于 Windows 客户端,服务器将具有有限的网络连接,但它可用于开发。请记住 Microsoft 和 IBM 的 EULA。

interop.domino.dll 不再是 IBM 关注的焦点。所以想想 Richard Schwartz 所说的,专注于现有的 REST API,或者将自己的 Web 服务编写为 Notes 数据库,并从 C# 作为 Web 服务访问它。

于 2015-12-15T21:16:45.467 回答