用Java通过DIIOP远程操作Domino服务器

Java访问lotus DIIOP的应用 功能:打印视图显示的文档 dominoserver : 服务器名或IP user :登录名 password:密码 NsfFilepath :NSF库在服务器的路径 viewname :NSF库中的视图 1.本地安装JRE1.4或1.5 (1.6没试过) 2.运行jar包 Example : java -jar dominocnn.jar dominoserver user password NsfFilepath viewname 立即下载
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 最近在玩domino,积累点经验大家分享一下: 开发notes本来就是摸着石头过河,随时会碰到怪问题,结合上java更辛苦:( 但是notes有一些优点,比如全文检索,安全性,开发时效...所以至今仍然占据群件市场的一席之地.如果能把这些功能通过java调用,也算是废物利用吧:) 例子是发送邮件的,但是得到了session, 其它操作和Notes脚本编程没有什么区别了. 这里的操作例子是我公司的环境. web用户采用IIS的结合NT的认证, 因为NT和domino的账号同步, 因此无需用户再特别登录domino. 发送邮件也采用匿名发送, 在Principal域上标注发件用户, 收到的邮件几乎同Notes发送的没有差别. 操作domino服务器需要抽象类(提供连接操作)和实现逻辑操作的类Sendmail. 分别如下: =================================================================================== File: Domino.java: =================================================================================== package steeven.lotus; import lotus.domino.*; import java.util.*; //import lotus.notes.*; //这个类是抽象类, 其他Java程序扩展此类即可. /* 环境: 服务器: Domino5.01 NT4 客户端: Windows2000 准备: 打开Notes Administrator修改服务器文档, 按照Help设置DIIOP服务. 其中注意: 安全性: 运行受限制的 Java/Javascript: * 运行无限制的 Java/Javascript: * 仅允许列在通讯录中的用户访问服务器: 否(可匿名) 端口:internet的端口:IIOP: 验证选项: 名称和口令: 是 匿名: 是 2.在domino控制台: load diiop //启动diiop服务 tell diiop quit //关闭diiop服务 3.连接,可以不用load HTTP服务 推荐使用IOR, C:/Lotus/Domino/Data/domino/html/diiop_ior.txt copy里面全部内容, 含"IOR:" s = NotesFactory.createSessionWithIOR(IOR,user,pwd); //用户身份 s = NotesFactory.createSessionWithIOR(IOR); //匿名 3.匿名发送Email时推荐使用“Principal”域,在信箱会正确显示为你的设定值,唯一痕迹是看信时发件人多个Anonymous From域自动生成为"Anonymous",不可变。 4.调试注意:NotesException不可Cast成Exception否则得不到错误信息



  try{ 

    //diiop codes here 

  } 

  catch(NotesException e) {  //不可Cast 

      System.out.println(e.getClass().getName() ":" e.text); 

      e.printStackTrace(); 

  } 

5. 运行环境,需要NOCR.jar,并且需要调用dll, 文件, 设定环境变量Path, 增加c:/lotus/ntoes, win2000下提示找不到xxxx.dll, 将nxxxx.dll copy后rename即可。 */



public abstract class Domino { 

  private final String host="dminoHost"; 

  private final String user="steeven"; 

  private final String pwd="password"; 

  private final String IOR = "IOR:010000002900000049444c3a6c6f7475732f646f6d696e6f2f636f7262612f494f626a6563745365727665723a312e3000000000010000000000000054000000010101000e0000003133332e3232312e3138382e3100acf6310000000438353235363531612d656336382d313036632d656565302d303037653264323233336235004c6f7475734e4f4901000100000000000000"; 



  protected lotus.domino.Session  s; 



  public Domino()  throws NotesException{ 

    createSession(); 

    System.out.println("domino:" s.toString()); 

  } 

