java访问domino服务的简单介绍

本文目录一览:

java怎么调用domino中soap编码格式为doc/原意的webservice

所用到的java知识就是URL、URLConnection、HttpURLConnection三个对象,本站很多博客中有详细介绍它们的使用,我这里就不多说了。下面介绍如何访问Webservice:

首先在Domino中发布一简单的Webservice,可以从IBM官网文章中找到学习的例子,如下在Designer中使用Java编写简单Webservice(这里不详细介绍如何创建/发布Websercive):DatabaseInfo 提供一接口getUserRolesArray,通过NotesID返回其拥有的所有角色名称。

Java代码

import lotus.domino.*;

import lotus.domino.types.*;

import java.util.Vector;

public class DatabaseInfo {

private Session session;

private AgentContext agentContext;

private Database db;

public DatabaseInfo () throws Exception {

session = WebServiceBase.getCurrentSession();

agentContext = session.getAgentContext();

db = agentContext.getCurrentDatabase();

}

public String[] getUserRolesArray (String userName) throws Exception {

Document doc = agentContext.getDocumentContext();

Vector v = getRoles(userName);

return (String[])v.toArray(new String[1]);

}

//获取账号拥有的角色名称

private Vector getRoles (String userName) throws Exception {

ACL acl = db.getACL();

ACLEntry entry = acl.getEntry(userName);

if (entry == null) {

return new Vector();

} else {

return entry.getRoles();

}

}

}

其次在Designer中创建一java脚本库,用于连接、发送Soap请求、返回结果的类:WebServiceClient 提供连接方法openWSDLURL,发送Soap请求并返回结果的方法sendSOAPRequest等

最后在Designer中创建一代理,可以使用java编写代理,也可以使用Lotusscript编写代理,下面以Lotusscript编写代理,调用上面编写java类访问Websercive(用java编写代理也可以直接调用)。

详细代码设计无法直接贴在上面,以附件方式上传,请见附件。

调试过程中可以通过SoapUI(最新版SoapUI3.6)测试Webservice接口,查看其调用Webserivce时发送的Soap请求(包括header、body等信息)。

JAVA通过DIIOP连接domino6正常,连接8.5出错,悬赏求助

(1)在MyEclipse中引入Oracle 11g自带的JDBC包(如“G:\app\welcome\product\11.1.0\db_1\jdbc\lib\ojdbc6.jar”):右击java项目,选择“Build Path”、“Configure Build Path”,单击“Add External JARs”按钮,选择你的ojdbc6.jar;

(2)开户Oracle服务;

(3)编写测试代码:

import java.sql.*;

public class TestOracle {

public static void main(String[] args) {

try{

Class.forName(“oracle.jdbc.driver.OracleDriver”);

Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”, “scott”, “tiger”);

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery(“SELECT * FROM scott.emp”);

while(rs.next()){

System.out.println(rs.getInt(1) + “\t” + rs.getString(2));

}

}catch(Exception err){

System.out.println(err.toString());

}

}

}

(4)运行Java程序:

7369 SMITH

7499 ALLEN

7521 WARD

7566 JONES

7654 MARTIN

7698 BLAKE

7782 CLARK

7788 SCOTT

7839 KING

7844 TURNER

7876 ADAMS

7900 JAMES

7902 FORD

7934 MILLER

java调用domino数据库

java访问操作lotus domino数据库

有几种方式:

1、直接使用domino本身的jar文件接口,这种连接方式需要domino服务器启动diiop服务;

2、使用domino的lddj接口,接口可以到ibm的网站上去下载,这种连接方式只能在window环境下使用,需要安装notes客户端,使用id来验证的,需要手动输入密码;

3、使用corba来访问domino,这个比较烦,我至今没有调通

… pendocumentskeyword=corba发表者:slzhang

是可以通过java来取得domino的资料.也可以通过jsp来读domino里的资料,只要你在domino上打开diiop服务就可以.

附一个jsp的例子如下:

%@ page c language=”java”%

%@ page import=”com.dragon.*” %

%@ page import=”lotus.domino.*” %

%!

session sess;

database db;

view view;

document doc;

string host = “”,user = “”, pawd = “”;

%

%

try{

sess = notesfactory.createsession(“192.168.2.1″,”admin”,”12345678″);

host = sess.getservername();

user = sess.getusername();

system.out.println(“host: ” + host + “; user: ” +user);

db = sess.getdatabase(host,”fawen\\sample.nsf”,false);

view = db.getview(“jsp”);

doc = view.getfirstdocument();

out.println(db.gettitle());

}catch(notesexception ne){

system.out.println(“error: ” + ne.id + ” == ” + ne.getmessage());

}

%

html

head

titlejsp get domino data/title

/head

body

table border=”1″ bgcolor=”#ff33cc”

trth 姓名/thth性别/thth生日/thth职务/thth职称/thth 部门/th/tr

%

while(doc!=null){

%

tr

td%= doc.getitemvalue(“jname”) %/td

td%= doc.getitemvalue(“jsex”) %/td

td%= doc.getitemvalue(“jbirth”) %/td

td%= doc.getitemvalue(“jjob”) %/td

td%= doc.getitemvalue(“jjobtitle”) %/td

td%= doc.getitemvalue(“jdept”) %/td

/tr

%

doc = view.getnextdocument(doc);

}

out.println(“host: ” + host + “; user: ” +user);

doc.recycle();

view.recycle();

