BPEL 设计器:了解关联。使用关联向导
另请参见
BPEL 服务引擎运行时环境使用称为“关联”的机制来跟踪多个长时间运行的有状态消息交换,这些交换通常是在 BPEL 流程与其伙伴服务之间进行的。此类对话中的消息将映射到由 WSDL 文件中定义的一个或多个属性组成的复合值。
因此,关联集使用标准化的、独立的实现方式来支持 Web 服务之间的有状态协作。关联集依赖于存储在消息信封、头或业务文档本身中的关联数据标记。关联声明依赖于消息的声明性属性。属性是查询标识的消息中的一个字段。查询由称为属性别名的特定结构来指定。
以下术语适用于关联:
- “属性”是具有任意名称的标记。它必须是简单类型。它是在 WSDL 文件中定义的。
- “属性别名”是一个规则,用于通知 BPEL 运行时环境如何将消息中的数据映射到属性值。您可以为属性定义几个属性别名,这些别名将用作关联值。如果需要从多个消息中映射相同的属性值(这是关联中的典型行为),则应该执行此操作。例如,如果两个不同的消息具有要提取的相同部件,则需要一个属性和两个属性别名(每个消息一个属性别名)。属性别名是在 WSDL 文件中定义的。
- “关联集”是由一个或多个属性值组成的复合键,它实际是一个属性集。BPEL 运行时环境使用此键来确保将特定对话的消息传送到正确的流程实例。关联集是在 BPEL 文件中定义的。
- “关联”用于标记活动,它们通过名称来标识关联集,并指示在发送或接收的消息中包含的关联集。
使用和表示关联的元素
您可以为 Process 元素定义关联集。消息活动(调用、回复和接收)随后将使用定义的关联集,它们描述了流程和伙伴服务之间的对话。
调用活动上的关联集用于验证出站消息包含的数据是否与在指定关联集实例中找到的数据一致。
关联集名称还用于 Pick 元素的活动消息分支以及事件处理程序的活动事件变体。
定义关联的方法有:
- 使用关联向导,该向导自动执行所有主要步骤。这是最简便的关联定义方法。通常,您不必详细了解关联的工作方式。该向导将为您完成相应的操作。
- 手动定义关联
关联向导用于为两个消息传送活动定义关联,例如,调用、回复、接收、Pick 元素的活动事件或活动消息分支。
注意:该向导仅用于创建关联。不能在该向导中编辑关联。
使用关联向导创建关联:
- 在“设计”视图中,右键单击需要关联的活动,然后选择“定义关联”。将打开关联向导。
- 步骤 1。选择消息传送活动。从下拉列表中选择一个启动消息传送活动。此处选择的活动将启动关联集。单击“下一步”。
- 步骤 2。定义关联。在左侧,将会看到启动活动发送或接收的消息的树结构。在右侧,将会看到关联活动传递的消息的结构。在源树窗格中选择节点并将指针拖到目标树窗格中的节点,以连接用于定义关联的消息部件。
- 此操作将设置关联。该向导将在 WSDL 文件中创建属性和属性别名,在 BPEL 中定义关联集,并将该关联集与所选的活动相关联。
请注意,属性和属性别名会写入一个新的 WSDL 文件,您可以在 BPEL 模块的流程文件中查看该文件。合作伙伴服务的原始 WSDL 文件将导入到新 WSDL 中。对于使用该向导创建的所有关联,将在此文件中写入属性和属性别名。将导入合作伙伴 WSDL 文件。BPEL 文件中定义的关联集将引用新 WSDL。
- 另请参见
- 手动添加关联集
- 使用 "WSDL" 视图配置属性和属性别名
法律声明