本主题仅适用于 IBM Business Automation Workflow Advanced 配置。

导出绑定中的函数选择器

函数选择器用于指示应该对请求消息中的数据执行的操作。 函数选择器配置为导出绑定的组成部分。

请考虑公开某个接口的 SCA 导出。 该接口包含两项操作 - Create 和 Update。 该导出具有从队列中读取内容的 JMS 绑定

消息到达队列后,将向导出传递相关联的数据,但应该对所连接的组件调用该导出的接口中的哪项操作呢? 该操作由函数选择器和导出绑定配置确定

函数选择器将返回本机函数名(发送该消息的客户机系统中的函数名)。 然后,该本机函数名映射至与该导出相关联的接口上的操作名或函数名。 例如,在下图中,函数选择器返回入局消息中的本机函数名 (CRT),该本机函数名将映射至 Create 操作,并且业务对象将发送至具有 Create 操作的 SCA 组件。
图 1. 函数选择器
此图说明函数选择器如何返回本机函数名,然后将该函数名映射到 create 对象。

如果该接口只有一项操作,那么无需指定函数选择器。

多个预先打包的函数选择器可用并且列示在下面各部分中。

JMS 绑定

下表列示可以与下列绑定配合使用的函数选择器:
  • JMS 绑定
  • 通用 JMS 绑定
  • WebSphere® MQ JMS 绑定
表 1. 适用于 JMS 绑定的预定义的函数选择器
功能选择器 描述
适用于简单 JMS 数据绑定的 JMS 函数选择器 使用消息的 JMSType 属性来选择操作名称。
JMS 头属性函数选择器 返回头中的 JMS 字符串属性 TargetFunctionName 的值。
JMS 服务网关函数选择器 通过检查客户机所设置的 JMSReplyTo 属性确定请求是单向还是双向操作。

WebSphere MQ 绑定

下表列示可以与 WebSphere MQ 绑定配合使用的函数选择器。

表 2. 适用于 WebSphere MQ 绑定的预定义的函数选择器
功能选择器 描述
MQ handleMessage 函数选择器 将 handleMessage 以值的形式返回,然后通过使用导出方法绑定将 handleMessage 映射至接口上的操作名称。
MQ 使用 JMS 缺省函数选择器 从 MQRFH2 头的文件夹的 TargetFunctionName 属性中读取本机操作。
MQ 使用消息主体格式作为本机函数 查找最后一个头的 Format 字段并将该字段以字符串形式返回。
MQ 类型函数选择器 通过检索包含在 MQRFH2 头中找到的 Msd、Set、Type 和 Format 属性的 URL 在导出绑定中创建方法。
MQ 服务网关函数选择器 使用 MQMD 头中的 MsgType 属性来确定操作名称。

HTTP 绑定

下表列示可以与 HTTP 绑定配合使用的函数选择器。

表 3. 适用于 HTTP 绑定的预定义的函数选择器
功能选择器 描述
基于 TargetFunctionName 头的 HTTP 函数选择器 使用来自于客户机的 TargetFunctionName HTTP 头属性来确定在运行时从导出调用哪个操作。
基于 URL 和 HTTP 方法的 HTTP 函数选择器 使用来自客户机且后面追加了 HTTP 方法的 URL 中的相对路径来确定对导出定义的本机操作。
基于带有操作名的 URL 的 HTTP 服务网关函数选择器 如果“operationMode = oneway”已附加到请求 URL,那么它可根据该 URL 来确定要调用的方法。
注: 您也可以使用 IBM® Integration Designer 创建自己的功能选择器。 可以在 IBM Integration Designer 文档中找到有关创建函数选择器的信息。 例如,可以在 MQ 函数选择器的概述中找到有关为 WebSphere MQ 绑定创建函数选择器的描述。