您的位置:

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来验证的,需要手动输入密码;