0
我試着用Java創建蓮花筆記客戶端。現在,我列出了所有用戶定義的數據庫。我試圖做的是列出所有蓮花筆記數據庫
// 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)
感謝您的回覆,您能告訴我應該去哪個服務器文檔嗎?我嘗試使用createSessionWithFullAccess創建會話,但它不起作用,並且拋出一個沒有發現異常的類 – Alvin
他指的是服務器文檔中的'主機'(無論真名是什麼 - 這只是您的變量名稱, t知道這個值),Domino Administrator目錄(即names.nsf數據庫)可以使用Domino Administrator客戶端輕鬆找到。 –
從文檔中,我相信createSessionWithFullAccess需要與Notes標識文件對應的密碼。您正在使用ncso.jar文件,該文件使用IIOP/CORBA與Domino交談,因此它不需要(也不能使用)Notes標識文件。所以我不是100%確定的,但我認爲這意味着你不能在ncso.jar中使用CreateSessionWithFullAccess。 –