将 HTTP 传输协议用于 ICS

WebSphere Partner Gateway 可以通过 HTTP 传输协议和 WebSphere InterChange Server(ICS)相互收发文档。

注: 如果您正通过 HTTP 传输协议交换 SOAP 文档,则请参阅通过 HTTP/S 发送 SOAP 文档

本部分提供了有关如何配置 InterChange Server 以及相应的适配器以供通过 HTTP 与 WebSphere Partner Gateway 一起使用的下列信息:

通过 HTTP 传输将文档传递到 ICS 所需的组件

为使 WebSphere Partner Gateway 能使用 HTTP 传输协议与 InterChange Server 进行通信,需要配置这两个组件。表 41 中概括了这些配置步骤。

表 41. 配置 WebSphere Partner Gateway 和 InterChange Server
组件 版本 了解更多信息
WebSphere Partner Gateway 6.0

通过 HTTP 传输协议将文档发送到 ICS 的配置

通过 HTTP 传输协议从 ICS 接收文档的配置

WebSphere InterChange Server 4.2.2 或更高版本 创建用于 HTTP 的 ICS 构件

另外,为使用 HTTP 传输协议在 WebSphere Partner Gateway 和 InterChange Server 之间收发文档,您可以使用表 42 中列出的组件。

表 42. 通过 HTTP 使用 InterChange Server 传输文档所需的组件
组件 描述 注意事项和限制

WebSphere Business Integration Adapter for HTTP

(Adapter for HTTP)

该适配器允许 InterChange Server 与以 HTTP 流格式发送或接收数据的应用程序交换业务对象。

使用 Adapter for HTTP V4.2.1。
有效内容数据处理程序 该数据处理程序使文档有效内容在其文档格式(通常为 XML)和业务对象描述之间进行转换。 该数据处理程序是必需的,并且它必须支持的 MIME 类型为有效内容文档。
附件数据处理程序

该数据处理程序处理文档消息的附件文档。

当文档包括附件时,才需要该数据处理程序。

下面几部分描述了表 42 中的组件是如何协作以通过 HTTP 传输协议在 WebSphere Partner Gateway 和 InterChange Server 之间发送和接收文档。

如何通过 HTTP 将文档发送到 ICS

要使 WebSphere Partner Gateway 能使用 HTTP 传输协议将文档发送到 InterChange Server,可以使用 Adapter for HTTP 检索 WebSphere Partner Gateway 以 HTTP 流发送的文档。 该适配器然后将文档路由到 InterChange Server。图 18 概述了 WebSphere Partner Gateway 如何通过 HTTP 传输协议将文档发送到 InterChange Server。

图 18. 通过 HTTP 传输协议从 WebSphere Partner Gateway 到协作的消息流
本图显示了如何将一个文档发送到 WebSphere Partner Gateway,WebSphere Partner Gateway 如何将 HTTP 请求消息发送到 Adapter for HTTP,Adapter for HTTP 如何调用有效内容数据处理程序,以及 Adapter for HTTP 如何将结果业务对象发送到协作。

如何通过 HTTP 从 ICS 接收文档

要使 WebSphere Partner Gateway 能通过 HTTP 传输协议从 InterChange Server 接收文档,请使用 Adapter for HTTP,它以 HTTP 流的形式发送来自 InterChange Server 的消息,以供 WebSphere Partner Gateway 检索。图 19提供了 WebSphere Partner Gateway 如何通过 HTTP 传输协议从 InterChange Server 接收文档的概述。

图 19. 通过 HTTP 传输协议从协作发送到 WebSphere Partner Gateway 的消息流
本图显示了如何将一个业务对象从协作发送到 Adapter for HTTP,Adapter for HTTP 如何调用有效内容数据处理程序,以及 Adapter for HTTP 如何将产生的 HTTP 流发送到 WebSphere Partner Gateway。

设置使用 ICS 的 HTTP 传输环境

