您的位置:首页 > 编程语言 > Java开发

[Domino]Java访问Domino必需配置的服务器设置

2008-01-03 17:56 375 查看

[Domino]Java访问Domino必需配置的服务器设置

编写者
日期
关键词
郑昀@ultrapower
2005-6-30
Java Domino Configuration

应用场景

我们需要通过Java远程访问IBM Lotus Domino R6和R5服务器,从中获取用户邮箱的邮件信息等关键数据。我们不需要提供每一个用户密码以及ID文件。
我们的具体做法是,通过Domino ORB[/b],来使得Domino Server与Java远程交互,双方使用IIOP[/b]来交互和交换对象数据。
访问的Domino服务器必须配置本文讲述的四个设置,否则会在Domino R6上得到以下错误:
错误日志片段:
错误代码为4488[/b]
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.(Session.java:72)
 at lotus.domino.cso.Session.createSession(Session.java:40)
 
在Domino R5上则得到如下错误:
错误日志片段:
错误代码为4536[/b]
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设置

请实施工程师检查[/b]Domino Server[/b]的[/b]DIIOP[/b]设置是否和图[/b]1[/b]一致。[/b]
[/b]设置范围:此设置对[/b]Domino R5/6[/b]都有效。[/b]
[/b]设置生效:[/b]在Domino R5版本中,修改并保存IIOP设置后,必须重新启动Domino Server,否则无法生效。
[/b]检查 Domino Directory 中 Server 文档。转至 Ports 选项卡,然后转向 Internet Ports 选项卡。查看 DIIOP 选项卡,“Authentication options中的“Name & password应该是Yes,如下图所示。这些部分有用于指定端口号以及启用/禁用端口的字段。下图显示了 Internet Ports--DIIOP 选项卡:

图 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设置

请实施工程师检查[/b]Domino Server[/b]的[/b]Access Server[/b]设置是否和图[/b]2[/b]一致。[/b]
[/b]设置范围:此设置对[/b]Domino R5/6[/b]都有效。[/b]
[/b]检查 Domino Directory 中 Server 文档。转至 Security 选项卡,然后查看 “Server Access中的“Access Server应该是“All users can access this server,如下图所示。

图 2 Access Server设置

Programmability  Restrictions设置

请实施工程师检查[/b]Domino Server[/b]的[/b]Programmability  Restrictions[/b]设置是否和图[/b]3[/b]或者图[/b]4[/b]一致。[/b]
[/b]设置范围:此设置对[/b]Domino R5[/b]和[/b]R6[/b]是有区别的。[/b]
[/b]设置生效:[/b]在Domino R5版本中,修改并保存此设置后,必须命令tell diiop refresh强制刷新,否则无法生效。
[/b]检查 Domino Directory 中 Server 文档。转至 Security 选项卡,然后查看 “Programmability  Restrictions” 

对于Domino R6,总共需要2处权限设置为“*”

    请找到以下2个设置:l         Run unrestricted methods and operations:
[/b]l         Sign agents to run on behalf of someone else:
[/b]   请您为这些设置输入“*”,表示允许所有用户。
       作了修改之后,保存并退出。
然后还需要在服务器命令行界面上输入命令“tell diiop refresh”,强制diiop刷新策略。
那么最终的效果应该如下图所示:

图3 R6 Programmability  Restrictions设置
如果没有允许用户“Run unrestricted methods and operations”,那么当用户发送邮件要Sign时可能会遇到如下异常:
错误日志片段:
错误代码为4165[/b]
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:
[/b]l         Run unrestricted Java/Javascript/COM: 
   请您为这些设置输入“*”,表示允许所有用户。
       作了修改之后,保存并退出。
然后还需要在服务器命令行界面上输入命令“tell diiop refresh”,强制diiop刷新策略。
那么最终的效果应该如下图所示:

图4 R5 Programmability  Restrictions设置
特别要注意的是,在Domino R5版本中,修改了本编程限制设置后,应该命令tell diiop refresh强制刷新,才能使修改生效。
而在Domino R6版本中,改进了这一功能,不需要强制刷新,即可使这项编程限制设置修改生效!
 

HTTP设置

请实施工程师检查[/b]Domino Server[/b]的[/b]HTTP[/b]设置是否和图[/b]5[/b]或者图[/b]6[/b]一致。[/b]
[/b]设置范围:此设置对[/b]Domino R5[/b]和[/b]R 6[/b]是有区别的。[/b]
[/b]检查 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
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=408572
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