在domino中寫webservice可以使用LotusScript,也可以使用java,由于LotusScript API提供的功能多數都是操作domino資料庫中文檔的,在web service中也有一些限制,具體如下:
1. 不要使用原生 LotusScript 類(如 NotesDatabase、NotesDocument 等)作為參數或傳回值。
2. 不要使用變量或貨币資料類型作為參數或傳回值。
3. 不要使用清單或數組作為參數或傳回值(可以使用數組,不過必須使用稍後在本文中所描述的一種特定資料類型)。
4. 不要使用定制類型作為參數或傳回值。
而java的基礎類庫中則包含的豐富的功能,是以複雜的webservice使用LotusScript編寫不是很友善,我們就都是使用java來編寫的。
1. 在domino7.0中web服務是一個新的設計元素,我們來看下相關設定,先是基本标簽:

1.1.注意 如果修改了WSDL接口則發出警告 選項:選中這個選項,如果隐式的 WSDL 結構更改時,例如,改變類名稱、改變方法或函數的名稱以及添加或删除類變量,那麼将導緻服務顯示一條消息。在生産環境中,這樣的改變可能會引起現有消費您的 Web 服務的軟體客戶機,由于解析更改了的 Web 服務響應結構産生的錯誤而停止工作。設定這一選項還能夠阻止您儲存這樣的更改并給您一個将代碼修改回原來狀态的機會。在建立和測試階段不需要設定這一選項。
1.2.在 PortType 類 域中,指定了這個特定服務的類中包含的可用操作(方法和函數)。通俗的說它就是 Web 服務代碼中帶有使用者可通路的 public 方法的類。如果在沒有設定這個域之前試圖儲存 Web 服務,那麼 Domino Designer 7 客戶機将産生一個警告。
2.安全性标簽
2.1.使用調試資訊編譯java代碼的選項,使在控制台上檢視哪一行代碼産生了運作時錯誤成為可能。為web服務建立簡要表 選項允許為概要分析收集運作時的統計資訊。
2.2. 允許公共通路使用者使用此web服務:該選項使得僅擁有資料庫 ACL 中 “Read Public Documents” 通路權的使用者可以使用該 Web 服務,當不想為大量使用者授予完全的 Reader 通路權限(或更進階别)時,這點很有用。
3.進階标簽
3.1可以在兩個程式設計模型選項中進行選擇:RPC 和 消息。RPC 支援正常方法參數和傳回類型;消息限制方法接口為一個 “消息” 參數和傳回類型(有關更多資訊,請參閱聯機文檔)。對于 RPC 程式設計模型,RPC/編碼 SOAP 消息格式是預設的,但是如果有使用其他格式的特殊要求,那麼可以修改它。對于 消息 程式設計模型,SOAP 消息格式是在 Doc/literal 中固定的。(大多數情況下使用 RPC)。
3.2 端口類型名稱、服務元素名稱 和 服務端口名稱 域是在您儲存 Web 服務時自動填充。在端口類型名稱域中,指定通路服務的端口類型名稱。這個指定對應于 WSDL 文檔中 <wsdl:portType> 的 name 屬性。對于每個服務,Lotus Domino 7 識别一個端口類型。在服務元素名稱域中,指定服務的名稱。預設情況下,該字段值是 PortType 名稱加上單詞 Service(盡管您可以使用任何想用的名稱)。這個指定對應于 WSDL 文檔中 <wsdl:service> 的 name 屬性。在服務端口名稱域中,指定通路服務的端口。預設情況下,該字段值是 Domino(盡管您可以使用任何想用的名稱)。這個指定對應于 WSDL 文檔中 <wsdl:service> 下面 <wsdl:port> 的 name 屬性。對于每個服務,Lotus Domino 7 識别一個端口。
4.注意:解釋 LotusScript 的 Web 服務引擎把所有公開的函數和變量名更改為大寫字母。例如,當 Lotus Domino 7 自動生成 WSDL 時, GetEmailAddress 更改為 GETEMAILADDRESS。當您為這樣一個 Web 服務建立消費客戶機時,知道這一更改是重要的。不過java寫的web service不會轉為大寫的。還是java的好,都是大寫的看着不舒服。
5.舉例說明,我們建立一個WebService設計元素并按上面設定,代碼如下:
<a href="http://11011.net/software/vspaste"></a>
然後在Vs2005中添加web Service的wsdl描述,就可以使用該web Service提供的類和方法了,很簡單吧。
本文轉自生魚片部落格園部落格,原文連結:http://www.cnblogs.com/carysun/archive/2008/11/26/DominoWS.html,如需轉載請自行聯系原作者