何时使用
业务流程可以使用调用元素在合作伙伴提供的 portType 上调用单向操作或请求-响应操作,并且还向合作伙伴发送消息。该操作是在合作伙伴的 WSDL 中定义的。
用法
使用调用元素:
-
将调用元素从组件面板拖放到图中。
-
请执行以下某项操作:
-
直接绘制消息流,或者更复杂的操作。
-
双击调用元素。将打开一个对话框,您可以在其中检查或更改以下内容:
-
调用元素的名称
-
调用的合作伙伴链接
-
与调用元素关联的操作
-
与调用元素关联的输入变量
-
输出变量
可通过此对话框来创建或浏览输入和输出变量。
与其他元素的属性编辑器一样,您可以通过新建变量对话框或变量选择器来更改调用元素的变量。如果没有为某个元素提供变量(例如,没有输出变量),则不会显示新建变量对话框和变量选择器。
还要注意,在 Web 服务活动属性编辑器中激活“浏览”按钮时,输入变量选择器和输出变量选择器对话框会将可用变量列表限定为正在配置的 Web 服务操作所适用的类型。这样,“设计”视图即可帮助您开发有效的 BPEL。
关联
调用活动(处理出站操作)上的关联集用于验证传出消息包含的数据是否与指定关联集实例中包含的数据相一致。
可以使用调用元素属性编辑器上的标签来检查或指定关联集。
此标签显示以下内容:
您可以通过单击“添加”按钮来添加关联集。
定义关联集并将其添加到元素中
关联是 BPEL 运行环境跟踪特定流程实例与其合作伙伴服务的相应实例之间的对话时使用的方法。您可以将关联看作是 BPEL 运行环境将传入和传出消息相关联并相应地传送它们所使用的主键。
关联集是 BPEL 运行环境标识用于接收消息的正确流程所使用的一组属性。可以通过属性别名将关联集中的每个属性映射到一种或多种消息类型中的元素。
要定义关联集,来自合作伙伴服务的消息必须在合作伙伴 WSDL 文件中定义了属性和属性别名。您可以使用 WSDL 编辑器或“导航”将属性和属性别名添加到 WSDL 文件中。
将属性和属性别名添加到与项目关联的 WSDL 文件后,您可以为 Process 元素定义关联集。
定义关联集:
-
在“设计”视图中,右键单击 Process 元素,然后选择“添加”>“关联集”。将显示“添加关联集”对话框。
-
更改关联集的名称,然后单击“添加”以添加属性。
-
在“属性选择器”对话框中,选择要添加到该集合中的属性,然后单击“确定”。
按照上面的步骤定义了关联集后,请将关联集添加到调用、接收或回复元素中。也可以将关联集与 Pick 活动的活动消息分支相关联,以及与事件处理程序容器内的活动事件元素相关联。
下面是在“导航”中显示的关联集。
将关联集添加到元素中:
-
在“设计”视图中,双击某个元素(调用、接收、回复、Pick 的活动消息分支或事件处理程序容器内的活动事件元素)。
-
在属性编辑器中,选择“关联”标签,然后单击“添加”。
-
在“选择关联集”对话框中,选择该关联集,然后单击“确定”。
-
(可选)根据需要,添加更多的关联集,然后单击“确定”。
何时使用
接收元素可以使业务流程处于等待状态,直至接收到特定的消息。
用法
-
将接收元素拖放到图中。
-
双击接收元素(或者单击鼠标右键并选择“编辑”)可打开一个模式化的属性编辑器,您可以在其中更改以下内容(此处提供了旅行预订服务示例):
-
元素的名称 (ReceiveItinerary)。
-
合作伙伴链接 (Travel)。
-
与接收元素关联的操作 (buildItinerary)。
-
接收元素的输入变量 (ItineraryIn)。为“输入变量”选择“浏览”可打开输入变量选择器,您可以在其中选择与此流程关联的其他变量。选择“创建”可创建新的变量。
-
创建实例。如果选定该选项,则在关联消息到达时,将创建一个 BPEL 流程实例。
-
右键单击接收元素并选择“属性”可打开属性窗口,除了属性编辑器中列出的项外,它还包含以下内容:
-
端口类型。在您指定合作伙伴链接和操作时,将会填充“端口类型”字段值。
关联
可以使用接收元素属性编辑器上的“关联”标签来检查或指定关联集。
此标签显示以下内容:
您可以通过单击“添加”按钮来添加关联集。有关详细信息,请参见定义关联集并将其添加到元素中。
返回页首
使用回复元素
何时使用
使用此活动可以将消息从流程返回到启动操作的相同合作伙伴。
此活动在同步(请求/响应)操作中使用,它与调用流程的接收活动所指定的合作伙伴、端口类型和操作相同。
用法
-
将回复元素从组件面板拖到图中的相应位置。
-
双击回复元素(或者单击鼠标右键并选择“编辑”)以打开回复元素的属性编辑器。此属性编辑器指定了以下内容:
-
元素的名称
-
合作伙伴链接
-
操作
-
响应类型:“正常响应”或“错误响应”
-
如果将回复元素用于正常响应消息类型,则选择“正常响应”。(可选)指定输出变量:创建新的输出变量或浏览现有的变量。
-
如果将回复元素用于发送错误消息,则选择“错误响应”。请选择一个错误名称,并(可选)指定错误变量:创建新的错误变量或浏览现有的变量。
-
右键单击回复元素并选择“属性”可打开属性窗口,除了属性编辑器中列出的项外,它还包含以下内容:
-
端口类型。在您指定合作伙伴链接和操作时,将会填充“端口类型”字段值。
关联
可以使用回复元素属性编辑器上的“关联”标签来检查或指定关联集。
此标签显示以下内容:
您可以通过单击“添加”按钮来添加关联集。有关详细信息,请参见定义关联集并将其添加到元素中。
返回页首
使用合作伙伴链接元素
何时使用
合作伙伴链接指定与业务流程进行交互的各方。每个链接是由合作伙伴链接类型和角色名称定义的。
合作伙伴链接类型和角色
此类型通过定义每个服务在对话中所扮演的角色来确定流程及其合作伙伴之间的关系。可通过指定每个服务为接收消息而提供的端口类型来进一步确定这种关系。每个角色会在 WSDL 文件中指定一种端口类型。
角色确定了此流程或其合作伙伴的对话特征。在同步操作中会使用单个角色,这是因为结果是使用相同操作返回的;而在异步操作中会使用两个角色,这是因为合作伙伴角色将在回调过程中进行切换。
合作伙伴链接和合作伙伴链接类型是很容易混淆的,但请注意:
-
合作伙伴链接类型和角色是由 BPEL 规范定义的特殊 WSDL 扩展。因此,它们是在 WSDL 文件中定义的,而不是在流程 BPEL 文件中定义的。
-
合作伙伴链接是 BPEL 2.0 元素。它是在流程 BPEL 文件中定义的。
合作伙伴链接类型是合作伙伴链接元素定义的先决条件。只能通过引用特定的合作伙伴链接类型和角色(正如上面提到的那样,它们必须在 WSDL 中进行定义)来定义合作伙伴链接元素。
用法
要在 BPEL 项目中添加合作伙伴链接元素,请执行以下某项操作:
-
将合作伙伴链接元素从组件面板拖到图中。
-
将 WSDL 文件节点从“项目”窗口的相同项目拖到图中。
-
将 WSDL 文件节点从“项目”窗口的其他项目拖到图中。
-
将 Web 服务节点从“项目”窗口的 EJB 项目拖到图中。
注意:在拖动 Web 服务节点时,BPEL 设计器将从应用服务器中检索 WSDL 文件。要成功检索 WSDL 文件,应用服务器必须正在运行并且必须部署了 Web 服务项目。
将合作伙伴链接元素、WSDL 文件节点或 Web 服务节点拖到图中时,将显示合作伙伴链接属性编辑器。
合作伙伴链接属性编辑器
在合作伙伴链接属性编辑器中,您可以为 BPEL 流程建立合作伙伴链接。
要调用合作伙伴链接属性编辑器,请双击图中的合作伙伴链接元素,或者右键单击合作伙伴链接元素并选择“编辑”。同样在您将合作伙伴链接元素、WSDL 文件节点或 Web 服务节点拖到图中时,也会显示合作伙伴链接属性编辑器。
通过合作伙伴链接属性编辑器,您可以指定:
-
合作伙伴链接名称
-
与合作伙伴链接关联的 WSDL 文件
您可以进一步选择是使用现有的合作伙伴链接类型,还是创建新的合作伙伴链接类型。
如果选择的 WSDL 文件包含合作伙伴链接类型,则“使用现有的合作伙伴链接类型”选项将处于选中状态,并使用 WSDL 文件中的合作伙伴链接类型来填充“合作伙伴链接类型”下拉列表。您可以使用其中的一个现有合作伙伴链接类型,或者选择“使用新建的合作伙伴链接类型”选项以创建新的合作伙伴链接类型。
如果 WSDL 文件不包含合作伙伴链接类型,则“使用新建的合作伙伴链接类型”选项将处于选中状态。
-
使用现有的合作伙伴链接类型
-
从下拉列表中选择合作伙伴链接类型。并自动填充“我的角色”和/或“合作伙伴角色”字段。
-
要交换业务流程本身的角色(我的角色)和合作伙伴角色(合作伙伴角色),请单击“交换角色”按钮。
-
使用新建的合作伙伴链接类型
-
指定合作伙伴链接类型的名称。
-
指定业务流程本身的角色(我的角色)和/或合作伙伴角色(合作伙伴角色)。为此请:
-
选中相应的复选框。
-
指定角色名称。
-
从下拉列表中选择端口类型。
也可以在属性窗口中查看和修改合作伙伴链接的属性;要调用此窗口,请右键单击该元素,然后选择“属性”。
返回页首
使用空元素
何时使用
空元素没有关联的操作。它通常在流程中用作占位符以捕获和禁止错误,或者帮助同步 flow 活动内并发执行的操作。
可以在以下情况使用空元素:其他人将实现业务流程,或者需要同步 flow 活动内的活动。
用法
将空元素从组件面板拖到图中的相应位置。
返回页首
使用等待元素
何时使用
使用等待元素可以基于时间单位或持续时间来指定等待条件。
用法
将等待元素拖到图中的相应位置。与其他元素一样,必须将该元素放在流程流中的正确位置,否则,在图中将看不到该元素。
在图中右键单击该元素,然后选择“属性”以调用属性窗口。通过使用属性窗口,您可以指定:
-
元素的名称。
-
元素的类型。可用的选项有:
-
For - 指定流程等待的持续时间
-
Until - 指定流程等待的某个时间段
-
日期/持续时间。单击省略号按钮 (...) 可调用一个对话框,您可以在其中为元素指定日期或持续时间。
返回页首
使用抛出元素
何时使用
使用此活动来发出内部错误信号。
用法
在定义此元素的属性时,您可以指定错误名称和错误变量。然后,这些详细信息可以传递到配置为处理此类异常的错误处理程序。
抛出元素属性
可以通过属性窗口来配置抛出元素的属性;要调用此窗口,请右键单击该元素,然后选择“属性”。选项有:
-
名称。
-
错误名称。单击省略号按钮 (...) 可调用错误名称对话框,您可以从包含系统错误和 WSDL 和 BPEL 文件中定义的错误的列表中选择该错误。
-
错误变量。单击省略号按钮 (...) 可指定已在 BPEL 文件中声明的变量(它将包含错误消息)的名称。
返回页首
使用分配元素
何时使用
分配活动将为变量赋值。您可以使用分配元素将一个变量中的数据复制到另一个变量,构造表达式和计算表达式的值,然后在变量中存储新数据。您需要使用表达式来执行简单的计算,或者处理消息选择、属性和类型常量以生成新的变量值。分配活动可以包含一个或多个基本赋值。
用法
使用 BPEL 映射器可以为分配活动定义复制规则,或者添加表达式。有关详细信息,请参见本指南的分配活动用例部分。
分配元素属性
分配元素的属性窗口(可通过右键单击该元素并选择“属性”来调用)包含了以下两个属性:
-
名称。这是元素的名称。
-
分配计数。这是为元素指定的分配规则数。
返回页首
使用 Flow 元素
何时使用
使用 Flow 元素可以定义一组将并发(并行)执行的活动。
Flow 活动是一个结构化的活动,其中包含了使用单独的控制路径或分支进行划分的其他活动。您可以在该活动中嵌入任意数量的路径,这些路径将会同时执行。
在执行过程中,将并发执行每个路径,并按照每个路径中的活动的出现顺序来执行这些活动,除非这些活动是链接源。如果活动是链接源,则必须计算链接条件和活动的连接条件。如果引发活动的链接条件与其连接条件发生冲突,则会在该活动上抛出错误。
用法
将 Flow 元素从组件面板拖到图中。
将某个元素拖到 Flow 元素内的占位符上。如果要在 Flow 元素的同一个分支中添加另一个元素,则该分支内的元素将会自动包含在 Sequence 元素中。
在 Flow 元素中添加分支
您可以在 Flow 元素中添加一个或多个分支。Flow 元素具有特殊的用户交互方式。它始终为您希望添加的下一个分支显示一个占位符。要添加新的分支,请将元素从组件面板拖到立即可用的“下一个分支”占位符上。
返回页首
使用 Sequence 元素
何时使用
使用 Sequence 元素可以在流程中嵌套一系列活动。Sequence 中的活动将严格按顺序执行。当嵌套内的最后一个活动完成时,流程执行将返回到业务流程中。
用法
将 Sequence 元素拖放到图中。
在 Sequence 中添加子活动
您可以在 Sequence 中添加一个或多个子活动。Sequence 元素具有特殊的用户交互方式。它始终为您希望添加的下一个活动显示一个或多个有效占位符。要添加新的子活动,请将元素从组件面板拖放到立即可用的下一个或上一个活动占位符上。
返回页首
使用 If 元素
何时使用
If 活动支持业务流程实例的条件行为。If 活动是由 If 和 ElseIf 元素定义的条件分支组成的,后面跟有可选的 Else 分支。If 和 ElseIf 分支条件的执行顺序是按照其出现的顺序依次进行的。在执行过程中,将执行第一个条件为 true 的分支,并提供为 If 活动指定的活动。换句话说,如果几个 ElseIf 分支的条件都为 true,则会首先执行第一个分支。
如果条件分支的计算结果均不为 true,则会选择 Else 路径。如果未显式指定 Else 分支,则将此分支视为包含空活动。当选定分支的活动完成时,If 活动才会结束。
用法
-
在“设计”视图中,将 If 元素从组件面板拖到图中。
-
在图中选择 If 元素。将在 IDE 底部显示“BPEL 映射器”窗口。如果没有显示“BPEL 映射器”窗口,请从主菜单中选择“窗口”>“BPEL 映射器”。
-
使用 BPEL 映射器为元素指定条件。有关详细信息,请参见本指南的 If 活动用例部分。也可以在属性窗口中手动指定条件;要调用此窗口,请右键单击该元素,然后选择“属性”。
-
(可选)在属性窗口中,输入 If 元素的名称。
-
在 If 元素中,添加条件为 true 时将执行的元素。配置嵌套的元素。如果在 If 元素中添加其他元素,则嵌套元素会自动包含在 Sequence 元素中。
-
按如下方式添加其他分支(ElseIf 和 Else)。
在 If 元素中添加 ElseIf 分支
-
右键单击 If 元素,然后选择“添加 Else If”。
-
为 ElseIf 添加 ElseIf 定义条件为 true 时将执行的活动。要定义一个条件,请使用 BPEL 映射器。
-
(可选)选择“添加 Else If”以添加更多的 ElseIf 活动,然后在其中添加活动。
在 If 元素中添加 Else 分支
将要在 Else 分支上执行的活动拖到标有斜杠标记的连接器路径上。配置嵌套的活动。
对 ElseIf 分支重新排序
在“设计”视图中,将要重新排序的 ElseIf 分支拖放到另一个 ElseIf 分支旁边显示的占位符上。
返回页首
使用 Pick 元素
何时使用
Pick 元素会阻止流程的执行,并一直等到发生一个指定的事件时为止。发生特定的事件后,将执行与该事件关联的活动。可能发生的事件是消息或基于计时器的警报的到达。这些事件的发生是互斥的。如果发生了多个事件,则会根据先发生的事件来选择要执行的活动。
Pick 活动提供了两个分支:活动消息和活动警报。将执行先满足条件的分支(即,收到消息或到达指定的计时器时间)。在图中添加 Pick 元素时,它会自动包含一个 onMessage 语句,您可以在其中指定流程等待合作伙伴服务发送的消息的属性。每个 Pick 元素至少要包含一个 onMessage 语句。活动警报分支包含一个计时器,可用来指定流程等待的时间期限。
用法
-
在“设计”视图中,将 Pick 元素从组件面板拖到图中。
-
对于活动消息分支,请配置流程正在等待的消息的属性。配置过程与接收元素的配置过程类似。
-
在组件面板上,查找要执行的活动。将其从组件面板拖放到活动消息分支内,并配置此活动的属性。
-
(可选)通过从弹出式菜单中选择“添加”>“活动消息”来添加更多的活动消息分支,并按照上述方法对其进行配置。
-
(可选)执行以下步骤来添加一个或多个活动警报分支。
添加活动警报分支
-
右键单击 Pick 元素,然后从弹出式菜单中选择“添加”>“活动警报”。
-
通过属性窗口来配置计时器;要调用此窗口,请右键单击该元素,然后选择“属性”。可用的选项有:
-
类型 - 用于选择警报类型。可以为以下某种类型:
-
For - 指定流程等待的持续时间。
-
Until - 指定流程的截止期限。
-
日期/持续时间 - 用于为选定的警报类型配置截止期限或持续时间。单击省略号按钮 (...) 可指定该时间。也可以使用 BPEL 映射器。
-
查找要在时间到期后执行的活动,然后将其从组件面板拖到活动警报元素内的占位符上。
-
(可选)按照上述操作,添加一个或多个活动警报分支。
Pick 元素属性
Pick 元素的属性窗口(可通过右键单击该元素并选择“属性”来调用)包含了以下字段:
-
创建实例。如果设置为 yes,在发生指定的事件时,将创建一个新的流程实例。如果不打算启动新的流程实例,请保留缺省值 N/A。
-
名称。它用于指定元素的名称。
返回页首
使用 Scope 元素
何时使用
Scope 活动实质上是一组子活动,它们可以具有自己的消息交换、变量、错误和事件处理程序。Scope 活动为子元素提供了行为环境。为父 Scope 定义的属性在该 Scope 内具有局部可视性。例如,为 Scope 声明的变量仅在该 Scope 以及所有嵌套的 Scope 内可见。这些变量可随后用于此 Scope 的子活动。
用法
-
在“设计”视图中,将 Scope 元素从组件面板拖到图中。
-
右键单击该元素,然后从弹出式菜单中选择“添加”以添加以下内容:
-
从图中将元素拖到 Scope 上。
-
配置这些元素。
-
(可选)在属性窗口中指定 Scope 元素的名称;要调用此窗口,请右键单击该元素,然后选择“属性”。
变量
BPEL 编程中使用变量的方式与其他软件语言相同:这些变量用来保存临时值、构成表达式的一部分,或者作为参数传递给外部合作伙伴。通常,发送到合作伙伴服务或从中接收的每条消息都需要一个变量。BPEL 设计器支持以下类型的变量:
-
消息类型。这种类型的变量与流程导入的 WSDL 文件中定义的 Web 服务消息类型相对应。在 BPEL 文件中,这些变量必须为 messageType 属性指定值。消息类型变量用于保存流程与其合作伙伴服务之间交互的数据。
-
XML 架构类型。这种类型的变量与简单或复杂的 XML 架构数据类型相对应。XML 架构类型本身是在导入到流程的 XML 架构文件 (.xsd) 或 WSDL 文件中定义的。在 BPEL 文件中,这种类型的变量必须为类型属性指定值。
-
XML 架构元素。这种类型的变量与 XML 架构元素相对应。XML 架构元素本身是在导入到流程的 XML 架构文件 (.xsd) 或 WSDL 文件中定义的。在 BPEL 文件中,这种类型的变量必须为元素属性指定值。
-
内置类型。这种类型的变量是在 XML 架构规范中定义的标准简单类型。
全局变量和局部变量
在 Process 根元素中定义的变量是全局变量,它们在整个流程中具有全局可视性。在特定的 Scope 内定义的变量仅在该 Scope 以及所有嵌套的 Scope 内可见。这些变量称为局部变量。为内部 Scope 元素定义的变量将隐藏上一级定义的同名变量。
在同一个 Scope 内定义的所有变量名称中,每个变量名称都必须是唯一的。
定义变量:
- 右键单击 Process 或 Scope 元素,然后选择“添加”>“变量”。
- 在“创建新变量”对话框中,命名该变量。在此 Scope 元素中名称应是唯一的。
- 选择以下某种类型:
- 消息类型。展开 .wsdl 文件节点,选择一种消息类型,然后单击“确定”。
- XML 架构简单类型。展开包含嵌入架构的 .xsd 文件节点或 .wsdl 文件。展开“简单类型”文件夹,选择一种简单类型,然后单击“确定”。
- XML 架构复杂类型。展开包含嵌入架构的 .xsd 文件节点或 .wsdl 文件。展开“复杂类型”文件夹,选择一种复杂类型,然后单击“确定”。
- XML 架构元素类型。展开包含嵌入架构的 .xsd 文件节点或 .wsdl 文件。展开“元素”文件夹,选择一个元素,然后单击“确定”。
- 内置类型。展开“内置类型”文件夹,选择变量的 QName,然后单击“确定”。
- (可选)清除“仅显示导入的文件”复选框标记以查看未导入的 WSDL 和 XML 架构文件的内容。
- 单击“确定”。
缺省情况下,“创建新变量”对话框仅显示已导入到流程中的那些文件。但是,项目可以包含尚未导入到流程中的其他 .wsdl 和 .xsd 文件。如果根据未导入的某个文件中定义的类型来定义新变量,则 IDE 会将所需的导入自动添加到 BPEL 流程中。
也可以从“导航”窗口中添加变量。要添加变量,请在“导航”中选择“BPEL 逻辑视图”,展开 BPEL 模块项目节点,右键单击“变量”节点,然后选择“添加变量”。
编辑变量:
- 在“导航”窗口中,选择“BPEL 逻辑视图”。
- 展开 BPEL 模块项目节点 >“变量”。
- 右键单击要编辑的变量,然后选择“编辑”。
- 在变量属性编辑器中,更改变量类型。
- 单击“确定”。
注意:在本发行版本中,BPEL 映射器不支持使用为 Scope 元素定义的变量。
返回页首
使用 While 元素
何时使用
只要在每次开始迭代时满足特定的条件,就可以使用 While 元素来重复执行一个或多个活动。此元素包含了在满足指定的成功条件时重复执行的其他元素。如果指定的条件为 false,则不会执行列出的任何活动。
注意:While 元素先检查条件的有效性,然后再执行迭代活动。相反,Repeat Until 元素先执行活动,然后再检查条件的有效性。
用法
-
从组件面板中添加 While 元素。
-
将必须重复执行的活动拖到 While 元素中。
-
使用属性窗口来指定 While 元素的名称和条件。您可以手动输入条件,或者使用 BPEL 映射器生成条件。要打开“BPEL 映射器”窗口,请选择“窗口”>“BPEL 映射器”。
返回页首
使用 Process 元素
Process 元素已存在于图中。“新建项目”向导始终会创建一个框架 BPEL 文件,其中包含至少一个 Process 元素。因此,Process 元素不是组件面板的一部分。Process 元素应该是缺省存在的,因为它是 BPEL 文件的最低要求配置。
以下屏幕快照显示了旅行预订服务样例中的 Process 表示形式。
用法
-
右键单击该元素,然后从弹出式菜单中选择“添加”以添加以下内容:
-
在属性窗口中指定 Process 元素的名称和目标名称空间;要调用此窗口,请右键单击该元素,然后选择“属性”。
流程
BPEL 流程可以是同步的,也可以是异步的。同步 BPEL 流程会阻止执行使用该流程的客户端,直至流程执行完毕并将结果返回给客户端为止。异步流程不会阻止执行客户端。而是使用回调来返回结果(如果有)。通常,对于持续时间较长的流程我们会使用异步流程;而在相对较短的时间内返回结果的流程则使用同步流程。如果 BPEL 流程使用异步 Web 服务,则流程本身通常也是异步的。
返回页首
使用 Repeat Until 元素
何时使用
只要在每次执行迭代后满足特定的条件,就可以使用 Repeat Until 元素来重复执行一个或多个活动。此元素包含了在满足指定的成功条件之前重复执行的其他元素。如果指定的条件为 true,则会将列出的活动执行一次。
注意:Repeat Until 元素先执行迭代活动,然后再检查条件的有效性。相反,While 元素先检查条件的有效性,然后再执行活动。
用法
-
从组件面板中添加 Repeat Until 元素。
-
将必须重复执行的活动拖到 Repeat Until 元素中。
-
使用属性窗口来指定 Repeat Until 元素的名称和条件。您可以手动输入条件,或者使用 BPEL 映射器生成条件。要打开“BPEL 映射器”窗口,请选择“窗口”>“BPEL 映射器”。
返回页首
使用 For Each 元素
何时使用
使用 For Each 元素可以将其包含的 Scope 活动正好重复执行 N+1 次,其中 N 等于最终计数器值减去起始计数器值。
用法
-
从组件面板中添加 For Each 元素。
-
将要重复执行的元素从组件面板添加到 For Each 元素中。添加的元素将自动包含在 Scope 元素中。
-
右键单击 For Each 元素,然后选择“属性”以打开其属性窗口。
For Each 元素的属性窗口包含了下面列出的属性。
-
名称 - 它用于指定 For Each 元素的名称。
-
计数器变量名称 - 它用于声明计数器变量名称。
-
起始计数器值 - 它用于设置起始计数器值。使用 BPEL 映射器来生成整数值表达式。
-
最终计数器值 - 它用于设置最终计数器值。使用 BPEL 映射器来生成整数值表达式。
当启动 For Each 活动时,将首次(仅一次)计算起始计数器值和最终计数器值中的表达式值。即,当返回这两个值后,它们将在该活动的生命周期内保持不变。如果起始计数器值大于最终计数器值,则不会执行任何迭代。
-
完成条件 - 可选。这是一个整数值表达式。在执行每个直接包含的活动后,将对照该值检查完成的活动数。如果完成的活动数等于指定的表达式值,则不会启动任何其他活动。如果表达式的值大于可用的迭代数,则不会启动任何迭代。
-
仅计算完成的分支数量 - 可选。如果设置为 yes,它将通知运行环境只计算已成功完成的分支数。如果设置为 no,则会计算所有成功完成或失败的分支数。
返回页首
使用退出元素
何时使用
使用此活动可以停止执行活动或流程:在流程、结构化活动或处理程序内。
用法
将退出元素从组件面板拖到图中。
注意:BPEL 运行环境在 Flow 和活动警报元素内不支持退出元素,并且在事件处理程序元素的活动事件子元素内也不支持该元素。
返回页首