在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设计元素并按上面设置,代码如下:
public class DbInfo { public String dbName; public String dbSO; } import lotus.domino.*; import lotus.domino.types.*; public class DbInfoManager { public DbInfo[] getAllDbInfo() { DbInfo[] di = new DbInfo[2]; try {……… } catch(Exception e) { e.printStackTrace(); } return di; } }
然后在Vs2005中添加web Service的wsdl描述,就可以使用该web Service提供的类和方法了,很简单吧。
发表评论
-
Notes 和 Domino 已知限制
2008-01-13 10:11 808Notes 和 Domino 已知限制 功能测试 限制数据库的 ... -
TinyMCE与Domino集成
2008-02-03 12:27 805TinyMCE与Domino集成一:TinyMCE简介 Tin ... -
domino server端的Notes.ini详解
2008-02-19 08:46 1073Web代理监控与调式问题 Web代理在服务器的执行优先 ... -
Lotus开发之Lotus Notes中域的验证
2008-03-10 11:41 1335一:介绍 Lotus中的域主要有以下的类型:文本,日 ... -
以Ajax方式显示Lotus Notes视图的javasript类库----NotesView2
2008-03-28 20:52 729一:简介 NotesView2是一个使用javascript开 ... -
[转载]资深程序员点评当前某些对Lotus Domino 的不实评论
2008-04-09 13:30 1043实现机关办公自动化工作需要计算机技术的支持 ... -
Undokumentierte @Formeln/LotusScript im Lotus Notes Client/Server
2008-05-16 17:29 1241Erstellung von Replik-IDs mitt ... -
操作Domino数据库的设计元素
2008-05-27 15:46 1043在Domino的数据库中有数据文档和设计文档两种文档。设计文档 ... -
开发可复用的从Domino中导出数据到Excel的类
2008-08-08 16:13 1042在domino开发中我们不可避免的要和报表打交道,一般就是生成 ... -
Lotus开发基本性能优化
2008-08-09 14:31 516一:一般的原则1. 视图 ... -
Notes中几个处理多值域的通用函数
2008-12-29 14:21 6861.查找出查找内容在多值域中的索引值getItemIndex( ... -
关于Domino数据库的软删除
2009-02-03 20:40 933在Domino的数据库属性的 “高级” 附签(选择文件-> ... -
Lotus开发性能优化
2009-06-23 21:30 1010之前也总结过一篇关于 ...
相关推荐
在Lotus Domino中应用WebService,Domino的WebService服务
在Domino中使用在webservice和其他异构系统做交互,详细方法与代码实现
一个很简单的调用domino自己的webservice的例子,包括java,loutsscript,javascript三种方式调用,部署具体查看里面的readme.txt,保证可以运行。
java webservice flash在domino中的使用
Lotus_Domino 中应用webservice
Domino_webservice应用技巧.docxDomino_webservice应用技巧.docxDomino_webservice应用技巧.docxDomino_webservice应用技巧.docxDomino_webservice应用技巧.docxDomino_webservice应用技巧.docxDomino_webservice...
Domino_webservice应用技巧.pdfDomino_webservice应用技巧.pdfDomino_webservice应用技巧.pdfDomino_webservice应用技巧.pdfDomino_webservice应用技巧.pdfDomino_webservice应用技巧.pdfDomino_webservice应用技巧....
DOMINO webservice打包工具,基本DOMINO平台 开放设计
Domino R8+版本编写及调用webservice
lotus domino webservice建立和调用
webService添加basic验证,为了WebService的安全,将webservice添加basic验证,用户在调用时需要提供授权信息进行调用
对WebService的调用方,添加头部验证信息
使用dBarcodeQR.jar开发包进行开发
让lotus domino louts script 程序可以调用webservice 服务的程序包,本人称IBM网站上找到,可以比较好的解决基于lotus 6.x 平台的程序调用webservice服务的问题。
WebService实现步骤(包括WEBSERVICE的demon)