Java遠程訪問Domino數據庫推薦采用CORBA實現,但配置非常關鍵,筆者在工作中也遇到了這個問題,在查閱資料的過程中發現,很多文章明顯存在一些誤區或者說沒有寫清楚的地方,現將筆者的實踐經驗總結出來,和大家分享。筆者的Domino服務器版本是5.0.9。
基本步驟
1.修改Domino服務器安全性配置,允許你的用戶運行Java/CORBA。具體操作是: 打開Lotus Domino Administrator,進入配置,打開當前服務器文檔,選擇“安全性”選項卡,在右下角“Java/COM 誰可以-”欄中,分別在“運行有限制的Java/Javascript/COM”和“運行無限制的Java/Javascript/COM”兩項中填上你的連接用戶名或用戶所在組。
2.給你的用戶加上Internet地址和口令。如果你的用戶沒有Internet地址和口令,那么只有Domino的管理用戶才可以連接,其他普通用戶是連不上的,而且也沒有具體的提示。筆者曾在這個地方浪費了一天的時間。
注冊個人時,點擊高級選項,填寫Internet網絡域(Internet地址會自動生成,如myname@workgroup),同時選中“設置Internet口令”,以后將用這個Internet口令來建立會話。如果是已經注冊的用戶,則可以通過編輯注冊信息來修改。
3.打開notes.ini文件,確認加載了DIIOP服務。檢查notes.ini文件中的類似這樣一行:
ServerTasks=Update,Replica,Router,AMgr, AdminP,CalConn,Sched,DIIOP,HTTP,LDAP
4.還有其他配置,如用戶對Server的訪問權限、DIIOP端口設置等,這些啟用Domino服務器的缺省配置即可。配置完了需要重啟Domino服務器。
5.將Domino服務器主目錄下的data/domino/Java/NSCO.jar文件拷入Java工作環境,并在工程的構建路徑中加入,或者在classpath環境變量中加入。
6.將Domino服務器主目錄下的data/domino/html/diiop_ior.txt(CORBA訪問的識別信息)拷入你的Java工作環境,或者開放Domino服務器的HTTP服務。
7.現在可以編寫連接程序進行測試了:
import lotus.domino.*; import Java.io.*; class Test { public static void main(String args[]) { Session session; String ior; String dominoURL="11.68.81.27"; //DOMINO服務器的IP地址 String username="username"; //用戶ID String password="password"; //用戶的internet口令 try { //如果已將ior文件拷到本地,則直接讀ior文件 try { BufferedReader iorin= new BufferedReader(new FileReader("diiop_ior.txt")); ior=iorin.readLine(); iorin.close(); } catch (IOException e) { ior=null; } //如果讀不到diiop_ior.txt文件,則需要通過網絡從服務器下載這個文件 //這需要domino服務器開放http服務 if(ior==null) ior =NotesFactory.getIOR(dominoURL);//下載IOR session = NotesFactory.createSessionWithIOR(ior,username,password); System.out.println(session); //如果這一行打印出來了,表示連接成功 } catch (NotesException ex) { System.out.println(ex.getClass().getName()+":"+ex.id); } }} |
新聞熱點
疑難解答
圖片精選