zoukankan      html  css  js  c++  java
  • Java 远程操作 Domino Objects

    一、说明

      Java通过web方式远程访问、操作Lotus Domino Objects,Java 程序使用 CORBA(Common Object Request Broker Architecture)请求 Domino 服务器所提供的服务。远程类使用 CORBA 通过 TCP/IP 网络访问服务器。远程访问由以下两个部分组成:

      1、客户机通过 HTTP 协议获得服务器的初始对象,作为 IOR (Interoperable Object Reference)。 
      2、客户机通过 IIOP 连接进一步获得其他对象。

      Java 通过 HTTP 和 IIOP 的远程访问

      要编译使用 lotus.domino 包的 Java 程序,类路径必须包含 NCSO.jar。
      其中 Notes.jar 可以在任何 Notes/Domino 安装的程序目录中找到。NCSO.jar 可以在 Domino Designer 或 Domino 服务器数据目录下的 dominojava 目录中找到(此包高版本Domino系统兼容低版本)。

    二、远程调用

      1、Domino服务器文档设置:

      Domino Directory(names.nsf)的 Server 文档的配置页面做如下配置
      (1)打开Internet协议页签的Http页签,设置"允许HTTP客户浏览数据库:是"
      (2)打开安全性页签,设置Java/Com限制。
         运行有限制的java/javascript/com:*
         运行无限制的java/javascript/com:*
      (3)打开端口页签的Internet页签的IIOP页签、web页签

      

      (4)要在服务器上启动 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 

      (5)获取 IOR。如果使用createSessionWithIOR创建连接。需要将diiop_ior.txt文件从服务器计算机复制到客户机计算机上。该文件在服务器的安装目录的DominoDatadominohtml下。

      2、连接domino服务器:

      创建domino Session会话链接,可以访问domino Objects,如下是一个新增文档操作示例: 

    import lotus.domino.*;
    public class myClass
    {
        public static void main(String argv[])    
        {    
            try {        
                String host = "192.168.128.2";//注意:有时候需要端口号            
                Session s = NotesFactory.createSession(host);   
                String userName = "admin";
                String userPwd = "pass";
                // Domino会话(获取session)
                Session session = NotesFactory.createSession(host, NotesFactory.createORB(), userName,userPwd );
                // Domino数据库
                Database database = session.getDatabase(session.getServerName(), "mail\admin.nsf", false);
                // 创建一个文档
                Document nDoc = database.createDocument();
                //设置主题
                nDoc.appendItemValue("Subject",doc.g("Subject"));
                //指定表单
                nDoc.appendItemValue("form", "Memo");
                //增加附件
                RichTextItem rti = (RichTextItem) nDoc.createRichTextItem("name4");
                String attachFilePath = "E:\test.txt";
                rti.embedObject(EmbeddedObject.EMBED_ATTACHMENT, null,attachFilePath, attachFilePath);
                //保存文档
                nDoc.save();
    
             } catch(Exception e){        
                e.printStackTrace();
             }
        } 
    }

      程序演示了如何访问domino库,如何新增文档;相关的修改、删除、查询等其它操作直接参考Administer Designner中的帮助API即可。

  • 相关阅读:
    Head first javascript(七)
    Python Fundamental for Django
    Head first javascript(六)
    Head first javascript(五)
    Head first javascript(四)
    Head first javascript(三)
    Head first javascript(二)
    Head first javascript(一)
    Sicily 1090. Highways 解题报告
    Python GUI programming(tkinter)
  • 原文地址:https://www.cnblogs.com/zealon/p/4381568.html
Copyright © 2011-2022 走看看