创建 JMS 的业务对象定义

Adapter for JMS 以有效负载业务对象的形式向 InterChange Server 发送文档以及接收来自它的文档。当 Adapter for JMS 接收或发送 Business Integration Connect 文档时,Adapter for JMS 调用有效负载数据处理程序以处理该业务对象,如下所示:

因此,您必须创建表 75 中显示的业务对象定义,以表示 Adapter for JMS 期望的有效负载业务对象结构。


表 75. Adapter for JMS 的业务对象定义
条件 业务对象定义 了解更多信息
对于消息,如果您正在使用 “无”或 “后端集成”封装,并且文档没有附件

有效负载业务对象

创建用于 JMS 的有效负载业务对象结构.
对于文档,如果正在使用“后端集成”封装

用于保存消息头信息的业务对象:

  • 动态元对象
  • JMS 属性业务对象

创建 JMS 头信息.
如果文档包含附件 还必须创建其它业务对象来表示这个附件。 创建与附件关联的业务对象定义

创建用于 JMS 的有效负载业务对象结构

JMS 传输协议有效负载业务对象的结构取决于如下的封装类型:

注:
对于请求处理,JMS 传输协议支持 异步交互。您可以发送 请求业务对象,但不能获得响应。因此,必须创建请求业务对象定义,而不是用于响应的业务对象定义。

创建 JMS 头信息

如果通过 JMS 传输协议接收或发送文档,而这些文档使用 “后端集成”封装, 请求业务对象需包含定制的传输级头信息。Adapter for JMS 期望该定制的头信息在其动态元对象中。

图 22 显示了业务对象结构,结构是 Adapter for JMS 将该结构用于请求业务对象,以表示使用后端集成封装的 Business Integration Connect 文档。

注:
Adapter for JMS 用户指南提供了关于这个必需的业务对象结构的信息。当定义业务对象定义时,请参阅本指南。

图 22. 请求业务对象与 JMS 动态元对象的关系


请通过采用下列步骤来确保业务对象结构包含了动态子元对象:

  1. 创建业务对象定义以保存“后端集成”封装所需的 JMS 属性。
  2. 为动态子元对象创建业务对象定义。
  3. 修改请求业务对象的业务对象定义,以包含动态元对象的属性。

下面几节逐一描述了这些步骤。

创建 JMS 属性业务对象

JMS 属性业务对象包含传输级头所需的 JMS 属性, 它是“后端集成”封装所需的。它还可以包含内容类型属性(该属性指定要在请求消息中设置的内容类型头)和内容长度属性(以字节为单位,指定了消息长度)。表 4 描述了各个有效传输头字段。

要创建 JMS 属性业务对象定义,请采用下列步骤:

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

    所有属性的属性类型都为“字符串”。对于 JMS 信息,传输头字段的名称使用下划线代替连字符,如表 76 中所示。

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

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

    name=JMSproperty;type=string
     

    其中 JMSproperty表 76 中的 JMS 属性名列的一个值。

  3. 对于 JMS 属性业务对象定义中的任何属性,可以为传输级字段添加缺省值来指定公共(或仅有效)值。

表 76. JMS 属性业务对象定义的属性
传输头字段 JMS 属性名
x-aux-sender-id x_aux_sender_id
x-aux-receiver-id x_aux_receiver_id
x-aux-protocol x_aux_protocol
x-aux-protocol-version x_aux_protocol_version
x-aux-process-type x_aux_process_type
x-aux-process-version x_aux_process_version
x-aux-create-datetime x_aux_create_datetime
x-aux-msg-id x_aux_msg_id
x-aux-production x_aux_production
x-aux-system-msg-id x_aux_system_msg_id
x-aux-payload-root-tag x_aux_payload_root_tag
x-aux-process-instance-id x_aux_process_instance_id
x-aux-event-status-code x_aux_event_status_code
x-aux-third-party-bus-id x_aux_third_party_bus_id
x-aux-transport-retry-count x_aux_transport_retry_count
content-type content_type
content-length content_length

注:
表 76 没有提供后端集成所需头的详尽列表。有关头的完整列表和描述,请参阅传输级头的内容。请务必用下划线替代传输头字段名中的所有连字符。

图 22 中,JMSProps_BusObj 业务对象定义包含了各种传输级头字段的属性。这些属性都有特定于应用程序的属性级信息以指定相关协议头的名称。例如,x_aux_sender_id 属性有如下的特定于应用程序的信息设置:

name=x_aux_sender_id;type=string
 

创建 JMS 动态元对象

这个动态元对象包含了一个子业务对象以及 Adapter for JMS 的配置信息。要创建动态元对象的业务对象定义,请遵循以下步骤:

  1. 创建名为 JMSProperties 的属性,该属性类型是 JMS 属性业务对象的业务对象定义(请参阅创建 JMS 属性业务对象)。
  2. 相应地添加其它配置属性。有关动态元对象中有效属性的列表,请参阅 Adapter for JMS 用户指南。 请查阅本指南以获取关于如何创建属性以配置动态元对象的信息。

为了使 Adapter for JMS 和 Business Integration Connect 一起工作,动态元对象的业务对象定义必须包含名为 JMSProperties 的属性,这个属性的属性类型是JMS 属性业务对象(请参阅创建 JMS 属性业务对象)的业务对象定义。例如,在图 22 中,JMSDynMO_BusObj 业务对象定义包含了各配置属性的属性(未列出)并包含了 JMSProperties 属性。

修改请求业务对象定义

为将业务对象结构合并到请求业务对象中,必须对请求业务对象定义做以下修改:

  1. 将一个属性添加到请求业务对象定义中,以保存动态子元对象。

    该属性的属性类型是动态元对象的业务对象定义(请参阅创建 JMS 动态元对象)。

  2. cw_mo_conn 标记添加到请求业务对象定义的特定于应用程序的业务对象级信息中,以标识包含动态元对象的属性。

    cw_mo_conn 标记的格式如下:

    cw_mo_conn=dynamicMetaObjAttr
     

    其中 dynamicMetaObjAttr 是包含了动态元对象的请求业务对象中的属性名。

例如,在图 22 中,已经将名为 JMSDynMO 的属性添加到请求业务对象定义 WBIC_JMSRequest_BusObj 中。该属性包含了动态元对象,这是类型为 JMSDynMO_BusObj 的子业务对象。另外,已经对请求业务对象的特定于应用程序的信息进行了修改,使之包含下列 cw_mo_conn 标记,以标识这个动态元对象:

cw_mo_conn=JMSDynMO
 

Copyright IBM Corp. 1997, 2004