因为无论是将文档发送到 InterChange Server 还是接收来自 InterChange Server 的文档都要调用适配器和数据处理程序,所以您必须在Adapter for HTTP 上执行设置和配置任务。有关如何配置 WebSphere Partner Gateway 以通过 HTTP 与 InterChange Server 协作的信息,请参阅为 InterChange Server 配置 WebSphere Partner Gateway

Adapter for HTTP 允许 WebSphere Partner Gateway 以 HTTP 消息的格式与 InterChange Server 交换文档。它支持与 InterChange Server 进行下列交互:

请注意: WebSphere Partner Gateway 包括 WebSphere Business Integration Adapter for HTTP 执行设置和配置任务。您必须单独获取该产品并按 Adapter for HTTP 用户指南中的指示信息安装它。 请参阅适配器文档,以确保适配器版本与您正在使用的 InterChange Server 版本相兼容。

当您已配置好与 InterChange Server 通信的 Adapter for HTTP 时,请遵循下面几部分中的步骤来配置该适配器,以侦听来自 WebSphere Partner Gateway 的 HTTP 消息:

指定有效内容数据处理程序

图 19 所示,Adapter for HTTP 使用数据处理程序将接收自 InterChange Server 的业务对象转换成相应的 HTTP 流。

注: Adapter for HTTP 调用的数据处理程序转换文档有效内容。如果您的文档使用 XML 传输包络(它包含附件或者“包络标志”为“是”),则请将附件数据处理程序配置为有效内容数据处理程序。要了解更多信息,请参阅处理带附件的文档

要指出使用哪个数据处理程序来转换有效内容,您必须采取业务对象变换中列出的步骤。另外,必须配置 Adapter for HTTP 以使用该有效内容数据处理程序。您可以以下列任一方式设置有效内容数据处理程序:

配置协议处理程序包名

Adapter for HTTP 使用 JavaProtocolHandlerPackages 连接器配置属性来标识 Java 协议处理程序包的名称。为与 WebSphere Partner Gateway 集成,请确保将 JavaProtocolHandlerPackage 的属性设置成其缺省值:

com.ibm.net.ssl.internal.www.protocol

配置 HTTP 协议侦听器

Adapter for HTTP 支持层次结构性的配置属性以获取配置其协议侦听器所需的信息。顶级配置属性称为 ProtocolListenerFramework。该顶级属性内存在多个级别的子属性。 要配置这里的协议处理程序以和 Adapter for HTTP 一起使用,确保按照以下步骤配置 ProtocolListener 中的属性:

  1. 在下列配置属性下配置带子属性的协议侦听器:
    ProtocolListenerFramework
        ProtocolListeners
           HttpListener1

    要配置协议侦听器,请设置表 43 中列出的子属性。

    表 43. 配置协议侦听器
    属性 描述
    协议

    协议侦听器类型:

    • HTTP
    • HTTPS

    httphttps

    主机 协议侦听器侦听的 IP 地址 运行 WebSphere Partner Gateway 的本地计算机的 IP 地址
    端口 协议侦听器侦听请求的端口 8080
  2. 通过配置下列配置属性的子属性,配置协议侦听器支持的 URL:
    ProtocolListenerFramework
        ProtocolListeners
           HttpListener1
              URLsConfiguration
                 URL1

    ContextPath 属性设置成协议侦听器接收到的 HTTP 请求的 URI。

    注: 该目录必须是 WebSphere Partner Gateway 指定的目标 URI。要了解更多信息,请参阅通过 HTTP 传输协议将文档发送到 ICS 的配置
  3. 如果您的文档包含附件,您必须配置协议侦听器转换,通过设置下列配置属性的子属性来完成上述配置:
    ProtocolListenerFramework
        ProtocolListeners
           HttpListener1
              URLsConfiguration
                 URL1
                    TransformationRules
                       TransformationRule1

    要配置您协议侦听器的附件转换,请设置表 44 列出的子属性。对于您所使用的每个附件数据处理程序的实例,都需要一个转换规则。有关附件数据处理程序的更多信息,请参阅处理带附件的文档

    表 44. 配置协议侦听器的附件转换
    属性 描述
    ContentType 要使用数据处理程序转换的数据的内容类型 附件数据相关的内容类型
    MimeType 用来标识调用的数据处理程序的 MIME 类型 与附件数据处理程序实例相关的 MIME 类型
    Charset 转换指定内容类型的数据时使用的字符集 附件数据字符集

