“尝试”活动

尝试... 活动将尝试运行主尝试分支中的活动。

关于此任务

如果在运行主尝试分支中的活动时出现任何异常,那么将执行 CatchAll 分支。

在背景上单击鼠标右键会创建新的 CatchAll 分支。

例如,主尝试分支可能会调用数据库插入行活动,如下图所示:

如果数据库插入行活动失败并抛出异常,那么将运行 CatchAll 分支中的活动。在此示例编排中,当数据库插入行活动抛出异常时,终止活动会运行以终止当前的编排作业。

要添加并配置“尝试...”活动,请完成以下步骤:

过程

  1. 打开活动选项卡,然后打开逻辑文件夹。
  2. 尝试... 活动拖到编排上。这样会显示带有以下分支的尝试... 活动:
    • 尝试... 分支
    • CatchAll 分支
    在创建第一个 CatchAll 分支时,会自动创建以下变量:
    • faultName - 在运行时期间,faultName 变量包含尝试分支中活动所抛出的异常的名称。
    • faultData - 在运行时期间,faultData 变量包含与异常关联的错误消息。目前只会针对 Web Service 活动返回该附加信息。对于 Web Service 活动,faultData 变量包含故障。
    • faultInfo - 在运行时期间,faultInfo 变量会返回下列节点:
      • name - 在运行时期间,faultInfo/name 节点包含尝试分支中活动所抛出的异常的名称。faultInfo/name 节点为 xsd:QName 类型。
      • message - 在运行时期间,faultInfo/message 节点包含与异常关联的错误消息。faultInfo/message 节点为 xsd:string 类型。
      • activityId - 在运行时期间,faultInfo/activityId 节点包含可唯一标识已发生异常的活动的活动标识。faultInfo/activityId 节点为 xsd:int 类型。
      • activityName - 在运行时期间,faultInfo/activityName 节点包含发生异常的活动的名称。faultInfo/activityName 节点为 xsd:string 类型。
      • faultTime - 在运行时期间,faultInfo/faultTime 节点包含发生错误的时间。faultInfo/faultTime 节点为 xsd:dateTime 类型。
      注: faultName 变量和 faultInfo/name 节点中的活动所返回的异常名称可能会在将来的发行版中发生变化。
  3. 活动选项卡中的活动放到尝试... 活动的分支中,以配置尝试...CatchAll 分支,如上图和下图所示。
    注意: faultNamefaultDatafaultInfo 变量的作用域只限于尝试... 活动的 CatchAll 分支。 该作用域限制意味着:只能保证这些变量的值在 CatchAll 分支中有效。 例如,如果添加了 If...Then 活动以测试 faultName 变量的值,那么必须将 If...Then 活动放在尝试... 活动的 CatchAll 分支内,如下图所示:



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/orch_try_activity.html