Java 使用getDatabase()打开远程数据库

Java 使用getDatabase()打开远程数据库,java,lotus-notes,lotus-domino,Java,Lotus Notes,Lotus Domino,我的Lotus网络包含多个Lotus Domino服务器,每个组织单元都有自己的服务器。我正在尝试连接到服务器_A,然后使用getDatabase从服务器_B获取names.nsf: 我得到的错误是: Exception in thread "main" NotesException: Database CN=Server_B/O=Organization!!names.nsf has not been opened yet at lotus.domino.NotesExceptionH

我的Lotus网络包含多个Lotus Domino服务器,每个组织单元都有自己的服务器。我正在尝试连接到服务器_A,然后使用getDatabase从服务器_B获取names.nsf:

我得到的错误是:

Exception in thread "main" NotesException: Database CN=Server_B/O=Organization!!names.nsf has not been opened yet
    at lotus.domino.NotesExceptionHelper.read(Unknown Source)
    at lotus.domino.NotesExceptionHolder._read(Unknown Source)
    at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
    at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
    at lotus.domino.corba._IDatabaseStub.searchU(Unknown Source)
    at lotus.domino.cso.Database.search(Unknown Source)
    at lotus.domino.cso.Database.search(Unknown Source)

使用session.getDatabasenull、names.nsf打开names.nsf;工作正常。

NotesFactory.createSessionServer\u A\u IP:63148,超级用户,通过

->NotesFactory.createSessionServer_A_IP,超级用户,pass

你不需要这个端口

你可以看看

您还应该测试您的会话不是空对象。。。 如果会话!=空的{

}我找到了答案:

连接失败的原因是Server1/ACME未列出 作为Domino中Server2/ACME服务器文档中的信任服务器 目录

解决方案是:

解决这个问题很简单。困难的部分是找到正确的答案 问题如果您可以访问Server2/ACME上的Domino目录, 请执行以下操作:

打开Server2/ACME上的Domino Directory服务器通讯簿。 在“配置”下,单击“服务器”,然后单击“所有服务器文档”。 双击要将代码连接到的服务器文档。本例中的Server2/ACME 在安全选项卡的左下部分,有一个名为“Trusted Servers”的字段。 在我的场景中,此字段为空。在这个示例之后,我将向这个字段添加“Server1/ACME”。
编辑:我刚才也在评论中看到了解决方案。无论如何,我将把这些步骤留在这里,以防万一对某人有用。

您是否在服务器B的配置文档中填写了受信任的服务器?谢谢您。在Server_B配置文档的Trusted Servers列中输入Server_A名称后,错误消失了。
Exception in thread "main" NotesException: Database CN=Server_B/O=Organization!!names.nsf has not been opened yet
    at lotus.domino.NotesExceptionHelper.read(Unknown Source)
    at lotus.domino.NotesExceptionHolder._read(Unknown Source)
    at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
    at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
    at lotus.domino.corba._IDatabaseStub.searchU(Unknown Source)
    at lotus.domino.cso.Database.search(Unknown Source)
    at lotus.domino.cso.Database.search(Unknown Source)