  private void createSession() throws NotesException{ 

//      s = NotesFactory.createSession(host,user,pwd); 

//      s = NotesFactory.createSessionWithIOR(IOR,user,pwd); 

      s = NotesFactory.createSessionWithIOR(IOR); 

  } 

} 



=================================================================================== 

File: Sendmail.java: 

=================================================================================== 



package steeven.lotus; 

import lotus.domino.*; 

import java.util.*; 

//import lotus.notes.*; 



public class Sendmail extends Domino{ 



  java.util.ArrayList grpUsers = new java.util.ArrayList(); 



  Database db; 

  Document memo; 

  RichTextItem rti; 



  private Vector to = new Vector(); 

  private boolean attachForm = false; 

  static String mailFooter = "/n/n/n此邮件由WebMail发送 http://www/mail.jsp/n/n"; 





  public Sendmail() throws NotesException{ 

    System.out.println("sendmail"); 

    db = s.getDatabase(null,"WebMail.nsf"); 

    memo = db.createDocument(); 

    rti = memo.createRichTextItem("Body"); 

        memo.setEncryptOnSend(true); 

        memo.setSignOnSend(true); 

        memo.sign(); 

    memo.setSaveMessageOnSend(true); 



  } 

  public Sendmail(String to,String from,String subject,String body) throws NotesException{ 

    this(); 

    setSendTo(to); 

    setFrom(from); 

    setSubject(subject); 

    setBody(body); 

    System.out.println("Sendmail with contructor"); 

  } 

  public Sendmail(String to[],String from,String subject,String body) throws NotesException{ 

    this(); 

    setSendTo(to); 

    setFrom(from); 

    setSubject(subject); 

    setBody(body); 

    System.out.println("Sendmail with contructor"); 

  } 

  public void setSubject(String n) throws NotesException{ 

    memo.appendItemValue("Subject",n); 

  } 

  public void setFrom(String n) throws NotesException{ 

    memo.appendItemValue("Principal",n); 

  } 

  public void setSendTo(String n) throws NotesException{ 

    to.add(n); 

    memo.appendItemValue("SendTo",n); 

  } 

