My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > IBM专区 > WebSphere > WebSphere综合
创建简单的 HTTP Web 服务网关服务
作者:佚名 时间:2005-09-11 19:24 出处:互连网 责编:小渔
              摘要:使用 WebSphere Application Server V6 创建简单的 HTTP Web 服务网关服务

级别: 初级

Bob O'Hanlon , 软件工程师, IBM

2005 年 2 月 23 日
2005 年 8 月 22 日 更新

本文描述了如何创建 Web 服务网关,配置现有的后端 Web 服务,然后通过 IBM® WebSphere® Application Server V6 中的 SOAP/HTTP 协议测试它们的调用。

概述

WebSphere Application Server V5 中的 Web 服务网关已重新建立在 V6 中的服务集成总线(以下称为总线)和 Web 服务支持的基础之上。网关实则是一个工具,它为管理员提供了一种通过总线映射 Web 服务的简便方法。它支持映射各种协议。在本文中,Web 服务调用使用一种协议 (SOAP/HTTP)。SOAP/HTTP 请求传入网关,然后又通过 SOAP/HTTP 重定向到外部服务。本文指导您完成创建网关服务的整个过程。





配置

计划配置如图 1 所示。该关系图描述了请求和响应如何流过总线,并重点说明了配置网关服务的必要步骤,如下所示:

  1. 创建端点侦听器和应答目的地,并将其连接到总线。
  2. 在总线上创建网关实例。
  3. 在网关实例中创建网关服务,包括创建和配置:
    • 网关的请求目的地和响应目的地
    • 出站服务和入站服务目的地
    • 出站端口和入站端口目的地
    • 入站端口

 


图 1. 计划配置概述
图 1. 计划配置概述

我们将使用 Application Server 管理控制台完成此配置。本文假定已经配置了总线,并完成了 WebSphere Application Server Information Center 中 SIBWS - Completing the installation 的步骤。在本文中,我们将 DeveloperWorksBus 作为 SIBus 名称。

创建端点侦听器

端点侦听器是 SOAP/HTTP 消息进入网关的入口点。在创建网关服务之前,您将需要配置端点侦听器。

  1. 从管理控制台的导航窗格中选择 Servers => Application servers
  2. 在内容窗格中选择 server_name
  3. Additional Properties 下选择 Endpoint Listeners => New
    图 2. 配置端点侦听器
    图 2. 配置端点侦听器
  4. 在端点侦听器页上指定下列值:
    • NameSOAPHTTPChannel1
    • URL Roothttp://host_name:port_number/wsgwsoaphttp1。这将成为服务端点的上下文路由。
    • WSDL serving HTTP URL Roothttp://host_name:port_number/sibws。这将成为 WSDL 地址的上下文路由。
  5. 单击 OK
  6. 选择端点侦听器 SOAPHTTPChannel1
  7. Additional Properties 下选择 Connection Properties
  8. 选择 New,然后选择 DeveloperWorksBus
  9. 单击 OK,保存配置。




创建网关实例

网关实例为您提供用于 Web 服务请求的单点管理,其中选定的用户可以启用和控制对 Web 服务的访问。在创建网关服务之前,您必须创建网关实例。

  1. 从管理控制台导航窗格中选择 Service integration => Buses
  2. 在内容窗格中选择DeveloperWorksBus
  3. Additional Properties 下选择Web service gateway instances
  4. 在 Web 服务网关实例页上选择 New
    图 3. 创建网关实例
    图 3. 创建网关实例
  5. 在 Web 服务网关实例创建页上,指定下列值:
    • NameDeveloperWorksGateway。(这是本文所选的任意名称;您可以按自己的意愿命名网关。)
    • Gateway namespacehttp://developer.works. (同样,这也是一个任意指定的名称;您可以按照自己的意愿为该网关实例提供特定的名称空间。)
    • Default proxy WSDL URLhttp://host_name:port_number/sibws/proxywsdl/ProxyServiceTemplate.wsdl。这是提供的缺省代理 WSDL。
  6. 应用并保存更改。




创建网关服务

当创建网关服务时,您需要将其与一个外部服务相关联。您可以通过在创建网关服务时提供外部服务 WSDL 来实现这一操作。网关服务是从网关实例的管理功能中创建的。如果您使用本文所提供的示例,则需要安装应用程序 StringService.ear。

  1. 从导航窗格中选择 Service integration => Buses
  2. 在内容窗格中选择 DeveloperWorksBus
  3. Additional Properties 下选择 Web service gateway instances
  4. 在 Web 服务网关实例页上选择 DeveloperWorksGateway
  5. 在 DeveloperWorksGateway 页上的 Additional Properties 下选择 Gateway services
  6. 在网关服务页上选择 New
  7. 选择 WSDL-defined Web service provider 作为目标服务的类型。
  8. 单击 Next。新的网关服务向导打开。下面部分描述如何通过该向导来创建网关服务。

 

