[Domino]Java访问Domino必需配置的服务器设置
?
[Domino]Java訪問Domino必需配置的服務器設置
| 編寫者<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> | 日期 | 關鍵詞 |
| 鄭昀@ultrapower | 2005-6-30 | Java Domino Configuration |
應用場景
我們需要通過Java遠程訪問IBM Lotus Domino R6和R5服務器,從中獲取用戶郵箱的郵件信息等關鍵數據。我們不需要提供每一個用戶密碼以及ID文件。
我們的具體做法是,通過Domino ORB,來使得Domino Server與Java遠程交互,雙方使用IIOP來交互和交換對象數據。
訪問的Domino服務器必須配置本文講述的四個設置,否則會在Domino R6上得到以下錯誤:
| 錯誤日志片段: |
| 錯誤代碼為4488 lotus.domino.NotesException ?at lotus.domino.NotesExceptionHelper.read(NotesExceptionHelper.java) ?at lotus.domino.NotesExceptionHolder._read(NotesExceptionHolder.java) at com.ibm.CORBA.iiop.RepImpl.invoke(RepImpl.java:325) ?at com.ibm.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:36) ?at lotus.domino.corba._IObjectServerStub.createSession(_IObjectServerStub.java) ?at lotus.domino.cso.Session.OREFtoSession(Session.java:829) ?at lotus.domino.cso.Session.<init>(Session.java:72) ?at lotus.domino.cso.Session.createSession(Session.java:40) ? |
在Domino R5上則得到如下錯誤:
| 錯誤日志片段: |
| 錯誤代碼為4536 lotus.domino.NotesException ??? at lotus.domino.NotesExceptionHelper.read(NotesExceptionHelper.java:48) ??? at lotus.domino.NotesExceptionHolder._read(NotesExceptionHolder.java:25) ??? at com.ibm.CORBA.iiop.RepImpl.invoke(RepImpl.java:325) ??? at com.ibm.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:36) ??? at lotus.domino.corba._IObjectServerStub.createSession(_IObjectServerStub.java:154) |
這兩個錯誤都代表“服務器拒絕訪問”。
?
下面列出需要配置的四個安全設置。
DIIOP設置
請實施工程師檢查Domino Server的DIIOP設置是否和圖1一致。
設置范圍:此設置對Domino R5/6都有效。
設置生效:在Domino R5版本中,修改并保存IIOP設置后,必須重新啟動Domino Server,否則無法生效。
檢查 Domino Directory 中 Server 文檔。轉至 Ports 選項卡,然后轉向 Internet Ports 選項卡。查看 DIIOP 選項卡,“Authentication options”中的“Name & password”應該是Yes,如下圖所示。這些部分有用于指定端口號以及啟用/禁用端口的字段。下圖顯示了 Internet Ports--DIIOP 選項卡:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
圖 1 IIOP設置
特別要注意的是,在Domino R5版本中,修改并保存IIOP設置后,應該重新啟動Domino Server,否則無法生效。即使命令tell diiop refresh強制刷新,也不能使修改生效。
而在Domino R6版本中,改進了這一功能,不需要重啟服務器也不需要強制刷新,即可使這項IIOP設置修改生效!
各項參數的具體含義是:
| No. | Items | Descriptions |
| 1 | Name and Password | DIIOP 驗證需要名稱和密碼 |
| 2 | Anonymous | DIIOP 驗證不需要名稱和密碼 |
| 3 | Enforce server access settings | DIIOP 使用 Security 選項卡下的 Server Access 設置 |
Access Server設置
請實施工程師檢查Domino Server的Access Server設置是否和圖2一致。
設置范圍:此設置對Domino R5/6都有效。
檢查 Domino Directory 中 Server 文檔。轉至?Security 選項卡,然后查看 “Server Access”中的“Access Server”應該是“All users can access this server”,如下圖所示。
圖 2 Access Server設置
Programmability? Restrictions設置
請實施工程師檢查Domino Server的Programmability? Restrictions設置是否和圖3或者圖4一致。
設置范圍:此設置對Domino R5和R6是有區別的。
設置生效:在Domino R5版本中,修改并保存此設置后,必須命令tell diiop refresh強制刷新,否則無法生效。
檢查 Domino Directory 中 Server 文檔。轉至?Security 選項卡,然后查看 “Programmability? Restrictions”?。
對于Domino R6,總共需要2處權限設置為“*”
??? 請找到以下2個設置:
l???????? Run unrestricted methods and operations:
l???????? Sign agents to run on behalf of someone else:
???請您為這些設置輸入“*”,表示允許所有用戶。
?????? 作了修改之后,保存并退出。
然后還需要在服務器命令行界面上輸入命令“tell diiop refresh”,強制diiop刷新策略。
那么最終的效果應該如下圖所示:
圖3 R6 Programmability? Restrictions設置
如果沒有允許用戶“Run unrestricted methods and operations”,那么當用戶發送郵件要Sign時可能會遇到如下異常:
| 錯誤日志片段: |
| 錯誤代碼為4165 NotesException: You must have permission to sign documents for server based agents ??? at lotus.domino.NotesExceptionHelper.read(Unknown Source) ??? at lotus.domino.NotesExceptionHolder._read(Unknown Source) |
?????? 此種情況下,“Sign agents to run on behalf of someone else”權限并非必要。
在Domino R6版本中,修改并保存了這一設置之后,并不需要強制刷新,即可使這項編程限制設置修改立即生效!
對于Domino R5,總共需要2處權限設置為“*”
??? 請找到以下2個設置:
l???????? Run restricted Java/Javascript/COM:
l???????? Run unrestricted Java/Javascript/COM:?
???請您為這些設置輸入“*”,表示允許所有用戶。
?????? 作了修改之后,保存并退出。
然后還需要在服務器命令行界面上輸入命令“tell diiop refresh”,強制diiop刷新策略。
那么最終的效果應該如下圖所示:
圖4 R5 Programmability? Restrictions設置
特別要注意的是,在Domino R5版本中,修改了本編程限制設置后,應該命令tell diiop refresh強制刷新,才能使修改生效。
而在Domino R6版本中,改進了這一功能,不需要強制刷新,即可使這項編程限制設置修改生效!
?
HTTP設置
請實施工程師檢查Domino Server的HTTP設置是否和圖5或者圖6一致。
設置范圍:此設置對Domino R5和R 6是有區別的。
檢查 Domino Directory 中 Server 文檔。轉至 Internet Protocols?選項卡,然后查看?HTTP 選項卡,找到“Allow HTTP clients to browse databases:”(或者為“允許HTTP客戶瀏覽數據庫”)設置。
Domino R6的圖形界面
這是R6的圖形界面:
圖5 R6 HTTP設置
Domino R5的圖形界面
這是R5的圖形界面:
圖6 R5 HTTP設置
安裝R5時,默認這個設置是No(否),所以請實施工程師設置它為Yes(是)。
?
?
| 編寫者 | 日期 | 關鍵詞 |
| 鄭昀@ultrapower | 2005-6-30 | Java Domino Configuration |
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[Domino]Java访问Domino必需配置的服务器设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构基础 - 链表的遍历
- 下一篇: [self Introduce]MY j