2009-11-10 32 views
0

我是蓮花筆記和多米諾骨牌服務器的新手。我希望我的iPhone應用程序能夠訪問多米諾骨牌服務器。我想從我的iPhone應用程序中的多米諾服務器獲取聯繫人。來自iPhone的Lotus Domino服務器訪問

我用它搜索了一下,發現了很多文檔。但我找不到完美的數據流。任何人都可以解釋我怎麼能從多米諾骨牌服務器得到通訊錄/日曆/郵件。

將java代理程序用於蓮花筆記的目的是什麼? 簡單來說,我想用iPhone SDK 3.0爲iPhone製作Lotus notes。

感謝,

回答

6

正如你不能使用Lotus Java庫訪問Lotus Domino的,最好的辦法是通過HTTP訪問的Lotus Domino獲取數據。 最簡單的方法(如果您沒有任何在Lotus Notes中開發的經驗)將嘗試從names.nsf(服務器目錄)和郵件數據庫中的現有視圖獲取數據。要做到這一點,你可以調用視圖具有下列參數:

http://www.yourserver.com/names.nsf/($users)?readviewentries 
http://www.yourserver.com/names.nsf/($users)?readviewentries&outputformat=JSON 

在你從視圖獲取數據每種情況下「($用戶)」中的「NAMES.NSF」數據庫,XML或JSON格式。

如果您需要比現有視圖更多的數據,我建議不要創建新視圖(因爲這意味着要修改標準模板)。爲此,我將創建一個新的數據庫,並使用代理恢復您需要的信息並以您喜歡的格式將其返回。代理只是代碼塊(通常使用LotusScript編寫,與VBasic或Java類似)。他們可以安排在特定時間或事件中運行,或者直接調用(從筆記或通過URL)。你可以把使用URL作爲這樣的代理:

http://www.yourserver.com/names.nsf/myAgent?openagent 

從代理,你可以在服務器上訪問任何數據(如果您有權限),並返回一個「text/html的/不管不是二進制」的程序請求URL。

注意:剛剛發佈的Lotus Domino 8.5.1包含ActiveSync協議,因此我不確定是否需要在iPhone中重新創建Notes客戶端。

+1

如果您使用?readViewEntries URL方法,請注意根據NAB中服務器文檔中的設置,返回的記錄數將受到限制。默認是隻返回30條記錄。您可以添加「&count = -1」來強制Domino返回「允許的最大值」,該值也在服務器文檔中定義,也可能不是完整的聯繫人集合。使用代理,你不會有這樣的限制。 – 2009-11-11 22:46:41

+0

的確,我忘了它。但是,爲了解決這個問題,我不會修改服務器的默認值。我建議追加&count = 50&start = 0,並通過結果頁面(每次更改啓動參數),直到我們到達每個視圖的末尾。 P.S.我認爲代理是最好的解決方案(因爲你基本上可以做任何你想做的事情),但是你需要一些關於Lotus開發的知識。 – salgiza 2009-11-12 08:35:53

+0

我執行代理,根據我的想法,每個用戶需要從他們的lotus Notes客戶端和多米諾設計器安裝代理。 我將不得不提供Java代理代碼。 因此,應用程序的流程將如下所示: http://www.jminteractive.com/index.php/iphone/notes_pro_server_setup/ 我對嗎? 是否有可能編寫一個代理實現所有的功能,如登錄,然後得到郵件的會話等。 而且我不應該提供代理代碼給用戶。並且我可以將我的代理安裝到多米諾服務器,所有用戶都可以使用它們的用戶名和密碼進行訪問。 謝謝.... – xmax 2009-12-30 09:41:40

2

您最初提到聯繫人,然後您提到郵件/日曆/聯繫人。你想在你的iPhone應用程序中實現什麼?如果您試圖在本地構建某種Notes客戶端,那看起來很瘋狂。已有兩種選擇:

  1. 只需使用iNotes(即Notes訪問郵件等Web訪問),這在移動Safari中運行良好;
  2. 使用IBM Lotus Traveler產品,該產品使用ActiveSync將iPhone郵件/日曆/聯繫人與iPhone上的本機客戶端配合使用。