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 服务器数据目录下的 domino\java 目录中找到(此包高版本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文件从服务器计算机复制到客户机计算机上。该文件在服务器的安装目录的\Domino\Data\domino\html下。

  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即可。

时间: 2024-10-09 19:23:13

Java 远程操作 Domino Objects的相关文章

文件系统之-JAVA Sftp远程操作:

转载:http://blog.csdn.net/lee272616/article/details/52789018 java远程操作文件服务器(linux),使用sftp协议版本会持续更新,当前版本:0.31版本更新时间:2016-10-13版本修正说明:1.修正连接关闭,将关闭的方法改成私有,不允许使用者自行关闭(否则会导致连接池获取错误) 2.优化删除文件及文件夹,先判断文件或文件夹是否存在,然后再删除 前言: sftp是Secure File Transfer Protocol的缩写,安

客户端用java api 远程操作HDFS以及远程提交MR任务(源码和异常处理)

两个类,一个HDFS文件操作类,一个是wordcount 词数统计类,都是从网上看来的.上代码: package mapreduce; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.BlockLocation; import org.apac

java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/25/2556576.html https://www.cnblogs.com/longyg/archive/2012/06/25/2561332.html https://www.cnblogs.com/qdwyg2013/p/5650764.html#top 引入jar包的maven依赖如下所示:

Java API操作HDFS

HDFS是存储数据的分布式文件系统,对HDFS的操作,就是对文件系统的操作,除了用HDFS的shell命令对文件系统进行操作,我们也可以利用Java API对文件系统进行操作,比如文件的创建.删除.修改权限等等,还有文件夹的创建.删除.重命名等等. 使用Java API对文件系统进行操作主要涉及以下几个类: 1.Configuration类:该类的对象封装了客户端或者服务端的配置. 2.FileSystem类:该类的对象是一个文件系统对象,可以利用该对象的一些方法来对文件进行操作,FileSys

Java远程通讯可选技术及原理

Java远程通讯可选技术及原理——转 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术, 例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢, 了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了, 在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大家提供更多的实现远程通讯的技术

RMI - Java远程方法调用

一.入门篇 Java RMI指的是远程方法调用(Remote Method Invocation). 它是一种机制, 能够让不同操作系统之间程序实现方法调用. 比如: 一台电脑上的Java程序可以通过RMI调用另一台电脑上的方法(EJB底层就是使用RMI). 二.RMI和webservice RMI是在TCP协议上传递可序列化的Java对象, 只能用在Java虚拟机上, 客户端和服务端必须都是Java. webservice是在http协议上传递xml文件, 它与语言和平台无关, 可以在异构系统

HDFS基础和java api操作

1. 概括 适合一次写入多次查询情况,不支持并发写情况 通过hadoop shell 上传的文件存放在DataNode的block中,通过linux shell只能看见block,看不见文件(HDFS将客户端的大文件存放在很多节点的数据块中,Block本质上是一个逻辑概念,它是hdfs读写数据的基本单位) HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间 2. fs 可以使用hdfs shell操作hdfs,常用 fs命令如下: eg: hadoop fs -cat fi

Java 连接操作 Redis 出现错误

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at redis.clients.jedis.Connection.connect(Connection.java:207) at redis.clients.jedis.BinaryClient.connect

Java远程通讯技术(协议)

Java远程通讯技术(协议) 网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络IO来实现, 其中传 输协议比较出名的有http.tcp.udp等:http.tcp.udp都是在基于Socket概念上为某类应用场景而扩展出的传输协议, 网络IO, 主要有bio.nio.aio三种方式,所有的分布式应用通讯都基于这个原理而实现. 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术, 例如:RMI.MINA.ESB. B