有关这些属性的更多信息,请参阅 Adapter for HTTP 用户指南

为使用 HTTP 的 ICS 创建业务对象定义

Adapter for HTTP 以有效内容业务对象的形式将文档发送到 InterChange Server 以及从其接收文档。当 Adapter for HTTP 接收或发送 WebSphere Partner Gateway 文档时,它会调用有效内容数据处理程序处理该业务对象,如下所示:

因此,您必须创建如表 45 所示的业务对象定义,以表示 Adapter for HTTP 和 Connect Servlet 需要的有效内容业务对象结构。

表 45. Adapter for HTTP 的业务对象定义
条件 业务对象定义 了解更多信息
如果对您的消息使用您的文档没有附件

有效内容业务对象:

  • 顶级业务对象
  • 请求业务对象
  • 响应业务对象(可选)
  • 故障业务对象(可选)
为使用 HTTP 的 ICS 创建有效内容业务对象结构
如果您对您的消息使用后端集成封装

将业务对象添加到有效内容业务对象以保存消息头信息:

  • 动态元对象
  • HTTP 属性业务对象
为 ICS 创建 HTTP 传输级头信息.
如果文档包含附件 还必须创建其它业务对象来表示这些附件。 创建与附件关联的业务对象定义

为使用 HTTP 的 ICS 创建有效内容业务对象结构

Adapter for HTTP 期望有效内容业务对象结构由以下业务对象组成:

图 20 演示了通过 HTTP 传输协议与 InterChange Server 一起使用的有效内容业务对象定义的样本业务对象结构。

注: 有关该业务对象结构的详细描述,请参阅 Adapter for HTTP 用户指南
图 20. 用于 ICS 的 HTTP 有效内容业务对象的业务对象结构
本图显示了一个顶级业务对象,指向一个请求业务对象和一个响应业务对象。
顶级业务对象

顶级业务对象是请求和响应业务对象的包装器。您必须为该业务对象创建业务对象定义。表 46 汇总了顶级业务对象定义的属性。

表 46. 顶级业务对象的属性
属性 属性类型 描述
MimeType 字符串

定义了被传递给 URL 的数据的内容类型和格式。

Charset 字符串

用于确定要调用哪个数据处理程序。

请求 业务对象 表示请求消息的子业务对象。该业务对象的用途取决于它是参与请求处理还是参与事件通知。要了解关于该业务对象结构的更多信息,请参阅请求业务对象
响应 业务对象 表示请求消息的子业务对象(如果您期望获得响应)。该业务对象的用途取决于它是参与请求处理还是参与事件通知。要了解关于该业务对象结构的更多信息,请参阅响应业务对象
注: 当将 Adapter for HTTP 和 WebSphere Partner Gateway 一起使用时,在顶级业务对象中无需包括故障业务对象。

表 47 汇总了顶级业务对象定义可以拥有的特定于应用程序的信息。

表 47. 顶级业务对象定义的特定于应用程序的信息
特定于应用程序的信息 标记 描述
业务对象级别 ws_mode 定义交互是同步的还是异步的
属性级别 ws_botype 定义哪个属性包含请求业务对象或响应业务对象

要了解有关顶级业务对象结构及其特定于应用程序信息的完整描述,请参阅 Adapter for HTTP 用户指南

请求业务对象

请求业务对象包含了要传递到 URL 的数据。它表示了 HTTP 请求消息。该请求业务对象的用途取决于它参与以下哪个 InterChange Server 任务:

注: 顶级业务对象将其两个子业务对象标识成“请求业务对象”和“响应业务对象”。 但是,请求处理和事件通知使用该结构。

