1、启用Domino服务器DIIOP任务
控制台输入:load diiop
修改notes.ini配置ServerTask段,添加“DIIOP”
2、修改Domino服务器安全配置
如果从Internet文档加载配置还需要配置iiop站点文档
3、编写Java代码
引用Notes.jar(适用于本地调用,在Domino程序目录下)或者 NCSO.jar(适用于远程调用,在Domino数据目录下)
示例:
import lotus.domino.*;
/**
* 远程调用
*/
public class DIIOPDemo{
/**
* @param args
*/
public static void main(String[] args) {
try
{
String strHostName = "localhost.com";
String strDIIOPPort = "63148";
String strUser = "admin";
String strPwd = "12345678";
// Get IOR using Web server port
//String ior = NotesFactory.getIOR(strHostName);
// // OR Get IOR From local file
// FileInputStream fin = new FileInputStream("c:\diiop_ior.txt");
// InputStreamReader fisr = new InputStreamReader(fin);
// BufferedReader br = new BufferedReader(fisr);
// String ior = br.readLine();
// fin.close();
// Create session using DIIOP port
//Session s = NotesFactory.createSessionWithIOR(ior, strUser, strPwd);
Session s = NotesFactory.createSession(strHostName + ":" + strDIIOPPort, strUser, strPwd);
System.out.println("Domino Server Name:" + s.getServerName());
}
catch(NotesException ne){
System.out.println(ne.id + " " + ne.text);
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
}
}
}
其他
Tell DIIOP show config 查看DIIOP配置
错误处理
DIIOP Server: Unable to obtain the server's name or IP address
服务器文档 设置全限定的 Internet 主机名为ip地址
NotesException - 4457 Could not get IOR from HTTP Server
检查是否启用DIIOP、HTTP,匿名HTTP是否启用
如果是R5的话把连接DIIOP的HOST NAME中把63148端口去掉试试
参考:Java 对 Domino Objects 的访问,第 1 部分
Java 对 Domino Objects 的访问,第 2 部分