WebSphere Business Integration Connect 可以通过 HTTP 传输协议向 4.2.2 之前版本的 WebSphere InterChange Server(ICS)发送文档以及从其接收文档。
注:
本节提供如何配置 4.2.2 之前版本的 InterChange Server 以及相应的兼容 ICS 的组件,以通过 HTTP 与 Business Integration Connect 一起使用的下列信息:
本节提供了下列信息,以描述如何通过 HTTP 传输协议将文档从 Business Integration Connect 发送到 4.2.2 之前版本的 ICS:
从 Business Integration Connect 发送到 InterChange Server 的文档会启动 InterChange Server 中的事件通知。
Business Integration Connect 可以通过 HTTP 传输协议将文档发送到下列 4.2.2 之前版本的 InterChange Server。
要使 Business Integration Connect 能使用 HTTP 传输协议将文档发送到 4.2.2 之前版本的 ICS,需要配置这两个组件。表 45 中概述了这些配置步骤。
表 45. 配置 Business Integration Connect 和 InterChange Server
组件 | 版本 | 更多信息 |
---|---|---|
WebSphere Business Integration Connect | 4.2.2 |
|
WebSphere InterChange Server | 4.1.1,4.2.0,4.2.1 | 创建用于 HTTP 的 4.2.2 之前版本的 ICS 构件 |
另外,要通过 HTTP 传输协议将文档发送到 ICS,您可以使用表 46 中列出的兼容 ICS 的组件。其中的大多数组件是作为 Business Integration Connect 发行版一部分提供的。
表 46. 通过 HTTP 将文档发送到 4.2.2 之前版本的 ICS 所需的组件
图 9 提供了 Business Integration Connect 如何通过 HTTP 传输协议将文档发送到 4.2.2 之前版本的 ICS 的概述。
图 9. 通过 HTTP 传输协议从 Business Integration Connect 到协作的消息流
如图 9 所示,WebSphere Business Integration Connect Servlet 是兼容 ICS 的组件,Business Integration Connect 可以与其直接交互。该 Connect Servlet 是 访问客户机,它是 InterChange Server 外部过程,可以请求执行 ICS 协作。该访问客户机从名为服务器访问接口的应用程序编程接口(API)发出调用,以与 ICS 进行交互。WebSphere InterChange Server Access 接收并解释这些调用,前者是 ICS 内部的一个组件,ICS 用于处理与访问客户机的交互。服务器访问接口同步调用协作 。
注:
以下步骤描述了 Business Integration Connect 如何通过 HTTP 传输协议将文档发送到 ICS 中的协作,以此来参与事件通知的:
Business Integration Connect 将文档发送到指定为目标网关的 URL。
HTTP 请求消息包含两部分:
每个 URL 都对应一个要调用的协作。(请参阅配置 Connect Servlet 以获取信息。)
由于 Connect Servlet 仅能将文档发送到 InterChange Server(它不能接收文档),所以它仅能参与 InterChange Server 的事件通知。
包装器数据处理程序的任务是将 Java 字符串转换成相应的业务对象结构。它是 InterChange Server 期望作为输入的业务对象。
在 HTTP 属性业务对象中设置 HTTP 头,该业务对象是这个有效负载业务对象的动态元对象的子代。
包装器数据处理程序期望有效负载业务对象能有一个分等级的结构。有关该有效负载业务对象的结构信息,请参阅创建用于发送文档的业务对象定义。
请确保将要调用的协作对象的协作端口配置为外部端口。请参阅 WebSphere InterChange Server 文档,以获取有关如何配置端口的详细信息。
是否填充响应业务对象(在顶级业务对象内)取决于 InterChange Server 与 Business Integration Connect 之间交互的类型,具体如下:
要了解更多信息,请参阅响应业务对象。
WebSphere Business Integration Connect Servlet 是一个访问客户机,它是 InterChange Server 的外部过程,可以请求执行 InterChange Server 内的协作。该访问客户机从名为服务器访问接口的应用程序编程接口(API)使用调用,以与 ICS 进行交互。WebSphere InterChange Server Access(InterChange Server 的组件,负责处理与访问客户机的交互)接收到这些调用并对它们进行解释。
Connect Servlet 的配置包括下列步骤:
Connect Servlet、包装器数据处理程序和包装器数据处理程序的库文件在 Business Integration Connect
的安装盘中都可获得的,其位置在表 47 中列出。
该 servlet 可以连接至 WebSphere InterChange Server V4.1.1、4.2.0 和 4.2.1。 可以在支持任意这些 InterChange Server 版本的平台上部署该 servlet。另外,您需要确保该平台上支持服务器访问接口。参阅 WebSphere InterChange Server 文档,以获取您正使用的 ICS 版本所支持的平台的列表。
要部署表 47 中的组件,请遵循这些步骤:
这些文件可以在 InterChange Server 产品目录的 lib 子目录中找到。
注:
可以在 Business Integration Connect 安装介质的下列目录中找到这些文件:
integration/wbi/wics/http/lib/thirdparty
如果 Connect Servlet 与 InterChange Server 不在一台机器上,则您可以采取下列操作之一,以使 .ior 文件可用:
如通过 HTTP 将文档发送到 4.2.2 之前版本的 ICS所述,servlet 属性文件中包含了 WebSphere Business Integration Connect Servlet 调用协作所需的信息,比如端口名和谓词。您必须创建该 servlet 属性文件,指定有关 WebSphere InterChange Server 的常规信息。然后,对于您希望该 servlet 调用的任何协作,提供关于该协作的信息。
本节提供了关于如何设置 Connect Servlet 属性的下列信息:
servlet 属性文件包含了表 48 中所列的组成部分。
servlet 属性文件的组成部分 | 描述 | 了解更多信息 |
---|---|---|
一般信息 | 用于标识 InterChange Server 实例的属性 | 标识 InterChange Server 实例 |
协作信息 | 用于标识每个要调用协作的属性 | 标识要调用的协作 |
日志记录信息 | 用于配置 servlet 日志记录的属性 | 指定 servlet 日志文件的位置 |
标识 InterChange Server 实例:
Connect Servlet 属性文件的第一部分包含了一般信息,用以标识与 Business Integration Connect
进行通信的 InterChange Server 实例。该 ICS 实例包含 Business Integration Connect 需要调用的协作。表 49 显示了 servlet 属性文件的一般属性。
属性名 | 描述 | 示例 |
---|---|---|
ICS_SERVERNAME | WebSphere InterChange Server 所运行的主机。 | Server1 |
ICS_VERSION | WebSphere InterChange Server 的版本号。可能的值有 4.1.1、4.2.0 和 4.2.1。 | 4.2.0 |
ICS_IORFILE |
可互操作对象引用(.ior)文件的文件名,它用来访问 WebSphere InterChange Server Access。这个示例显示了如何指定 Windows 系统上的路径。
| c:/myiorlocation/
Server1ICS.ior |
ICS_USERNAME | 连接 WebSphere InterChange Server 的用户标识。 | admin |
ICS_PASSWORD | 连接 WebSphere InterChange Server 的密码。 | null |
ICS_ENCRYPTED_PASSWORD | 指出 ICS_PASSWORD 是否进行加密。如果对密码进行加密,则 servlet 将这个字段设置成 true。 | false |
ICS_DISABLEENCRYPTION | 指出密码加密功能已禁用(true)还是已启用(false)。如果想让密码进行加密,则将这个字段设置成 false。 | true |
Connect Servlet 属性文件的第二部分包含了协作信息,它将协作 URL 与相关的协作属性相关联。这一部分用两部分标识了协作 URL,如下所示:
它在这个文件中指定了整数数目的 URL:
相关的协作属性具有格式为 WBIC_URL_count_propertyName 的属性名。表 50 定义了这些 WBIC_URL_count_propertyName 属性的样本。在“示例”列中,该表提供了第一个协作 URL(count 为 1)的 WBIC_URL_count_propertyName 属性的样本值。
属性名 | 描述 | 示例 |
---|---|---|
WBIC_SERVLET_COUNT |
这个文件中所配置的 URL 数:
| 1 |
WBIC_URL_1 | 相对 URL 的名称 | PurchaseOrder |
WBIC_URL_1_COLLAB | 协作的名称 | PurchaseOrderCollab |
WBIC_URL_1_PORT | 协作的端口名 | From |
WBIC_URL_1_VERB | 协作所预定的谓词 | Create |
WBIC_URL_1_WRAPPER_MIME | 包装器数据处理程序所支持的 MIME 类型。请注意示例是小写的。 | wbic/wrapper |
WBIC_URL_1_CHARENCODE | HTTP 请求所用的字符编码。请指定有效的 Java 字符编码。 | UTF-8 |
servlet 属性文件的协作部分提供了相对 URL,以标识要执行的协作。为了能够在运行时查找协作,Connect Servlet 将下列几条信息合并起来:
例如,如果您使用表 50 中所示的样本值,则 Connect Servlet 需要获取 PurchaseOrderCollab 协作的 URL。为查找该 URL,servlet 采取了下列步骤:
Servlet 包含来自您 Web 服务器的 servlet URL。例如,假定您在下列位置部署了 Connect Servlet:
http://www.yourcompany.com/tasks
在表 50 中,WBIC_URL_1 属性包含值“PurchaseOrder”。因此,Connect Servlet 将把这个字符串追加到 servlet URL,以获得协作的下列 URL:
http://www.yourcompany.com/tasks/PurchaseOrder
在协作属性中,WBIC_URL_1_WRAPPER_MIME 属性指定用于包装器数据处理程序的 MIME 类型。 如果您指定多个 MIME 类型,则您需要多个元对象。 请参阅创建包装器子元对象以获取信息。
指定 servlet 日志文件的位置: 日志记录属性是在 Connect Servlet 属性文件的第三部分中指定的。通过添加下列语句在属性文件中指定 servlet 日志文件的位置:
log4jappender.RollingFile.File=logFileLocation
如图 10 所示,log4jappender.RollingFile.File 属性是用来配置 Log4J 的 servlet 属性文件的一部分。为配置 Connect Servlet,您只需指定日志文件的位置,即设置 log4jappender.RollingFile.File 属性。如果您熟悉 Log4J,您也能设置它的其它属性。
样本 servlet 属性文件: 图 10展示了 servlet 属性文件的一个示例,它配置了表 49 和表 50“示例”列中的值。
# WebSphere Business Integration 的样本属性文件 # Connect Servlet ICS_SERVERNAME=Server1 ICS_VERSION=4.2 ICS_IORFILE=C:/myiorlocation/Server1InterChangeServer.ior ICS_USERNAME=admin ICS_PASSWORD=null ICS_ENCRYPTED_PASSWORD=false ICS_DISABLEENCRYPTION=true
# Collaboration properties for single collaboration WBIC_SERVLET_COUNT=1
WBIC_URL_1=PurchaseOrder WBIC_URL_1_COLLAB=PurchaseOrderCollab WBIC_URL_1_CHARENCODE=UTF-8 WBIC_URL_1_PORT=From WBIC_URL_1_VERB=Create WBIC_URL_1_WRAPPER_MIME=wbic/wrapper
#Log4J Debug Properties #Possible Categories - debug/info/warn/error/fatal #Default Category "error". Output to: stdout and RollingFile log4j.rootCategory=debug,RollingFile log4j.appender.RollingFile=org.apache.log4j.RollingFileAppender
#Log File Name log4j.appender.RollingFile.File=D:\\_DEV\\servlet.log log4j.appender.RollingFile.MaxFileSize=1000KB
#Number of backup files to keep log4j.appender.RollingFile.MaxBackupIndex=10 log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout log4j.appender.RollingFile.layout.ConversionPattern= %d{yyyy-MM-ddHH:mm:SS} %-5p [%c{1}] - %m%n
还可以在 Business Integration Connect 安装介质的 SAMPLES 目录中找到样本 servlet 属性文件。
Connect Servlet 的部署描述符 web.xml 为 servlet 提供了初始化参数。要标识 servlet 属性文件的位置,请设置这个部署描述符中的 WBIC_FILENAME 参数。该参数指定了 Connect servlet 属性文件的绝对路径名。
例如,如果图 10 中所示的样本 servlet 属性文件被称为 connectServlet.cfg,并且它位于 Connect Servlet 的部署目录中(例如 C:\WBIC\integration),则您需要将 WBIC_FILENAME 参数设置成如下值:
C:\WBIC\integration\connectServlet.cfg
包装器数据处理程序将文档由序列化格式(该格式由 Connect Servlet 从 HTTP 消息创建)转换成其相应的业务对象。当 Connect Servlet 调用协作时,它将 Business Integration Connect 发送给它的序列化格式文档发送给 InterChange Server。该协作请求被驻留在 InterChange Server 中的 WebSphere Server Access 接收。如图 9 所述,Server Access 调用包装器数据处理程序,向其传递 Business Integration Connect 文档。 数据处理程序返回相应的有效负载业务对象。
要配置包装器数据处理程序,请遵循如下步骤:
下面几节概括了配置包装器数据处理程序的步骤。要获取有关数据处理程序的一般信息,请参阅 WebSphere InterChange Server 文档集中的数据处理程序指南。
InterChange Server 需要知道包装器数据处理程序的位置,以便在运行时可以装入该处理程序。要指定位置,请采用下列步骤:
为确定要调用的数据处理程序,Server Access(位于 InterChange Server 内)检查顶级数据处理程序元对象 MO_Server_DataHandler。该文件位于 InterChange Server 产品目录的下列子目录中:
repository\edk
这个顶级元对象将 MIME 类型与子代元对象相关联,这个子代元对象中包含了数据处理程序的配置信息。因此,创建配置业务涉及到下列步骤:
您必须用包装器数据处理程序的配置信息对子代元对象进行初始化。
您必须在这个元对象中创建一个项,它将 MIME 类型与包装器数据处理程序的子代元对象名称相关联。
要配置包装器数据处理程序,必须创建其子代元对象,并用配置信息对这个子代元对象进行初始化。 数据处理程序使用这个元对象的属性来获取其配置信息,包括要进行实例化的数据处理程序类的名称。要创建这个元对象,需创建一个业务对象定义,该定义中包含表 51 中所列的属性。
属性 | 描述 |
---|---|
ClassName |
类名(必需),它指向下面这个数据处理程序类: com.ibm.bcg.integration.wbi.datahandlers. WBICWrapperDataHandler |
TopBOPrefix | 用于确定顶级业务对象名的前缀。如果为请求所配置的数据处理程序所返回的请求业务对象在其特定于应用程序的业务对象级信息中没有 wbic_mainboname 标记,则将 TopBOPrefix 添加到请求业务对象名中,从而得到顶级对象的名称。 |
wbic_request_mime |
包装器数据处理程序调用以处理请求消息有效负载的数据处理程序支持的 MIME 类型。请确保已经对这个数据处理程序进行了配置,以便 WebSphere InterChange Server Access 可以调用它。 要获取更多信息,请参阅编辑 MO_Server_DataHandler 元对象。
|
wbic_response_mime |
包装器数据处理程序将调用以处理响应消息有效负载的数据处理程序的 MIME 类型。
|
您可以为您需要使用的每个包装器数据处理程序实例定义子代元对象。例如,如果您需要仅支持一个请求 MIME 类型或一个请求 MIME 类型和响应 MIME 类型的组合,则可以创建单个子代元对象,并相应地设置 wbic_request_mime 和 wbic_response_mime 属性的缺省值。然而,如果您需要支持请求 MIME 类型和响应 MIME 类型的各种不同组合,则可以为每个受支持的组合创建一个子代元对象。
Business Integration Connect 提供以下 InterChange Server 资源库文件,它包含包装器数据处理程序的样本子元对象:
ProductDir/Integration/WBI/WICS/WBICServlet/MO_DataHandler_WBICWrapper.in
此处的 ProductDir 是您安装 Business Integration Connect 产品的目录。该资源库文件定义了包装器数据处理程序的一个实例,它被配置成调用请求和响应业务对象的定界数据处理程序。图 11 显示了名为 MO_DataHandler_WBICWrapper 的样本子代元对象。
如果您还需要支持请求消息格式为 XML 的文档,则要创建第二个子代元对象,以表示包装器数据处理程序的第二个实例。在这个子代元对象中,wbic_request_mime 属性的缺省值具有 text/xml MIME 类型。
WebSphere InterChange Server Access 使用名为 MO_Server_DataHandler 的顶级元对象,来将访问客户机能处理的 MIME 类型与支持这些 MIME 类型的数据处理程序相关联。 特别,这个顶级元对象将 MIME 类型与数据处理程序子代元对象相关联。
MO_Server_DataHandler 元对象是业务对象定义。因此,要编辑这个元对象,请在对象设计器中启动 MO_Server_DataHandler,并给它添加每个受支持的包装器数据处理程序实例的新属性。这个数据处理程序的每个实例都是请求 MIME 类型和响应 MIME 类型的唯一组合。
对于 MO_Server_DataHandler 元对象,您要进行下列修改:
该属性的属性类型就是包装器数据处理程序的子代元对象的业务对象定义(请参阅创建包装器子元对象)。
这些属性的属性类型将是相关数据处理程序的子代元对象。
例如,假设您将包装器数据处理程序配置成如图 11 所示的那样。图 12 显示了 MO_Server_DataHandler 元对象,该元对象的属性将 wbic_wrapper MIME 类型由 MO_DataHandler_WBICWrapper 子代元对象配置的包装器数据处理程序的实例关联起来。这个 MO_Server_DataHandler 元对象还将请求和响应 MIME 类型(text/delimited)与定界数据处理程序的子代元对象相关联。
图 12. 将 wbic_wrapper MIME 类型和包装器数据处理程序相关联
对于您需要支持的每种唯一的请求和响应 MIME 类型组合,请通过在 MO_Server_DataHandler 顶级元对象中添加属性来重复这个过程,其中这个属性的名称是与包装器数据处理程序实例相关联的 MIME 类型,它的类型是相关联的子代元对象名。您还要确保已配置的请求和响应 MIME 类型(及其子代元对象)存在于 MO_Server_DataHandler 中。
WebSphere Business Integration Connect Servlet 将您的文档以有效负载业务对象的格式发送到 InterChange Server。 对于 Connect Servlet,有效负载业务对象描述为层次结构的业务对象。包装器数据处理程序在接收到 Business Integration Connect 文档时创建这个业务对象层次结构。 因此,您必须创建业务对象定义以表示这个层次结构。
因为 Connect Servlet 仅参与 InterChange Server 的事件通知,所以顶级业务对象的请求和响应属性将是如表 52 所示的那样解释的。
属性 | 用途 |
---|---|
请求业务对象 | 包含来自 Business Integration Connect 的请求消息,该消息是触发协作的事件。 |
响应业务对象 | 包含响应消息,如果交互是同步的。 |
有关如何创建该业务对象结构的更多信息,请参阅为通过 HTTP 传递文档的 4.2.2 之前版本的 ICS 创建业务对象。
本节提供了下列信息以描述如何通过 HTTP 传输协议从 4.2.2 之前版本的 InterChange Server 接收来自 Business Integration Connect 的文档:
Business Integration Connect 接收来自 InterChange Server、由 InterChange Server 中的请求处理发送的文档。
Business Integration Connect 可以通过 HTTP 传输协议接收来自下列 4.2.2 之前版本的 InterChange Server 的文档。
要使 Business Integration Connect 能通过 HTTP 传输协议从 4.2.2 之前版本的 InterChange Server 接收文档,需要配置两个组件。表 45 概括了这些配置步骤。另外,要通过 HTTP 协议从 InterChange Server 接收文档,您可以使用表 53 中列出的兼容 ICS 的组件。
表 53. 通过 HTTP 从 V4.2.2 之前版本的 Interchange Server 接收文档所需的组件
组件 | 描述 | 注意事项和限制 |
---|---|---|
WebSphere Business Integration Adapter for XML
(Adapter for XML)
|
该适配器允许 InterChange Server 与应用程序交换业务对象,该应用程序以 HTTP 消息格式接收数据。Adapter for XML 和 Business Integration Connect 之间通过 URL 地址进行通信。
|
Adapter for XML 是与 Business Integration Connect 一起提供的。您必须使用 V3.1.x 或更高版本的适配器。
|
HTTP 或 HTTPS 协议处理程序 |
这个协议处理程序与 Adapter
for XML 一起工作,以将信息流发送到 URL 以及从 URL 接收信息流。
| 该协议处理程序是与 Business Integration Connect 一起提供的。 要了解更多信息,请参阅部署 HTTP 协议处理程序。 |
有效负载数据处理程序 | 该数据处理程序可以使文档有效负载在它的文档格式(通常是 XML)和它的业务对象表示之间进行转换。 | 该数据处理程序是必需的,且必须支持 MIME 类型的有效负载文档。 |
附件数据处理程序 | 该数据处理程序使包含附件的文档在其文档格式及业务对象表示之间进行转换。 | 仅当您的文档包含附件时,才需要该数据处理程序。要了解更多信息,请参阅处理带附件的文档。 |
图 13 概述了 Business Integration Connect 如何通过 HTTP 传输协议从 V4.2.2 之前版本的 InterChange Server 接收文档。
图 13. 通过 HTTP 传输协议从协作发送到 Business Integration Connect 的消息流
下列步骤描述了 Business Integration Connect 如何通过接收由 InterChange Server 内部的协作所发起的文档来参与请求处理。
请求子对象包含了特定于应用程序的信息,这些信息指向包含 Business Integration Connect 所期望的定制 HTTP 头的动态元对象。
协议处理程序读取顶级业务对象的 MIME 类型和 URL,以确定要使用的数据处理程序和接收者地址。
HTTP 协议处理程序调用数据处理程序,以将业务对象转换成 HTTP 流。
HTTP 协议处理程序在请求业务对象特定于应用程序的信息中搜索 cw_mo_conn 标记,该标记标识与动态元对象相对应的属性。如果您对文档使用的是后端集成封装方式,则可以在这个动态元对象中指定定制 HTTP 头信息。
如果该属性已填充,则协议处理程序在请求消息中设置传输级的头。在 HTTPProperties 属性内,还可以指定 content-type 标准 HTTP 头。要了解更多信息,请参阅为 V4.2.2 ICS 创建 HTTP 传输级头信息。
Business Integration Connect 侦听这个 URL,该 URL 已被配置成它的目标。
如果(Adapter for XML 的)ReturnBusObjResponse 连接器属性为 true,则调用是同步的。协议处理程序将响应消息转换成响应业务对象,并将它返回给 Adapter for XML。适配器在顶级业务对象中设置业务对象。然后将顶级业务对象返回给 InterChange Server 内的协作。
因为接收来自 InterChange Server 的文档需要使用兼容 ICS 的组件,所以您必须执行表 54 中描述的设置和配置任务。有关如何配置 Business Integration Connect 以便通过 HTTP 与 V4.2.2 之前的 InterChange Server 进行通信的信息,请参阅提供对出站文档的支持。
步骤 | 了解更多信息 |
---|---|
1. 部署 HTTP 协议处理程序。
| 部署 HTTP 协议处理程序 |
2. 配置 WebSphere Business Integration
Adapter for XML。
| 配置 Adapter for XML |
Business Integration Connect 提供了定制 HTTP 协议处理程序,以便将消息发送到 Business Integration Connect,并从 Business Integration Connection 接收消息。可以在 Business Integration Connect 安装介质的下列文件中找到这个 HTTP 协议处理程序:
Integration/WBI/WICS/WBICServlet/bcgwbiprotocol.jar
可以将这个定制协议处理程序插入 Adapter for XML V3.1.x 或更高版本。有关受支持 InterChange Server 的版本和平台,请参阅 Adapter for XML 使用指南,以了解您所使用的适配器的版本。
要将 HTTP 协议处理程序部署到 Adapter for XML,您必须让 Adapter for XML 知道 HTTP 协议处理程序的位置,以便它能在运行时装入该协议处理程序。要指定 HTTP 协议处理程序的位置,请遵循下面这些步骤:
connectors/xml
Adapter for XML 是兼容 ICS 的组件,它允许 Business Integration Connect 与 InterChange Server 以 HTTP 消息的格式交换文档。它支持 与 InterChange Server 进行的请求处理交互,如下所示:
当您为与 InterChange Server 进行通信而已配置了 Adapter for XML 时,请遵循下面这些部分的步骤来配置该适配器,以便它接受来自 Business Integration Connect 的 HTTP 消息。
如图 13 所示,Adapter for XML 协议处理程序使用数据处理程序将它从 InterChange Server 收到的业务对象转换成相应的 HTTP 流。
要指出使用哪种数据处理程序来转换有效负载,您必须采取业务对象变换中列出的步骤。另外,必须配置 Adapter for XML 以使用该有效负载数据处理程序。在连接器配置程序中,设置 DataHandlerConfigMO 连接器配置属性,以指定 Adapter for XML 用来标识数据处理程序的顶级数据处理程序元对象。请确保在用于该适配器的受支持的业务对象列表中包括顶级数据处理程序元对象的名称。
Adapter for XML 使用 JavaProtocolHandlerPkgs 连接器配置属性来标识 Java 协议处理程序包的名称。为与 Business Integration Connect 集成,确保将 JavaProtocolHandlerPkgs 属性设置成 Business Integration Connect 提供的 HTTP 协议处理程序的包名。
com.ibm.bcg.integration.wbi.utils.protocolhandlers
Adapter for XML 使用 ReturnBusObjResponse 连接器配置属性来指出是否返回响应业务对象。仅当交互为同步时,才返回响应业务对象。缺省情况下,ReturnBusObjResponse 连接器配置属性被设置成“false”。要配置 Adapter for XML 以返回响应业务对象,将 ReturnBusObjResponse 连接器配置属性设置成“true”。
要设置连接器配置属性,请使用作为 WebSphere Business Integration Adapter for XML 发行版的一部分的连接器配置程序工具。在连接器配置程序内,ReturnBusObjResponse 应该会出现在连接器配置属性中特定于连接器的选项卡上。
WebSphere Business Integration Adapter for XML 以有效负载业务对象的格式接收来自 InterChange Server 的信息。 对于 Adapter for XML,有效负载业务对象被表示成业务对象的层次结构。Adapter for XML 在接收到 Business Integration Connect 文档时创建这个业务对象层次结构。 因此,您必须创建业务对象定义以表示这个层次结构。
因为 Adapter for XML 仅参与 InterChange Server 的请求处理,所以顶级业务对象的请求和响应属性将如表 55 所示的那样进行解释。
属性 | 用途 |
---|---|
请求业务对象 | 包含来自 InterChange Server 的请求信息;协议处理程序和数据处理程序转换该信息并将它发送到 Business Integration Connect 侦听的 URL。 |
响应业务对象 | 如果交互是同步的,则包含来自 Business Integration Connect 的响应信息。 |
有关如何创建该业务对象结构的更多信息,请参阅为通过 HTTP 传递文档的 4.2.2 之前版本的 ICS 创建业务对象。
Connect Servlet 以有效负载业务对象的格式将您的文档发送到 InterChange Server。Adapter for XML 以相同的格式接收来自 InterChange Server 的文档。当接收或发送 Business Integration Connect 文档时,这两个组件都调用有效负载数据处理程序来处理该业务对象,如下所述:
因此,您必须创建表 56 所示的业务对象定义,以表示 Adapter for XML 期望的有效负载业务对象结构。
条件 | 业务对象定义 | 了解更多信息 |
---|---|---|
如果您正对您的文档使用 “无”封装或 后端集成封装且您的文档没有附件 |
有效负载业务对象的业务对象层次结构:
| 通过 HTTP 传递文档的 4.2.2 之前版本的 ICS 创建有效负载业务对象结构 |
如果您对您的文档使用后端集成封装 |
在有效负载业务对象中添加业务对象以保存传输级头信息:
| 为 4.2.2 之前版本的 InterChange Server 创建 HTTP 传输级头信息 |
如果文档包含附件(后端集成封装是必需的) | 还必须创建其它业务对象以表示附件。 | 创建与附件关联的业务对象定义 |
包装器数据处理程序(用于发送文档)以及 Adapter for XML 和 HTTP 协议处理程序(用于接收文档)都期望有效负载业务对象有相同业务对象结构。该业务对象结构由下列业务对象构成:
图 14 显示了一个有效负载业务对象定义的样本业务对象结构,其中的业务对象定义用于通过 HTTP 传输协议传递文档的 4.2.2 之前版本的 InterChange Server。
图 14. 用于 4.2.2 之前版本的 InterChange Server 的 HTTP 有效负载业务对象的业务对象结构
顶级业务对象是请求和响应业务对象的包装器。您必须为该业务对象创建业务对象定义。表 57 概括了该顶级业务对象定义的属性。
属性 | 属性类型 | 描述 |
---|---|---|
URL | 字符串 |
业务对象中数据的目的地。
|
MimeType | 字符串 |
定义了传递给 URL 的数据的内容类型和格式。
|
BOPrefix | 字符串 |
用于确定要调用哪个数据处理程序。
|
响应 | 业务对象 |
表示响应消息的子业务对象(如果您期望获得响应)。该业务对象的用途取决于它是参与请求处理还是参与事件通知。要了解关于该业务对象结构的更多信息,请参阅响应业务对象。
|
请求 | 业务对象 |
表示请求消息的子业务对象。该业务对象的用途取决于它是参与请求处理还是参与事件通知。要了解关于该业务对象结构的更多信息,请参阅请求业务对象。
|
要了解有关顶级业务对象结构的完整描述,请参阅 Adapter for XML 用户指南。
请求业务对象包含了要传递到 URL 的数据。它包含了请求消息中各种 XML 标记的属性。该请求业务对象的用途取决于它参与以下哪个 InterChange Server 任务:
要了解更多信息,请参阅创建用于发送文档的业务对象定义。
要了解更多信息,请参阅创建用于接收文档的业务对象定义。
有关请求业务对象结构的基本描述,请参阅 Adapter for XML 用户指南。 要和 Business Integration Connect 一起使用,您必须对请求业务对象定义的结构进行两项定制:
该属性提供了有关消息头的配置信息。要了解更多信息,请参阅为 4.2.2 之前版本的 InterChange Server 创建 HTTP 传输级头信息。
特定于应用程序的信息的标记 | 描述 | 是否必需? |
---|---|---|
wbic_mainboname | 给顶级业务对象取名 | 是 |
cw_mo_conn | 指定动态元对象,该元对象包含了 HTTP 传输级头字段。要了解更多信息,请参阅为 4.2.2 之前版本的 InterChange Server 创建 HTTP 传输级头信息。 | 否(仅当使用后端集成封装时才需要这个标记) |
响应业务对象包含了要从 URL 接收的数据。它包含了响应消息中各种 XML 标记的属性。该响应业务对象的用途取决于它参与以下哪个 InterChange Server 任务:
无论该响应是事件通知的一部分还是请求处理的一部分,只有当 Business Integration Connect 和 InterChange Server 之间的交互是 同步的,并且期望获得对请求的业务响应时,才发送响应业务对象。如果出现这种情况,那么您还必须采用下列这些额外的步骤:
此标记有下列语法:
wbic_type=reply
如果未指定这个标记,则包装器数据处理程序使用(顶级业务对象中的)wbic_response_mime 属性所指示的子代元对象来确定用于响应的数据处理程序。
如果 Business Integration Connect 和 InterChange Server 之间的交互是 异步的,则 Business Integration Connect 不需要响应,因此您无需创建响应业务对象。
对于 cXML 文档,可以使用 XML 对象发现代理(ODA)来创建业务对象。XML ODA 可以使用 cXML DTD。但是请注意,XML ODA 不支持 ENTITY。 因此。在运行带 XML ODA 的 cXML DTD 之前,您需要从 DTD 中除去 ENTITY。
当使用 XML ODA 生成业务对象时,您可以选择 cXML 标记作为您的根元素。但是,这可能会生成一个大业务对象,捕获整个 cXML DTD。如果您想创建较小的业务对象,可以选择另一个标记作为根元素,这需要您为 Data Handler for XML 编写一个定制名称处理程序。数据处理程序将调用这个名称处理程序以进行顶级业务对象名称解析。请参阅 Data Handler for XML 文档以获取关于编写定制名称处理程序的信息。
如果您正通过 HTTP 传输协议发送 以后端集成封装的文档,那么您的请求业务对象需要包含定制的传输级头信息。 包装器数据处理程序和 Adapter for XML 都期望这个定制头信息位于 动态元对象中。
图 15 显示了请求业务对象的业务对象结构,该请求业务对象中表示了通过 HTTP 传输协议传递的、以后端集成封装的 Business Integration Connect 文档。
请通过执行下列步骤来确保业务对象结构包含了动态元对象:
下面几节中逐一描述了这些步骤。
HTTP 属性业务对象包含了后端集成封装所需的 HTTP 属性。它还可以包含 Content-Type 属性(该属性指定要在请求消息中设置的 content-type 头)和 content-length 属性(该属性指定消息长度,长度单位为字节)。表 4 描述了各个有效传输头字段。
要创建 HTTP 属性业务对象定义,请执行下列步骤:
所有属性的属性类型都为“字符串”。您可以用 HTTP 属性的确切名称命名属性(如表 4 的头字段列中所列的那样)。
这个特定于属性级应用程序的信息具有以下格式:
name=HTTPproperty
其中 HTTPproperty 是表 4 的头字段列中的值之一。
在图 15 中,HttpProps_BusObj 业务对象定义包含了各种传输头字段的属性。这些属性都有特定于属性级应用程序的信息,以指定相关协议头的名称。例如,x-aux-sender-id 属性具有如下特定于应用程序的信息:
name=x-aux-sender-id
动态元对象包含了一个子业务对象,该业务对象中包含了用于 HTTP 头信息的配置信息。请务必确保业务对象结构包含动态元对象。动态元对象的业务对象定义必须包含名为 HttpProperties 的属性,其属性类型是 HTTP 属性业务对象的业务对象定义(请参阅创建 HTTP 属性业务对象)。
例如,在图 15 中,HttpDynMO_BusObj 业务对象定义包含了 HttpProperties 属性,其属性类型为 HttpProps_BusObj。
请求业务对象定义表示从 Business Integration Connect 请求的信息。有关如何创建请求业务对象的信息,请参阅请求业务对象。为将动态元对象并入您的有效负载业务对象结构中,您必须对您的 请求业务对象定义进行下列修改:
该属性的属性类型是动态元对象的业务对象定义(请参阅创建 HTTP 动态元对象)。
cw_mo_conn 标记的格式如下:
cw_mo_conn=dynamicMetaObjAttr
其中 dynamicMetaObjAttr 是包含动态元对象的请求业务对象中的属性名。
例如,在图 15 中,名为 HttpDynMO 的属性被添加到请求业务对象定义 WBIC_HttpRequest_BusObj 中。该属性包含了动态元对象,该对象是类型 HttpDynMO_BusObj 的子业务对象。另外,已经对请求业务对象的特定于应用程序的信息进行了修改,使之包含下列 cw_mo_conn 标记,以标识这个动态元对象:
cw_mo_conn=HttpDynMO
要配置 4.2.2 之前版本的 InterChange Server 以通过 HTTP 传输协议与 Business Integration Connect 进行通信,您必须创建如表 59 所示的 InterChange Server 构件。
表 59. 用于通过 HTTP 传输协议与 4.2.2 之前版本的 ICS 进行通信的构件
ICS 构件 | 目的 | 了解更多信息 |
---|---|---|
业务对象定义 | 表示文档 | 为通过 HTTP 传递文档的 4.2.2 之前版本的 ICS 创建业务对象 |
连接器对象(仅需要请求处理) | 在运行时表示 Adapter for XML | 创建 XML 连接器对象 |
协作模板和协作对象 | 表示 InterChange Server 用于处理文档的业务流程 | 绑定协作以与 Adapter for XML 通信 |
为了支持通过 HTTP 传输协议利用 4.2.2 之前版本的 InterChange Server 进行请求处理,您可以使用 Adapter for XML 将文档发送到 InterChange Server。要在运行时获取 Adapter for XML 的实例,请在“系统管理器”中采用下列步骤:
有关如何配置 Adapter for XML 以和 Business Integration Connect 一起使用的信息,请参阅配置 Adapter for XML。
如=创建协作所描述的,要使 InterChange Server 知道从哪接收以及向哪发送业务对象,则协作对象在运行时必须存在。当您为将信息发送到 Business Integration Connect 的协作创建协作对象时,帮定其端口。对于请求处理,设置“目标”协作端口,该端口使用 Adapter for XML 将请求发送到 Business Integration Connect、您为 Adapter for XMP 创建的连接器对象;也就是说,Adapter for XMP 是目的地适配器。