列出所有莲花笔记数据库

时间:2014-03-06 02:26:46

标签: java lotus-notes lotus-domino

我尝试使用Java创建Lotus Notes客户端。现在,我有一个问题是列出所有用户定义的数据库。我试图做的是

// testing purpose
private void printAllDb() throws NotesException
{
    DbDirectory dir = session.getDbDirectory(host);
    String server = dir.getName();
    if(server.equals(""))
    {
        server = "Local";
    }

    System.out.println("database direcory list on server (" + server + ")");
    Database db = dir.getFirstDatabase(DbDirectory.DATABASE);

    do
    {
        System.out.println("file name: " + db.getFileName().toUpperCase() + " - " + db.getTitle());

    } while((db = dir.getNextDatabase()) != null);

}

但是,该程序将抛出异​​常:

Exception in thread "main" NotesException: Server access denied
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._IDbDirectoryStub.getFirstDatabase(Unknown Source)
at lotus.domino.cso.DbDirectory.getFirstDatabase(Unknown Source)
at nz.co.sylresearch.sylsearch.agents.lotusnotes.LotusNotesAPIHandler.printAllDb(LotusNotesAPIHandler.java:58)
at nz.co.sylresearch.sylsearch.agents.lotusnotes.LotusNotesAPIHandler.main(LotusNotesAPIHandler.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

1 个答案:

答案 0 :(得分:1)

问题非常清楚。您收到服务器的访问被拒绝错误。现在棘手的部分是找出原因。

您应该首先确保用于创建会话对象的用户名和密码是正确的。然后确保用户可以访问服务器并有权在服务器上运行Java代码。您必须检查目录中的服务器文档。