在发生标准故障或者系统故障时存储数据的故障变量。
关于此任务
当故障处理程序捕获到标准故障或运行时故障时,消息类型必须指向 StandardFaultType。要手动创建名为
StandardFaultType 的复杂类型,请按如下所示操作:
过程
- 如下所示,创建新的类型:
- 如果没有现有的库,请通过单击创建名为 FaultType 的新库。
- 右键单击流程模块,然后选择打开依赖关系编辑器。单击添加,然后从列表中的步骤 1a 选择库。
- 通过单击创建名为 bpcfault.xsd 的 XSD 文件。
- 将以下文本粘贴到编辑器中并保存。
<?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>
- 创建变量并指向该 XSD 文件。
- 在托盘中,通过单击“变量”区域旁的加号(
)来创建新的变量。
- 在“属性”区域中,单击详细信息选项卡。
- 选择数据类型,然后单击浏览。
- 在“数据类型选择”窗口中,单击显示所有 XSD 类型、浏览至 StandardFaultType,然后单击确定。
- 确定希望与新故障类型关联的 catch 元素(故障处理程序中存在的元素)。
在详细信息选项卡中,浏览至新创建的故障变量。
结果
注: 如果希望在故障中合并 Java™ 异常,请牢记以下内容。如果流程调用某项服务但随后抛出异常,那么它将返回 ServiceBusinessException。由于 ServiceBusinessException 不包含有关 WSDL 故障名称的任何信息,因此该流程会使用关联的数据对象来与 WSDL 操作上定义的故障相关联,以确定数据对象。因此,构建所有 ServiceBusinessExceptions 时都必须带有数据对象,以解析故障名称。