有关请求业务对象结构的基本描述,请参阅 Adapter for HTTP 用户指南。 要和 WebSphere Partner Gateway 一起使用,您必须对请求业务对象定义的结构进行两项定制:

表 48. 请求业务对象特定于应用程序的信息中的标记
特定于应用程序的信息的标记 描述 是否必需?
ws_tloname 给顶级业务对象取名 只有当业务对象定义参与事件通知时该标记才是必需
cw_mo_http 指定 HTTP 协议配置元对象,该元对象包含了 HTTP 传输级头字段。要了解更多信息,请参阅为 ICS 创建 HTTP 传输级头信息 只有当您使用后端集成封装时该标记才是必需的

注: 如果您正使用附件数据处理程序来处理包装在 XML 传输包络中的文档,则您必须如创建与附件关联的业务对象定义中所描述的那样修改您的请求业务对象以保存附件。
响应业务对象

响应业务对象包含了要从 URL 接收的数据。它包含了响应消息中各种 XML 标记的属性。该响应业务对象的用途取决于它参与以下哪个 InterChange Server 任务:

无论该响应是属于事件通知还是属于请求处理,当 WebSphere Partner Gateway 和 InterChange Server 之间的交互是同步的,并且期望对您的请求做出业务响应时,才发送响应业务对象。

有关故障业务对象结构的基本描述,请参阅 Adapter for HTTP 用户指南。 要和 WebSphere Partner Gateway 一起使用,您必须对请求业务对象定义的结构进行一些定制:

如果 WebSphere Partner Gateway 和 InterChange Server 之间的交互是异步的,则 WebSphere Partner Gateway 需要响应,因此您无需创建响应业务对象。

为 ICS 创建 HTTP 传输级头信息

如果您正通过 HTTP 传输协议发送用后端集成封装的文档,那么您的请求业务对象需要包含定制的传输级头信息。 Adapter for HTTP 期望该定制的头信息在动态元对象中。

图 21 显示了请求业务对象的业务对象结构,该请求业务对象表示通过 HTTP 传输协议传递、以后端集成封装的 WebSphere Partner Gateway 文档。

图 21. 请求业务对象与 HTTP 协议配置元对象的关系
本图显示了一个请求业务对象指向 HttpConfigMO_BusObj 类型的业务对象,而该业务对象本身指向表示传输级头的 HttpProps_BusObj 类型的业务对象。

请通过执行下列步骤来确保业务对象结构中包含 HTTP 协议配置元对象:

  1. 创建业务对象定义以保存后端集成封装所需的 HTTP 属性。
  2. 为 HTTP 协议配置元对象创建业务对象定义。
  3. 修改请求业务对象的业务对象定义,以包含 HTTP 协议配置元对象的属性。

下面几部分中逐一描述了这些步骤。

创建用户定义属性的业务对象

Adapter for HTTP 支持用户定义属性的业务对象,以便在 HTTP 协议配置元对象中保存定制属性。WebSphere Partner Gateway 使用该业务对象来保存后端集成封装所需的 HTTP 属性。它还可以包含 Content-Type 属性(该属性指定了要在请求消息中设置的 content-type 头)和 content-length 属性(该属性指定了消息长度,长度单位为字节)。表 5 描述了各个有效的传输头字段。

要创建 HTTP 头字段的用户定义属性的业务对象定义,请遵循以下步骤:

  1. 在业务对象定义中为每个传输头字段创建属性。

    所有属性的属性类型都应当为“字符串”。您可以用 HTTP 属性的确切名称命名属性(如表 5头字段列中所列的那样)。

  2. 对于 HTTP 属性业务对象中的每个属性,添加特定于应用程序的信息,以标识相关属性的用途。

    这个特定于属性级应用程序的信息具有以下格式:

    ws_prop_name=HTTPproperty

    其中 HTTPproperty表 5头字段列中的值之一。

图 21 中,HttpProps_BusObj 业务对象定义包含了各种传输头字段的属性。这些属性都有特定于属性级应用程序的信息,用于指定相关协议头的名称。例如,x-aux-sender-id 属性具有如下所示的特定于应用程序的信息:

