本主题仅适用于 IBM Business Process Manager Advanced 配置。

输入故障变量

在发生标准故障或者系统故障时存储数据的故障变量。

关于此任务

当故障处理程序捕获到标准故障或运行时故障时,消息类型必须指向 StandardFaultType。要手动创建名为 StandardFaultType 的复杂类型,请按如下所示操作:

过程

  1. 如下所示,创建新的类型:
    1. 如果没有现有的库,请通过单击文件 > 新建 > 其他 > 创建名为 FaultType 的新库。
    2. 右键单击流程模块,然后选择打开依赖关系编辑器。单击添加,然后从列表中的步骤 1a 选择库。
    3. 通过单击文件 > 新建 > 其他 > 简单 > 文件创建名为 bpcfault.xsd 的 XSD 文件。
    4. 将以下文本粘贴到编辑器中并保存。
      <?xml version="1.0"?>
      
      <!--
      (C) Copyright IBM Corporation 2005, 2008.
      
      This file specifies a complex data type that may be used
      in BPEL processes in fault handlers that catch a standard or
      runtime fault to specify the variable type.
      -->
      <xs:schema targetNamespace="http://www.ibm.com/xmlns/prod/websphere/business-process/6.0.0/"
                 xmlns:xs="http://www.w3.org/2001/XMLSchema"
                 elementFormDefault="qualified">
      
              <!--
              Standard fault type
              -->
              <xs:complexType name="StandardFaultType">
                      <xs:sequence>
                              <xs:element name="faultName" type="xs:string"/>
                              <xs:element name="faultNameUri" type="xs:string"/>
                              <xs:element name="messageText" type="xs:string"/>
                              <xs:element name="rootException" type="xs:string"/>
                      </xs:sequence>
              </xs:complexType>
      
      </xs:schema>
  2. 创建变量并指向该 XSD 文件。
    1. 在托盘中,通过单击“变量”区域旁的加号(加号符号)来创建新的变量。
    2. 在“属性”区域中,单击详细信息选项卡。
    3. 选择数据类型,然后单击浏览
    4. 在“数据类型选择”窗口中,单击显示所有 XSD 类型、浏览至 StandardFaultType,然后单击确定
  3. 确定希望与新故障类型关联的 catch 元素(故障处理程序中存在的元素)。 在详细信息选项卡中,浏览至新创建的故障变量。

结果

注: 如果希望在故障中合并 Java™ 异常,请牢记以下内容。如果流程调用某项服务但随后抛出异常,那么它将返回 ServiceBusinessException。由于 ServiceBusinessException 不包含有关 WSDL 故障名称的任何信息,因此该流程会使用关联的数据对象来与 WSDL 操作上定义的故障相关联,以确定数据对象。因此,构建所有 ServiceBusinessExceptions 时都必须带有数据对象,以解析故障名称。