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

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


编写者


日期


关键词


郑昀@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 ServerDIIOP设置是否和图1一致。

设置范围:此设置对Domino R5/6都有效。

设置生效:在Domino R5版本中,修改并保存IIOP设置后,必须重新启动Domino Server,否则无法生效。

检查 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设置

请实施工程师检查Domino ServerAccess 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 ServerProgrammability  Restrictions设置是否和图3或者图4一致。

设置范围:此设置对Domino R5R6是有区别的。

设置生效:在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 ServerHTTP设置是否和图5或者图6一致。

设置范围:此设置对Domino R5R 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

 

时间: 2024-10-27 07:46:36

[Domino]Java访问Domino必需配置的服务器设置的相关文章

[Domino]Java访问Domino邮件代码片断[4]下载某一封邮件中的指定附件

[Domino]Java访问Domino邮件代码片断[4] 编写者 日期 关键词 郑昀@ultrapower 2005-8-1 Java Domino   下载某一封邮件中的指定附件 3个知识点: 1:需要通过NoteID来定位该邮件: Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); Document doc = dbMail.getDocum

[Domino]Java访问Domino邮件代码片断[1]

[Domino]Java访问Domino邮件代码片断 编写者 日期 关键词 郑昀@ultrapower 2005-6-20 Java Domino   得到用户收件箱中的邮件 三个知识点: 1:如果是打开mailfile数据库后直接 Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); DocumentCollection dc = dbMail.g

[Domino]Java访问Domino邮件代码片断[3]

[Domino]Java访问Domino邮件代码片断[3] 编写者 日期 关键词 郑昀@ultrapower 2005-7-1 Java Domino   转发用户收件箱中的某一封邮件 3个知识点: 1:需要通过noteID来定位该邮件: Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); Document doc = dbMail.getDocu

[Domino]Java访问Domino邮件代码片断[2]

[Domino]Java访问Domino邮件代码片断[2] 编写者 日期 关键词 郑昀@ultrapower 2005-6-21 Java Domino   回复用户收件箱中的某一封邮件 2个知识点: 1:需要通过noteID来定位该邮件: Database dbMail = sNotes.getDatabase(sNotes.getServerName(),                       mailfile, false); Document doc = dbMail.getDoc

JAVA EE Eclipse下配置Tomcat服务器

在进行Java web编程之前,必须要进行web服务器的配置,这里选择在Java EE(版本) Eclipse中进行服务器的配置.当然了,在安装Java EE Eclipse之前要先安装JDK,并且要在环境变量中配置好JDK的安装目录,在这里不再多说,如果不清楚,可以看前面写的一篇"在win7下面安装JDK(以32位系统为例)"的文章.这里就假设你已经安装好了JDK,并且已经配置好环境变量.      Java EE Eclipse可以去Eclipse公司的网页上去下载最新版本的,但是

Java在Domino服务器上的拓展:让Domino具备面向方面的特征

dom|服务器 摘要:本文把AspectJ应用于Domino服务器上Notes数据库的开发, 从而实现让Domino具备一些面向方面特征的目的. 关键字:Lotus Domino/Notes.Lotus Domino DIIOP for Java.AspectJ. 如何把AspectJ应用于Domino的开发,从而让Domino具备一些面向的特征,是本文写作的目的.文中作者根据实际在Domino项目中对AspectJ的应用加以整理.简化--为初学者提供一个简要的入门.本文的结尾处提供了实例的源代

[Domino]如何用java远程访问Domino邮箱数据

[Domino]如何远程访问Domino邮箱数据 编写者 日期 关键词 郑昀@ultrapower 2005-6-9 Domino Notes Java DIIOP IOR CORBA Eclipse   应用场景 我们需要远程访问IBM Lotus Domino R6服务器,从中获取用户邮箱的邮件信息等关键数据.我们不需要提供每一个用户密码以及ID文件. 技术关键词 Java: Java 和 Lotus Notes/Domino 是理想的开发组合. DIIOP: IIOP,是Internet

怎样实现Java远程访问Domino数据库

问题描述 Java远程访问Domino数据库推荐采用CORBA实现,但配置非常关键,笔者在工作中也遇到了这个问题,在查阅资料的过程中发现,很多文章明显存在一些误区或者说没有写清楚的地方,现将笔者的实践经验总结出来,和大家分享.Domino服务器版本是5.0.9. 基本步骤: 1.修改Domino服务器安全性配置,允许你的用户运行Java/CORBA.具体操作是:打开LotusDominoAdministrator,进入配置,打开当前服务器文档,选择"安全性"选项卡,在右下角"

起点R3使用JAVA获取Domino数据(上篇)

问题描述 LotusDomino作为一种全球领先的协作.消息传递和Web支持软件,正在迅速地在中国企事业推广.Domino已经成为帮助每个人更灵活和更高效地工作的强大支持.如何从DOMINO数据库中获取数据,使这些数据为其他系统可用,已经成为许多企业迫切需要解决的问题.然而domino不同于普通的关系型数据库,由ibm/lotus自主研发,有自己的标准和特殊性,是一种另类的数据库类型.开发具有访问DOMINO服务器的应用程序的方法有许多种,但是普遍存在的问题是功能有很大的局限性,都要在依赖于lo