通过 Lotus Domino Java 代理消费 Web 服务作为 IBM Lotus Domino 7 的新特性,Web 服务设计元素是向世界公开服务的主要途径。但是您知道使用 Apache Axis 框架消费 Web 服务是多么容易吗?本文获得如何利用 Apache Axis 和 Lotus Domino 7 技术创建 Web 服务消费者的知识。 本文向您展示了如何创建 Domino Java 代理消费 Web 服务。它使用 Apache Axis 生成 Java 存根并读取 WSDL 文件。我们提供一个包含可以在本文以下部分使用的 Web 服务的数据库示例。更多信息请参见 “下载” 部分。 本文假设您是一个有经验的 Lotus Notes 和 Domino 应用程序开发人员,熟悉新的 Domino Web 服务设计元素。要学习有关新的 Domino Web 服务设计元素的更多知识,请参阅 developerWorks Lotus 文章 “Lotus Notes/Domino 7 Web Services”。 Web 服务的组件 Web 服务包含几个组件。这些组件包括:
WSDL 文件 WSDL 是 Web 服务安装的粘合剂(glue)。每个 Web 服务发布一个 WSDL 文件,该文件包含它可以处理哪些方法和自变量的信息,以及不同方法返回什么对象的信息。本文使用的是一个包含简单 Web 服务的数据库(在本实例中,是 Lotus Domino 7 数据库)。 尽管这个 Web 服务很简单,但是这个服务的 WSDL 文件是十分详细的。当然,这么详细的一个原因是 WSDL 文件使用详细的格式,XML。可是,考虑到 WSDL 文件包含 Web 服务发送和接收的所有对象的描述,这个文件大小不算过分。本文 Web 服务例子的 WSDL 文件有一个名为 ComplexClass 的 Java 类,代码片段如下所示:
面向服务体系结构 面向服务体系结构(Service-Oriented Architecture,SOA)在过去的十年已经出现。简单地说,SOA 是一种软件体系结构,它更多地集中于业务而不是公用的、技术驱动的解决方案。它基本上是以消费者-提供者方式设计用于 Web 服务的体系结构。SOA 方法分离各个层,消费者通过服务层与业务对象进行交互,而不是直接进行交互。 关于 SOA 的更多信息,请参阅 developerWorks SOA 和 Web 服务上的 SOA and Web services 新手入门 页面。 Web 服务使用的协议 Web 服务消息不受使用 HTTP 的限制。它也可以使用 SMTP、Extensible Messaging and Presence Protocol(XMPP),甚至 FTP。但是,必须遵守 SOAP;否则,接收系统就很难解释消息。在老一点儿的系统上,可以找到 XML-Remote Procedure Call(XML-RPC),但是 SOAP 是目前正确的协议。 Web 服务的好处是您不必研究各种协议和标准:所有这些都由应用服务器和开发工具处理。在这个例子中,Apache Axis 帮助您解释 WSDL 并生成 Java 代码存根。 数据库示例 在开始使用 Apache Axis 工具前,必须有一个发布 WSDL 文件的 Web 服务。在本文的 “下载” 部分,有两个数据库示例:WebServiceConsumer.nsf 和 MyWebService.nsf。它们的名称表明了它们的作用。在把 MyWebService.nsf 下载到 Lotus Domino 7 服务器之后,用可以运行受限代理的 ID 标记 Web 服务设计元素 —— MyWebservice。WebServiceConsumer.nsf 仅供参考。 Apache Axis Apache Axis 是一个包括 SOAP 服务器和许多生成并部署 Web 服务的不同工具的完整框架。在本文中使用通信部分和 WSDL2Java 方法。但是,首先必须安装 Apache Axis。 先决条件 在可以构建、测试和部署本文中描述的解决方法前,必须具备如下条件:
我们假设您已经安装了 Lotus Domino 7,并且您知道如何获得 Java 环境并运行。(本文的 “参考资料” 部分提供了所有必须下载的链接。) 上一篇:在R6中如何把所有外来的smtp邮件都自动地拷贝到一个数据库中 下一篇:没有了 更多相关文章
|
推荐文章
精彩文章
|