2024年3月18日发(作者:)

Lotus Notes/Domino 7 Web Services

Web 服务是可以通过在 Internet 上发送消息来调用的远程操作的档案。Web 服务

供应商发布用于查询和使用的 Web 服务,而 Web 服务消费者调用来自这些服务

的操作。Web 服务供应商提供了定义服务接口的 WSDL(Web Services

Description Language,Web 服务描述语言)文档。WSDL 文档是 XML 格式的。

接口的底层由供应商实现,但大多数供应商将接口映射为支持的编程语言的过程调

用。来自消费者的入站请求传递给底层代码,然后结果返回给消费者。

Lotus Domino 将 WSDL 接口映射为可以用 LotusScript 或 Java 编码的类似代

理的 Web 服务设计元素。要被使用,Web 服务必须位于启用 HTTP 的 Domino

服务器上。(我们可以通过 Notes 客户机预览中的 HTTP 会话测试 Web 服务。)

通过下列 Domino URL 命令之一进行访问:

 ?OpenWebService 调用 Web 服务以响应通过 HTTP POST 发送的 SOAP 编码消

息。HTTP GET(例如,浏览器查询)返回服务的名称及其操作。

 ?WSDL 返回 WSDL 文档以响应 HTTP GET。

本文描述 Lotus Notes/Domino 7 中的 Web 服务器设计元素,并提供了设计元素

的 LotusScript 和 Java 示例。本文假设您是了解 LotusScript 或 Java 的经验丰

富的 Notes 应用程序开发人员。

示例

让我们看一个简单的例子。给定数据库名称、视图名称和文档号,我们的操作返回

Subject 项的内容。我们将调用操作 getNthSubject。

图 1. getNthSubject 图表

要让该操作可用于外部世界,将其发布在名为 GetSubject 的 Web 服务中。

GetSubject 可以包含任意数目的操作。例如,可能发现 getFirstSubject 和

getLastSubject 都有用。但现在只处理示例操作 getNthSubject。下列代码段摘自

描述包含这样一个操作的 Web 服务的 WSDL 文档。下面看一下代码段及其注释。

(4)

(5)

(5)

(5)

(4)