“服务调用”调解原语属性
您可以使用 IBM® Integration Designer 用户界面中的属性字段或者使用 XML 格式来指定调解原语属性的值。在 IBM Integration Designer 中显示的属性字段名称一般不同于在使用 XML 代码构建调解流时使用的属性名称。在以下信息中,图标用于识别 IBM Integration Designer 中使用的每个属性名称以及相应的 XML 名称。(在适当情况下,还描述了 IBM Integration Designer 中未显示的必需 XML 名称。)
引用名称 referenceName
要调用的服务引用的名称。引用名称与 WSDL 接口相关。最初,引用名称是通过 IBM Integration Designer 窗口设置的,之后将无法更改。您必须创建新的“服务调用”调解原语以更改引用名称。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 字符串 注:
|
操作名称 operationName
要调用的服务操作的名称。操作名称与 WSDL 操作相关。最初,操作名称是通过 IBM Integration Designer 窗口设置的,之后将无法更改。您必须创建新的“服务调用”调解原语以更改操作名称。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 字符串 注:
|
使用动态端点(如果已在消息头中设置) useDynamicEndpoint
确定是否应该使用 SMO 头字段目标(如果存在)来覆盖引用操作指定的服务端点。您可以使用“端点查找”调解原语来设置目标字段,或者您可以自己设置该字段。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | true |
异步超时(秒) asyncTimeout
某个调用与某个延迟的响应异步时,等待响应的时间。 异步超时属性未用于与回调异步的调用。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 整数 注:
如果异步超时为 0,那么不会等待,立即进行响应。如果异步超时是 -1,那么将无限期等待。发生超时时,将触发超时终端。就重试而言,将超时视为未建模故障。 |
| 缺省值 | 5 |
使用回调以异步方式调用流组件时,要求调解流等待服务响应。 forceSync
此属性仅对请求-响应操作有效,其中调用样式属性为“异步(兼容性)”或“缺省值(兼容性)”。 将该属性设置为 true(选中该复选框),强制以同步方式执行服务调用。如果为 true,那么异步调用会导致延迟响应,而不是回调。如果整个调解流将在单个事务中运行(在此情况下,引用限定符“异步”也必须设置为“调用”,因为缺省限定符设置“落实”会导致死锁),那么将此属性设置为 true。如果将此属性设置为 false,并且调解原语参与“扇出/扇入”操作或包含在子流中,那么运行时环境将覆盖您的设置并将强制以同步方式执行服务调用。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | false |
调用样式 invocationStyle
使用同步样式时,服务与调解流在同一处理线程下执行。如果使用异步样式,在调用服务时会使用新处理线程。异步样式允许调解流在从服务接收到响应之前继续前进。调用样式可影响应用于服务调用的事务作用域,以及在服务响应失败的情况下是否可能出现超时。以下的表可以用于标识要使用哪种调用样式。
| 请求/响应 |
|---|
| 作为目标 |
| 同步 |
| 具有延迟响应的异步方式 |
| 具有回调的异步方式 |
| 异步(兼容性) |
| 缺省值(兼容性) |
| 单向 |
|---|
| 作为目标 |
| 同步 |
| 异步单向 |
| 属性 | 调用调解流组件的方式 | 目标的首选交互样式 | 调用样式 |
|---|---|---|---|
| 作为目标 | 同步 | 同步 | |
| 异步单向 | 同步 | 同步 | |
| 具有延迟响应的异步方式 | 异步或任意 | 具有回调的异步方式 | |
| 具有回调的异步方式 | |||
| 同步 | 同步 | ||
| 具有延迟响应的异步方式 | 具有延迟响应的异步方式 | ||
| 具有回调的异步方式 | 具有回调的异步方式 |
| 属性 | 调用调解流组件的方式 | 目标的首选交互样式 | 调用样式 |
|---|---|---|---|
| 作为目标 | 同步 | 同步 | 同步 |
| 异步单向 | 异步或任意 | 异步单向 | |
| 具有延迟响应的异步方式 | |||
| 具有回调的异步方式 | |||
| 同步 | 同步 | ||
| 异步单向 | 异步单向 |
| 属性 | 调用调解流组件的方式 | 目标的首选交互样式 | 使用回调以异步方式调用流组件时,要求调解流等待服务响应。 | 调用样式 |
|---|---|---|---|---|
| 异步(兼容性) | 同步 | 同步 | ||
| 具有延迟响应的异步方式或异步单向 | 具有延迟响应的异步方式 | |||
| 具有回调的异步方式 | True | 具有延迟响应的异步方式 | ||
| False | 具有回调的异步方式 | |||
| 缺省值(兼容性) | 同步、具有延迟响应的异步方式或异步单向 | 同步或任意 | 同步 | |
| 异步 | 具有延迟响应的异步方式 | |||
| 具有回调的异步方式 | 同步 | 同步 | ||
| 异步或任意 | True | 具有延迟响应的异步方式 | ||
| False | 具有回调的异步方式 |
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 |
注:
|
| 缺省值 | 缺省 |
参数映射 parameterMappings
仅在“消息富集”方式中工作时才启用参数映射表。您可以使用参数映射表来指定 XPath 表达式(这些表达式标识输入消息内要变换的元素),还指定其他 XPath 表达式(其定义必须放置响应消息元素的位置)。
| 字段详细信息 | 值和注释 |
|---|---|
|
将请求头传播至正在调用的服务 propagateRequestHeader
仅当在“消息富集”方式中工作时,才会启用将请求头传播到调用的服务复选框。如果您希望使用在输入终端收到的输入消息的头来填充发送到服务的请求消息,请选中此复选框。清除了此复选框时,从请求消息中排除该头。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | false |
从正在调用的服务传播响应头 propagateResponseHeader
仅当在“消息富集”方式中工作时,才会启用从调用的服务传播响应头复选框。如果您希望使用来自所调用服务的响应消息头填充输出消息,请选中此复选框。清除了此复选框时,将使用传递到调解原语的输入消息的头。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | false |
enrichmentMode
使用此属性来启用“消息富集”方式,其中由“服务调用”调解原语的输入终端接收的输入消息的一部分用于服务调用。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | false |
重试时间 retryOn
确定故障响应是否以及如何导致重试。该属性仅适用于请求-响应操作。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 |
注:
要启用重试,必须将重试条件属性的值设置为:任意故障、未建模故障或已建模故障。已建模故障是 WSDL 文件中显式列出的故障;任何其他故障都是未建模故障。 |
| 缺省值 | 永不 |
重试计数 retryCount
在触发输出终端之前应该重试服务调用的次数。触发的输出终端可以属于以下类型:已建模故障、超时或失败。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 整数 注:
该值可以是零或正整数。 |
| 缺省值 | 0 |
重试延迟(秒) retryDelay
两次重试尝试之间的延迟(以秒为单位)。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 整数 注:
该值可以是零或正整数。 |
| 缺省值 | 0 |
尝试备用端点 tryAlternateEndpoints
确定重试时是否应该使用 SMO 中的任何备用端点。设置为 true(选中该复选框)以尝试备用端点。
仅当同时指定了使用动态端点时,此功能才可用。如果初始服务请求返回了任何故障,并且重试计数大于零,那么备用端点列表中的第一个端点用于重试。如果重试返回故障,并且下一次重试不会超过重试计数,那么将使用下一个备用端点。使用备用端点列表中的最后一个端点后,将会再次使用初始端点。
例如,假设第一个端点为 ServiceA,备用端点为 ServiceB 和 ServiceC。如果重试计数为 5,服务调用的顺序如下:ServiceA、ServiceB、ServiceC、ServiceA、ServiceB、ServiceC。
| 字段详细信息 | 值和注释 |
|---|---|
| 必需 | 是 |
| 有效值 | 布尔值 注:
|
| 缺省值 | true |
注意事项
- 将异步超时属性设置为 -1(无限期等待)会影响性能。如果服务调用与延迟的响应异步,将耗用服务器资源,直到收到回复为止。
- 在使用并行处理时,您应该考虑通过回调异步进行服务调用对事件排序的影响。
- “调用”样式属性覆盖整个模块中指定的其他缺省属性。
样本 XML 代码
<node name="ServiceInvoke" type="ServiceInvoke">
<property name="referenceName" value="myInterfacePartner"/>
<property name="operationName" value="emit"/>
<inputTerminal type="myInterface:myRequestMsg"/>
<outputTerminal name="timeout" type="myInterface:myRequestMsg">
<wire targetNode="MessageLogger1"/>
</outputTerminal>
<failTerminal/>
</node>