本文目錄一覽:
- 1、java怎麼調用domino中soap編碼格式為doc/原意的webservice
- 2、JAVA通過DIIOP連接domino6正常,連接8.5出錯,懸賞求助
- 3、java調用domino資料庫
- 4、java 訪問 domino資料庫 怎麼設置查詢條件
- 5、java怎麼訪問Domino資料庫
- 6、請教高手java可以訪問操作lotus 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/zh-tw/n/301736.html