  public void setSendTo(String n[]) throws NotesException{ 

    appendArray("SendTo",n); 

    for(int i=0;i
DIIOP服务设置2.docx domino diiop配置 立即下载

相关推荐

lotus domnio java代理输出html代理

lotus domnio java代理输出html代理

如何用java远程访问Domino邮箱数据(DIIOP)

应用场景 我们需要远程访问 IBM Lotus Domino R6 服务器,从中获取用户邮箱的邮件信息等关键数据。我们不需要提供每一个用户密码以及 ID 文件。 技术关键词 Java : Java 和 Lotus Notes/Domino 是理想的开发组合。 DIIOP : IIOP , 是 Internet Inter-ORB Protocol , 一种传输层协议。它用于

Gavid0124的专栏 4502

IEPE加速度同步采集卡、振动信号同步模块、温震一体八路高速采集

WJ288产品是一种物联网和工业以太网采集模块,实现了传感器数据采集并发送到网络。IEPE是“Integrated Electronics Piezo-Electric”的缩写,即集成电路型压电式传感器。这种带内置电子器件的压电传感器已成为工业应用领域的标准。半导体电路将压电传感器的高阻抗信号转换为更容易传输的低阻抗电压信号。借助IEPE,只需一根任意长度的标准电缆即可实现电源供给和信号传输,不会因电缆移动而产生测量误差。

wayjun0903的博客 733

使用DIIOP必须作的DOMINO手动设置

应用场景 通过DIIOP访问Domino R6服务器,必须在服务器端手动配置本文讲述的三个地方。 Lotus Domino服务的启动设置必须有DIIOP 请您检查Domino Server是否把DIIOP任务加入到了ServerTasks中。 打开您的Domino服务安装目录,比如c:\Lotus\Domino目录下: 打开notes.ini配置文件,然后找到内容中...

ama7449的博客 377

YOLOv8傻瓜式教程

YOLOv8傻瓜式教程,附带详细参数配置。

Father_of_Python的博客 1万+

告别Keil?在Mac上配置STM32CubeIDE + CMSIS-DAP调试器全攻略(含常见报错解决)

本文详细介绍了在Mac平台上配置STM32CubeIDE与CMSIS-DAP调试器的全流程,包括硬件准备、软件安装、工程创建及调试优化。通过实战指南,帮助开发者高效完成STM32开发,解决常见报错问题,提升开发效率。

weixin_30485379的博客 431

Java远程访问Domino数据库—DIIOP(2)

 要想在Java中通过DIIOP协议访问DOMINO,必需要在DOMINO服务器文档上对DIIOP的访问权限等作出配置,主要包括: 1、安全性》服务器访问权限》谁访问服务器; 2、安全性》编程控制》运行无限制的方法和操作/运行受限制的LotusScript/Java代理; 3、端口》Internet端口》DIIOP》端口和验证等都启用,一般缺省即可; 4、Internet协议》DII

Gavid0124的专栏 1940

使用VIVADO 2019.1 搭建以太网接口

以太网 MAC+SGMII->GMII接口转换 以FPGA V7为例,搭建一个千兆以太网接口。运行环境为Vivado2019.1。板卡的FPGA V7与千兆网口芯片采用SGMII互联,最终实现FPGA与上位机之间的千兆网卡通信,实际实现时,V7采用MAC + GMII ->SGMII的结构。SGMII接口使用1G/2.5G Ethernet PCS/PMA or SGMII ip核,MAC层使用Tri Mode Ethernet MAC ip核。 由于MAC层IP不支持SGMII接口,因此需要G

qq_44641513的博客 8414

原来DIIOP是这么用的!!!

java通过diiop无法取得与domino的连接!代码为:     import   lotus.domino.*;         public   class   DomConnect   {     public   static   void   main(String[]   args)   {     Session   session=null;     String   

与青春有关的日子 1085

当LightGBM推理遇上GPU:3种替代方案性能对比(含ONNX实战代码)

本文针对LightGBM官方不支持GPU推理的性能瓶颈,深度评测了RAPIDS cuML、ONNX Runtime GPU和Triton Inference Server三种GPU加速推理替代方案。通过详尽的性能对比和实战代码,为高并发、低延迟的在线预测场景提供了清晰的选型指南,帮助工程师打破推理性能枷锁,实现显著的吞吐量提升。

salt9的博客 813

【华为OD技术面试手撕真题】25、验证IP地址 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

验证IP地址 华为od机试真题,华为OD技术二面,华为od机考,华为od手撕真题,华为od技术二面,华为od机试,华为OD机试的高频手撕代码题,华为od八股文

KJ.JK 4043

java 访问 domino_用Java通过DIIOP远程操作Domino服务器

public abstract class Domino {private final String host="dminoHost";private final String user="steeven";private final String pwd="password";private final String IOR = "IOR:010000002900000049444c3a6c6f...

weixin_29338361的博客 212

Qt C++ 电子海图与作战叠加(Overlay)系统

lab_pos->setText(QString("坐标: X%1 Y%2").arg(p.x(),0,'f',0).arg(p.y(),0,'f',0));lab_distance->setText(QString("距离: %1 海里").arg(dist,0,'f',1));lab_bearing->setText(QString("方位: %1°").arg(bear,0,'f',1));// 绘制S-57海图基底。scene->addText("封锁线").setPos(450,180);

寒寒豆豆软件公司的博客 496

怎样用Java远程操作Domino服务器

用Java远程操作Domino服务器的例子1.服务器必须启动DIIOP服务,Domino控制台命令:load diiop(启动DIIOP服务)2.推荐用IOR的方式访问Domino服务器,其它方式可能需要服务器设置为匿名访问,用IOR匿名和不允许匿名都可以3.通过String Ior=NotesFactory.getIOR("127.0.0.1","admin","password")

品寂寞、悟人生 3045

Claude Code 实战 从零教你用 Claude Code 干活

Claude Code 实用指南:AI 编程助手的核心功能与使用技巧 Claude Code 是 Anthropic 推出的智能编程助手,可直接在本地环境中执行操作,相比传统 AI 对话工具具有显著优势:能直接读取项目文件、自动执行修改、记忆项目规则,并支持连接外部服务。本文详解其安装配置、三大核心场景(资料搜索、网页抓取、文章撰写)及进阶功能(Skills、MCP协议、斜杠命令)。特别提供了工作模式切换、CLAUDE.md配置文件等实用技巧,并附常见问题解决方案,帮助用户高效利用这一"坐在身边的

2401_84052244的博客 7437

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

[Domino]使用DIIOP必须作的DOMINO手动设置

使用DIIOP必须作的DOMINO手动设置 编写者 日期 关键词 郑昀@ultrap

.NET博文收藏 1452

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java访问Domino(Java,Domino,diiop,远程访问)-(转载)

Java访问Domino(Java,Domino,diiop,远程访问)-(转载) 一、概述 Java 对 Domino Objects 的访问是通过高级包 lotus.domino 进行的。根据运行时环境,这个包中的接口是在 其他两个包中的一个包中实现的: lotus.domino.local 提供了从同一计算机上的 Notes/Domino 软件进行调用。 lotus.domi

adeyi的专栏 2345

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Java访问Domino(Java,Domino,diiop,远程访问 )

<br />http://hi.baidu.com/wangyan_0507/blog/item/502042073155bc7d02088194.html<br />一、概述<br />Java 对 Domino Objects 的访问是通过高级包 lotus.domino 进行的。根据运行时环境,这个包中的接口是在其他两个包中的一个包中实现的:<br />lotus.domino.local 提供了从同一计算机上的 Notes/Domino 软件进行调用。<br />lotus.domino.cso 提

eyetee的专栏 725

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

应用场景 我们需要通过Java远程访问IBM Lotus Domino R6和R5服务器,从中获取用户邮箱的邮件信息等关键数据。我们不需要提供每一个用户密码以及ID文件。 我们的具体做法是,通过Domino ORB,来使得Domino Server与Java远程交互,双方使用IIOP来交互和交换对象数据。 访问的Domino服务器必须配置本文讲述的四个设置,否则会在Domin

JAVA之迷 1300

用 Java 访问 Domino 的对象(三)

管理 远程访问 Domino 时还需要对服务器进行一些配置。运行 Domino 的计算机必须可以通过 TCP/IP 协议进行访问。在计算机的网络设置中,需要检查 TCP/IP 属性中主机名和域名的设置。必须能够从客户端的计算机 ping 到 Domino 服务器的 Internet 名称。例如,服务器的主机名是 myhost,域名是 east.acme.com,则服务器的 Internet 名

后天等的专栏 2485

java 访问 domino_Java通过DIIOP远程访问Domino

Java应用程序远程通过DIIOP协议访问Domino服务器,服务器端需要启动DIIOP任务,Java应用程序端需要 NCSO.jar,我写了一个类,直接调用即可获得Lotus Session,具体如下:public class ConLotusServer extends Thread {String host=null,user="",pwd="";boolean IsCon = false;...

weixin_35120567的博客 290

用 Java 访问 Domino 的对象(四)--DIIOP

访问控制 客户端的程序可以得到什么存取级别取决于createSession 的使用方式和服务器/客户端的设置。访问控制是通过以下两种方式之一实现的: Domino 目录中的用户名及其 Internet 口令。 这种方式对本地调用和远程调用都可以使用。对于本地调用,所访问的必须是 Domino 服务器。当前 Notes ID (Notes.ini 文件中 KeyFileName 参数所...

ama7449的博客 251
上一篇: 有什么参考资料?
下一篇: Java开发工具与开发环境问答集
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值