用.NET完成Lotus與異質系統的資料互動 (轉)
用完成Lotus與異質的資料互動 :namespace prefix = o ns = "urn:schemas--com::office" />
我們用的開發平臺:
:2000+伺服器:IIS5.0+Lotus Notes/ino 5.0.3版;
XML Web Service服務開發工具:.NET Beta2;
客戶端: web頁面或者windows application。
開發步驟:
1) Lotus Notes/Domino 的Notes
新建一個Notes資料庫或者利用原有的資料庫。在這個資料庫裡面至少有一個表單,在表單裡有一些域,用來存放一些條目的資訊。再建立幾個檢視,檢視主要是用來按照一定規則顯示文件的。比如按照時間的順序或按照文件的點選率。
2) 建立XML web service服務
開啟Visual studio Beta2版,新建專案->Visual 的 web服務,刪掉預設的ASMX,新建一個Web服務頁面NewsPublish.asmx,開啟NewsPublish.asmx.cs檔案,這裡將是我們編寫的地方。右鍵點選解決方案,新增引用,選擇COM中的Lotus Domino 元件,確定後就引用了COM元件,在我們的裡面就可以訪問Notes資料庫了。好了,就可以開始編寫程式碼提供方法服務了。在這裡,筆者給出其中一個方法,GetNewByPostTime提供獲取指定數目的新聞條目的服務,每個新聞條目只是有提交時間、作者、標題、分類、文件標識號碼等基本的資訊,沒有具體的內容。以下是為部分原始碼。
GetNewsByPostTime方法:
//返回新聞條目,在一個陣列裡面
//PageSize引數為新聞條目的數目
public NewsItem[] GetNewsByPostTime(int PageSize)
{
Domino.IViewNavigator vn;
Domino.IViewEntry h;
Domino.IDocument doc;
int index=0;
NewsItem[] Result=new NewsItem [PageSize];
//連線Notes資料庫
vn=ConnectToNotes("","bbs.n","bufy_2001","All Documents",out h);
//獲取每個新聞文件的資訊
do
{
doc = h.Document;
Result[index]=new NewsItem ();
Result[index].Subject =doc.GetFirstItem ("Subject").Text;
Result[index].Category =doc.GetFirstItem ("categories").Text ;
Result[index].PostTime =doc.Created.ToString ();
Result[index].Author =doc.GetFirstItem("From").Text ;
Result[index].NewsID =doc.NoteID .ToString ();
index++;
h = vn.GetNextDocument(h);
}
while(h!=null&&index return Result; } 連線Louts資料庫的方法: //這個方法建立Notes的資料庫連線並獲取檢視的控制程式碼 public Domino.IViewNavigator ConnectToNotesDb(string pServer,string pDbFileName,string pPass,string pNotesView,out Domino.IViewEntry h) { NotesSession s=new NotesSession (); Domino.IDatabase db; Domino.IView v; Domino.IViewNavigator vn; s.Initialize (pPassword); db=s.GetDatabase (pServer,pDbFileName,false); v=db.GetView (pNotesView); vn=v.CreateViewNav(0); :h=vn.GetFirstDocument (); return vn; } 至此完成了web service服務的定義,在想釋出的web service服務上標上[WebMethod],這樣服務就可以被客戶端訪問了。 3) 客戶端的構建 客戶端可以有很多種方法可以構建,在這裡只講述用ASP web站點的連線方式。客戶端想獲取XML web service服務,除了要支援http的連線外,還要能夠解析XML文件。ASP透過呼叫元件接受XML訊息,在應DOM來解析XML文件獲取我們需要的資訊。 在這裡,筆者只列出ASP請求、接受XML服務和解析XML文件的原始碼: Dim oXMLHTTP Dim oDOM Set oXMLHTTP=Server.CreateObject ("Microsoft.XMLHTTP") Set oDOM = Server.CreateObject("Microsoft.XMLDOM") '利用post方法完成xml web service服務的請求 oXMLHTTP.open_ "POST","http://192.168.3.11/DominoXml/NewsPublish.asmx/GetNewsDetails",f_alse '利用Get方法完成xml web service服務的請求 'oXMLHTTP.open_ "GET","http://192.168.3.11/DominoXmlWebService/NewsPublish.asmx/GetNewsByCount?_ NewsID="&newsID&"",false '設定post方法引數 oXMLHTTP.SetRequestHeader_ "Content-Type","application/x-www-form-urlencoded" '傳送post資料 oXMLHTTP.send "NewsID="&newsID&"" '如果用get方法,則傳送方法如下 'oXMLHTTP.send Set oDOM=oXMLHTTP.responseXML Set theNode=oDOM.documentElement.childNodes(0) NewsID=theNode.ChildNodes(0).text Subject=theNode.ChildNodes(1).text Category=theNode.ChildNodes(2).text Count=theNode.ChildNodes(3).text PostTime=theNode.ChildNodes(4).text Author=theNode.ChildNodes(5).text Body=theNode.ChildNodes(6).text 至此,我們完成了所有的任務。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .NET App 與Windows系統媒體控制(SMTC)互動APPWindows
- .NET 實現的互動式 OA 系統
- Hive 與 ElasticSearch 的資料互動HiveElasticsearch
- Android與WebView資料互動AndroidWebView
- 區塊鏈系統可以實現資料的互動需求區塊鏈
- C# 簡單的學生資訊管理系統,好看的UI介面,與資料庫互動C#UI資料庫
- python與mysql資料庫互動PythonMySql資料庫
- 互動投影系統應用的優勢有哪些?
- vue利用axios來完成資料的互動例項及安裝方法VueiOS
- flask筆記:flask與資料庫的互動Flask筆記資料庫
- Android 與 JavaScript 互動 支援的資料型別AndroidJavaScript資料型別
- Redis資料庫4:Go與Redis的互動Redis資料庫Go
- MySQL資料庫5:Go與MySQL的互動MySql資料庫Go
- python資料庫-MySQL與python的互動(52)Python資料庫MySql
- PHP與Python進行資料互動PHPPython
- SqlSugar與資料庫互動官網SqlSugar資料庫
- Java 與底層作業系統的互動細節Java作業系統
- 資料互動
- js和原生應用常用的資料互動方式JS
- 互動式 .Net
- RN與原生互動(二)——資料傳遞
- 通過Websocket與gRPC互動 | gRPC雙向資料流的互動控制系列(2)WebRPC
- 【.NET】控制檯應用程式的各種互動玩法
- 解析大資料:從流資料攝取到互動式視覺化的完整生態系統大資料視覺化
- 華雲資料與龍蜥社群完成產品相容互認證,攜手推動開源生態體系建設與發展
- Flask資料互動Flask
- 快速上手 KSQL:輕鬆與資料庫互動的利器SQL資料庫
- 讀資料質量管理:資料可靠性與資料質量問題解決之道07異常檢測
- 與低層次互動活動相比,深層次互動活動的參與頻率更高(附原資料表)
- DataPipeline與海量資料完成產品互認證,助推資料管理信創生態新程式API
- python與使用者互動、資料型別Python資料型別
- 綠盟科技日誌審計系統與統信軟體UOS完成產品互認證
- 手把手教你完成一個資料科學小專案(3):資料異常與清洗資料科學
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- 資料互動筆記筆記
- Android FlatBuffers資料互動Android
- Android ReactNative資料互動AndroidReact
- .NET與大資料大資料
- 室外內地面互動投影系統可應用的場景有哪些?