|
远程调用 在进行远程调用时,createsession 签名的第一个参数是非空字符串。第一个参数通常用来标识 domino 服务器所在的计算机。例如: session s = notesfactory.createsession("myhost.east.acme.com") 或者 session s = notesfactory.createsession("myhost.east.acme.com:63148") 第二个示例指定了端口号,这样就无需在 myhost.east.acme.com 上运行 domino web 服务器。
要从应用程序或者 servlet 执行远程调用,客户机计算机的类路径中必须包含 ncso.jar。ncso.jar 包含 lotus.domino 包、lotus.domino.cso 包、lotus.domino.corba 包以及 orb 类,orb 类包含用于远程类的实现代码。对于已安装的 domino designer 和 domino 服务器软件,ncso.jar 位于 domino 数据目录下的 dominojava 子目录中。对于没有安装 domino 软件的计算机,必须从安装该软件的计算机上复制归档文件。 类路径必须包含归档文件,例如: set classpath := %classpath%;c:lotusdominodatadominojavancso.jar 编码 编码比较简单。远程调用不使用 notesthread。只需使用主机名称和(可选)端口号进行 createsession 调用即可。
不使用线程时,模板将如下所示: import lotus.domino.*; public class myclass { public static void main(string argv[]) { try { string host = "myhost.east.acme.com:63148"; session s = notesfactory.createsession(host); // operational code goes here } catch(exception e) { e.printstacktrace(); } } } 下列模板将使用线程: import lotus.domino.*; public class myclass implements runnable { public static void main(string argv[]) { myclass t = new myclass(); thread nt = new thread((runnable)t); nt.start(); } public void run() { try { string host = "myhost.east.acme.com:63148"; session s = notesfactory.createsession(host); // operational code goes here } catch(exception e) { e.printstacktrace(); } } } 管理 远程访问还需要设置 domino 服务器和进行 tcp/ip 连接。安装服务器的计算机必须能够通过 tcp/ip 进行访问。在计算机的网络设置中,需要检查 tcp/ip 属性中的主机和域名的 dns 配置。必须能够用 internet 名称从客户机计算机 ping 到服务器计算机。例如,如果 domino 服务器的主机名称是 myhost,那么域名将是 east.acme.co: 
下列命令应该得到客户机计算机的有效响应: > ping myhost.east.acme.com 在服务器 domino directory(names.nsf)的 server 文档 bsiscs 选项卡的“fully qualified internet host name”字段中,必须显示主机和域。通常,安装服务器安装时已设置了主机名,例如: 
如前面的编码示例所示,internet 名称是 createsession 主机的(第一个)参数。也可以使用服务器的 ip 地址。例如,如果 myhost.east.acme.com 的 ip 地址是 9.95.73.30,那么下列任何一个调用都有效: session s = notesfactory.createsession("myhost.east.acme.com:63148") 或者 session s = notesfactory.createsession("9.95.73.30:63148") 必须运行服务器上的 diiop(domino iiop)任务。http 任务可能也需要运行,这取决于如何获取 ior。检查 domino directory 中 server 文档。转至 ports 选项卡,然后转向 internet ports 选项卡。查看 web 选项卡(用于 http)并找到 diiop 选项卡。这些部分有用于指定端口号以及启用/禁用端口的字段。通常,http 的端口号是 80,diiop 的端口号是 63148。下列屏幕显示了 diiop 选项卡: 
如果访问数据库时不知道文件名称(例如,要使用 dbdirectory.getfirstdatabase),那么必须允许通过网络浏览文件名。转至 internet protocols 选项卡、hhtp 选项卡和 r5 basics 选项卡。然后将“allow http clients to browse databases”设为 yes。 
要在服务器上启动 http 和 diiop 任务,需要确保这些任务在 notes.ini 文件 servertasks 变量的任务列表中,如果正确配置了 server 文档该文件,那么这些任务应该包含在任务列表中。notes.ini 文件应该包含类似于下面的行: servertasks=update,replica,router,amgr, adminp,calconn,sched,diiop,http,ldap
从运行的服务器,可以在控制台中输入下列命令来加载任务: > load http > load diiop
可以在控制台用 tell 命令停止任务:
> tell http quit > tell diiop quit
可以刷新 diiop 任务:
> tell diiop refresh
可以重新启动 http 任务:
> tell http restart
|