WEB开发网
开发学院WEB开发Jsp Java对Domino Objects的访问 (4) 阅读

Java对Domino Objects的访问 (4)

 2008-01-05 09:21:50 来源:WEB开发网   
核心提示:获取 IOR 在 Domino 服务器上,IOR 是一个名为 diiop_ior.txt 的文件,Java对Domino Objects的访问 (4),位于 Domino 数据目录下的 dominoHtml 子目录中,IOR 是对象的字符串编码,可以将 diiop_ior.txt 文件从服务器计算机复制到客户机计算机

获取 IOR


   在 Domino 服务器上,IOR 是一个名为 diiop_ior.txt 的文件,位于 Domino 数据目录下的 dominoHtml 子目录中。IOR 是对象的字符串编码,包含对服务器的 CORBA 访问的识别信息。客户机会将字符串 IOR 解码,并用它来建立远程会话。 默认情况下,远程客户机通过 Web 服务器端口(其通常支持 HTTP 请求)来请求服务器 IOR,然后通过 DIIOP 端口进行会话请求。可以分别执行这两个请求。例如:

String ior = NotesFactory.getIOR("myhost.east.acme.com");
// Get IOR using Web server port
session s = NotesFactory.createSessionWithIOR(ior);
// Create session using DIIOP port
 


   等价于:


  Session s = NotesFactory.createSession("myhost.east.acme.com");

在 NotesFactory 调用中,可以在主机名称或 ip 地址后面添加冒号和端口号,来指定用于获取 IOR 的主机端口。假如 Web 服务器没有运行,可以使用这种机制,通过 DIIOP 端口支持 IOR 的 HTTP 请求,例如:

String ior = NotesFactory.getIOR("myhost.east.acme.com:63148");
// Get IOR using DIIOP port
Session s = NotesFactory.createSessionWithIOR(ior);
// Create session using DIIOP port
 


   然而,两步式编码顺序并不是必需的。可以将其简化为:


  Session s = NotesFactory.createSession("myhost.east.acme.com:63148");


   不能用 DIIOP 端口获取除 diiop_ior.txt 之外的文本文件。

   假如通过 Web 服务器端口来获取 IOR,Web 服务器端口,那么必须答应进行匿名访问。在 Domino Directory 的 Server 文档中,转至 Ports 选项卡,然后转至 Web 选项卡。确保 Authentication options 下的 Anonymous 字段被设为 Yes。

Java对Domino Objects的访问 (4)(图一)

   指定 DIIOP 端口来获取 IOR 的能力是 Notes/Domino 6 的新功能。现在就可以使用远程调用,无需答应对 Web 服务器的匿名访问,甚至无需启动 Web 服务器。

   也可以通过其他方法获取 IOR,然后使用 createSessionWithIOR。例如,可以将 diiop_ior.txt 文件从服务器计算机复制到客户机计算机上。假如客户机上包含对将使用的服务器有效的 diiop_ior.txt 文件,那么可以使用下列代码:

import lotus.domino.*;
import java.io.*;
public class platformior
{
   public static void main(String argv[])  
   {  
     try    
       {      
         FileInputStream fin = new FileInputStream(      
         "c:LotusNotesR6diiop_ior.txt");      
         InputStreamReader fisr = new InputStreamReader(fin);      
         BufferedReader br = new BufferedReader(fisr);      
         String ior = br.readLine();      
         fin.close();      
         Session s = NotesFactory.createSessionWithIOR(ior);      
         //Operational code goes here      
         }      
         catch(Exception e)      
         {      
         e.PRintStackTrace();      
         }
       }
     }
   注重 IOR 设置可能会失效。服务器上的以下任何更改都会使客户机上的 diiop_ior.txt 文件失效:


Tags:Java Domino Objects

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接