步骤 1:指定网关服务和目的地名称

在这一步,我们将为网关服务和目的地指定名称。


图 4. 指定网关服务和目的地名称
图 4. 指定网关服务名称、服务目的地和中介
  1. 输入下列值:
    • Gateway service nameDeveloperWorksGatewayService。(这是一个任意指定的名称;您可以按照自己的意愿命名网关服务。)
    • Gateway request destination nameDWGSRequestDestination。该目的地处理网关的请求消息。
    • Gateway response destination nameDWGSResponseDestination. 该目的地处理网关的响应消息。(网关响应和请求目的地名称是任意指定的。)

    注意:在应用程序服务器中,将目的地定义为服务集成总线中的虚拟位置,应用程序作为生产者和/或使用者附加在其中来交换消息。

    由于我们在这里不使用中介,因此只要求有上面的值即可。

  2. 单击 Next

步骤 2: 定位目标服务 WSDL

在这一步,我们将提供外部服务 WSDL 地址。


图 5. 定位目标服务 WSDL
图 5. 定位目标服务 WSDL
  1. 输入下列值:
    • WSDL location typeURL
    • WSDL location:您希望使用的 WSDL URL 或 WSDL 文件。如果您使用的是示例应用程序,则 URL 是: http://host_name:port_number/StringService/wsdl/stringService.wsdl
  2. 单击 Next

步骤 3: 选择服务

在这一步,我们将在 WSDL 中选择希望配置的服务。示例应用程序中仅有一个缺省选择服务。


图 6. 选择服务
图 6. 选择服务

单击 Next

步骤 4: 选择端口

在这一步,我们将在 WSDL 中选择希望配置的端口。示例应用程序中仅有一个端口。


图 7. 选择端口
图 7. 选择端口

选择缺省端口并单击 Next

步骤 5: 命名服务和端口目的地

在这一步,我们将外部服务设置为出站服务,并将它的目的地与在步骤 1 中创建的网关请求和回应目的地相关联。向导根据 WSDL 在该页上为您设置一些缺省值。您可以按照自己的意愿重写这些值。


图 8. 命名服务和端口目的地
图 8. 命名服务和端口目的地
  1. 如果您使用的是示例应用程序,则输入下列值:
    • Outbound service nameStringServiceOutboundService
    • Service destination nameStringServiceOutboundServiceDestination
    • Port destination nameStringServiceOutboundPortDestination
  2. 单击 Next

步骤 6: 选择服务点和端口目的地

在这一步,我们将选择要使用的总线成员。(在最初创建总线时,您已将服务器添加到总线,以使它成为总线成员。)


图 9. 选择服务点和端口目的地
图 9. 选择服务点和端口目的地

选择总线成员并单击 Next

步骤 7: 选择端点侦听器

在这一步,我们将指定在前面创建的端点侦听器 SOAPHTTPChannel1。


图 10. 选择端点侦听器
图 10. 选择端点侦听器

单击 Next

步骤 8: 定义 UDDI 发布属性

如果希望将服务发布到 UDDI,执行这一步即可完成此操作。


图 11. 定义 UDDI 发布属性
图 11. 定义 UDDI 发布属性

选择 Finish,保存更改。





测试网关服务

现在我们已完成了对网关服务的配置,并准备测试它。和在以前的版本中一样,网关已生成一些新的可以向服务请求公开的 WSDL。如果您使用的是示例应用程序,则可以通过如下地址查看 WSDL 界面:http://host_name:port_number/sibws/wsdl/DeveloperWorksBus/DeveloperWorksGatewayService

您可以将 ?wsdl=bindings 或者 ?wsdl=porttypes 分别追加到该 URL 来查看 WSDL 绑定和端口类型定义。

如果您使用的是示例客户机,则可以从 WSDL 界面和绑定派生该网关服务的动态调用界面 (DII) JAX-RPC 调用所需的参数,如下所示:

  • Operation namespacehttp://service.string
  • Service namespacehttp://developer.works/Service
  • Endpointhttp://host_name:port_number/wsgwsoaphttp1/soaphttpengine/DeveloperWorksBus/ DeveloperWorksGatewayService/SOAPHTTPChannel1InboundPort

使用带有这些参数的 stringClient 测试网关服务:
java stringClient <Endpoint_Address> <Operation_Namespace> <Service_Namespace> <string>

客户机发送一个字符串,服务应该成功返回您所发送的字符串。





结束语

现在,我们已经使用 Web 服务网关将现有 Web 服务作为总线中的目的地,然后通过向导将该目的地公开为网关 Web 服务。当完成该向导时,所有的配置构件都已经创建和配置好了。您也可以通过在 Application Server 管理控制台中单独配置出站服务、入站服务以及端口来得到相同的结果,但这里给出的方法要简单的多。此外,您还了解了使用网关服务的好处。

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有