db.recycle();

sess.recycle();

%

/table

/body

/html

发表者:cnhxjtoa

以前我写过domino5–oracle8

以下是与domino建立链接的相关代码

import lotus.domino.*;

try {

system.out.println(“开始notes数据源进行连接….”);

session s = notesfactory.createsession(noteshost,username,userpassword);

system.out.println(“与notes数据源成功连接,现正在查找notes登录数据库oak.nsf”);

//定义全局性变量

database db = null;

database namesdb=null;

view view =null;

document doc = null;

string namesuser=””;

db = s.getdatabase(s.getservername(), sysinf.notes_dir +”/oak.nsf”);

acl acl = db.getacl();

aclentry entry = acl.getfirstentry();

namesdb=s.getdatabase(s.getservername() ,”names.nsf”) ;

view = namesdb.getview(“groups”);

do

{

//具体分析每一个对象

switch (entry.getusertype()) {

case aclentry.type_mixed_group :

//混合组

system.out.println(“混合组 “+entry.getname()) ;break;

case aclentry.type_person :

//个人

namesuser=entry.getname().substring(3,entry.getname().indexof(“/”) );

addnotesuser(namesuser);

system.out.println(“个人 : “+ namesuser) ;

break;

case aclentry.type_person_group :

//个人群组

system.out.println(“个人群组: “+entry.getname() ) ;

//names.nsf 中视图groups 文档members域有每一个用户

doc = view.getfirstdocument();

while (doc != null !doc.getfirstitem(“listname”).gettext().equals(entry.getname() ) )

{

doc = view.getnextdocument(doc);

}

if (doc!=null){

enumeration values = doc.getfirstitem(“members”).getvalues().elements();

while (values.hasmoreelements()) {

//将cn=administrator/o=autosoft只取它的名字administrator

namesuser=values.nextelement().tostring() ;

namesuser=namesuser.substring(3,namesuser.indexof(“/”) ) ;

addnotesuser(namesuser);

}

}

break;

case aclentry.type_server :

//服务器

system.out.println(“服务器 “+entry.getname()) ;break;

case aclentry.type_server_group :

//服务器组

system.out.println(“服务器组 “+entry.getname()) ;break;

case aclentry.type_unspecified :

//没有指定

if(entry.getname().indexof(“/”)1 )

{

namesuser=entry.getname().substring(3,entry.getname().indexof(“/”) );

addnotesuser(namesuser);

system.out.println(“找到一个没有指定类型的用户 “+entry.getname().substring(3,entry.getname().indexof(“/”))) ;

break;

}

else

{

system.out.println(“没有指定 “+entry.getname()) ;

break;

}

}

} while ((entry = acl.getnextentry(entry)) != null);

system.out.println(“用户导入完成”) ;

}

catch (exception ex)

{

ex.printstacktrace() ;

system.out.println(“与notes数据源连接失败” ) ;

}

java 访问 domino数据库 怎么设置查询条件

建议如下操作

1、定位如果连接domino,比如diiop连接的方式

2、能直接访问连接domino后,就可以做查询了

比如,你有当前登陆用户(username=”张三”)为条件,查询当前用户在待办库(待办库:daiban.nsf)中的的所有待办工单(state=”1″代表待办状态)(待办表单form=”dbgd”)。

1那你可以建一个视图,搜索条件为:select form = “dbgd” state = “1”

命名视图名为”chaxun1″,这样你就建好了你要搜索的视图了。

2在java中写代码咯~~

比如:

(以通过用户名密码进入取得session)

Database db = null;

Documentcollection dc = null //文档集

Document doc = null;

View view = null;

db = session.getdatabase(“domion服务器ip”,”baiban.nsf”)

view = db.getview(“chaxun1”)

dc = view.getAllDocumentsByKey(doc.getItemValueString(“张三”)

if (dc.getCount()0) {

for(int i=0; idc.getCount(); i++){

doc = dc.getNthDocument(i+1);

// …取到文档,你还不会处理么- -》》》?

}

}

我只能帮到这里了。另外附上diiop配置和一则java代理的用例的链接(本人博客非广告)。你可以参考下。(去除“度娘防吞”中文字即可)

还有什么不明白可以在我博客留言或私信我(我不是每天上百度知道,不一定马上看到)。

用例:

h度ttp娘:/防/g5dfire.sy吞nology.me:度8888娘/blo防g/#para吞m=id_29

DIIOP配置:

h度ttp娘://防g5dfire.sy吞nology.me:8度888/bl娘og/#pa防ram=吞id_26

java怎么访问Domino数据库

两种思路 1、用diiop连接访问,需要操作数据库对象,对domino的对象操作要有一些了解(知道怎么读文档读域值),不需要客户端。 2、如果对domino太不熟,且仅迁移字段数据,可以把domino的数据通过domino视图导到一个excel里面。java再去读excel。

请教高手java可以访问操作lotus domino数据库吗

可以的,有几种方式:

1、直接使用Domino本身的jar(notes.jar或NCSO.jar)文件接口,这种连接方式需要Domino服务器启动DIIOP服务;

2、使用Domino的LDDJ(Lotus Domino Drivers for JDBC)接口,接口可以到IBM的网站上去下载,这种连接方式只能在window环境下使用,需要安装notes客户端,使用ID来验证的,需要手动输入密码;

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/301736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-30 16:09
下一篇 2024-12-30 16:09

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29

发表回复

登录后才能评论