ws_prop_name=x-aux-sender-id
创建 HTTP 协议配置元对象

对于事件通知,请求、响应或故障业务对象可能包含名为 HTTP 协议配置元对象 的动态元对象,该元对象用来保存配置信息(如头信息)。

有关 HTTP 协议配置业务对象结构的信息,请参阅 Adapter for HTTP 用户指南。 要和 WebSphere Partner Gateway 一起使用,您必须对 HTTP 协议配置业务对象定义的结构进行以下定制:

  1. 在业务对象定义内为任何需要的字段创建属性。

    所有属性的属性类型都应当为“字符串”。

    注: 有关 HTTP 协议配置元对象中属性的完整列表,请参阅 Adapter for HTTP 用户指南
  2. UserDefinedProperties 属性添加到该业务对象定义中。

    该属性的属性类型是用户定义属性业务对象的业务对象定义(参阅创建用户定义属性的业务对象)。

例如,在图 21 中,HttpConfigMO_BusObj 业务对象定义包含 UserDefinedProperties 属性,其属性类型是 HttpProps_BusObj

修改请求业务对象定义

请求业务对象定义表示了 WebSphere Partner Gateway 所请求的信息。有关如何创建请求业务对象的信息,请参阅请求业务对象。为将动态元对象并入您的有效内容业务对象结构,您必须对您的请求业务对象定义进行下列修改:

  1. 在您的请求业务对象定义中添加属性以保存 HTTP 协议配置元对象。

    该属性的属性类型是 HTTP 协议配置元对象的业务对象定义(参阅创建 HTTP 协议配置元对象)。

  2. 在您的请求业务对象定义的特定于业务对象级应用程序的信息中添加 cw_mo_http 标记,以标识包含 HTTP 协议配置元对象的属性。

    cw_mo_http 标记的格式如下:

    cw_mo_http=HttpConfigMetaObjAttr

    其中 HttpConfigMetaObjAttr 是保存 HTTP 协议配置元对象的请求业务对象中的属性名。

例如,在图 21 中,名为 HttpConfigMO 的属性被添加到请求业务对象定义 hub_HttpRequest_BusObj 中。该属性包含动态元对象,该对象是类型为 HttpConfigMO_BusObj 对象的子业务对象。另外,已修改请求业务对象的特定于应用程序的信息,使其包含以下 cw_mo_http 标记,以标识该动态元对象:

cw_mo_http=HttpConfigMO

创建用于 HTTP 的 ICS 构件

为配置 InterChange Server 以通过 HTTP 传输协议与 WebSphere Partner Gateway 进行通信,您必须创建如表 49 所示的 InterChange Server 构件。

表 49. 通过 HTTP 传输协议与 ICS 进行通信的构件
ICS 构件 目的 了解更多信息
业务对象定义 表示文档 为使用 HTTP 的 ICS 创建业务对象定义
连接器对象 在运行时表示 Adapter for HTTP 创建 HTTP 连接器对象
协作模板和协作对象 表示 InterChange Server 用于处理文档的业务流程 绑定协作以与 Adapter for HTTP 进行通信

创建 HTTP 连接器对象

要在运行时获取 Adapter for HTTP 的实例,您必须在“系统管理器”中采取以下步骤:

  1. 创建连接器对象:
  2. 配置连接器对象

    有关如何配置 Adapter for HTTP 连接器对象以与 WebSphere Partner Gateway 一起使用的信息,请参阅设置使用 ICS 的 HTTP 传输环境

绑定协作以与 Adapter for HTTP 进行通信

创建协作中描述的,要使 InterChange Server 知道从何处接收业务对象以及向何处发送业务对象,协作对象在运行时必须存在。当您为协作创建协作对象,而该协作使用 Adapter for HTTP 与 WebSphere Partner Gateway 相互收发信息时,可以绑定协作端口,如下所示:

Copyright IBM Corp. 2003, 2005