调用业务流程形状可用于同步调用在另一个项目中引用的业务流程。 这允许在 BizTalk 项目中重复使用常见的业务流程工作流模式。 使用 调用业务流程 以同步方式调用另一个嵌套业务流程时,封闭业务流程会等待嵌套业务流程完成,然后再继续。
可以指定将传递给嵌套编排的参数。 参数可以是消息、变量、端口引用、角色链接或关联集。 传入的端口引用、角色链接和关联集就像自寻址信封一样发挥作用:它们提供嵌套业务流程的详细信息,这些信息可以用于将数据回传至封闭的业务流程。
谨慎
如果将不可序列化的对象(如 XmlDocument 或 XmlNode)作为参数传递给业务流程,它将失败。
有关如何使用Call Orchestration控件的示例,请参阅CallOrchestration(BizTalk Server 示例)。
配置呼叫业务流程形状
使用 “业务流程选择” 下拉列表框,从列表中选择一个业务流程。
使用 编排参数 网格控件,指定要传递给被调用编排的参数,如在 “编排选择”下拉列表框中所指定的参数。 通过在变量列的单元格中指定这些参数,每个单元格有一个变量,方法是键入变量的名称或单击单元格中的下拉列表中的变量。
若要根据对话框中指定的服务和参数配置 调用业务流程 形状,请单击“ 确定”。 若要关闭“ 呼叫业务流程配置 ”对话框,而不对 “调用业务流程 ”形状进行任何更改,请单击“ 取消”。
谨慎
BizTalk Server 不支持递归编排。 如果业务流程 A 调用或启动业务流程 B,则业务流程 B 无法直接调用或启动业务流程 A,也不能调用或启动直接或间接调用业务流程 A 的任何业务流程。
引用的业务流程
若要使引用的业务流程可调用,请确保已为调用的业务流程配置了以下属性:
将所调用业务流程的 Type Modifier 属性设置为 Public 。 若要将业务流程 的 Type Modifier 属性设置为 “公共”,请在 Visual Studio Microsoft中打开业务流程,单击业务流程顶部的绿色起始形状以显示 “业务流程属性 ”对话框,并将 Type Modifier 属性设置为 “公共”。
将业务流程编排中初始接收形状的Activate属性设置为False。
编排选择下拉列表框
单击下拉列表框中的向下箭头以查看可用的服务,然后选择一个。 此列表包含可从当前业务流程调用的所有服务,包括引用的程序集。
业务流程参数网格控件
使用 编排参数 网格控件来指定要传递给参数化编排的参数。 网格有四列:范围、参数名称、参数类型和参数方向中的变量。 只能在第一列中进行更改;其他列是只读的。
选择有效的编排时,其参数将填充网格控件的参数名称列、类型列和方向列。 然后选择每行中的变量以作为参数传递。 从“作用域”列中每个单元格中存在的下拉列表中选择这些变量。 此列表显示相邻参数类型单元格中指定的类型的所有可用变量。 如果只有该类型的一个对象可用,则 Scope 单元格中的“变量”将自动填充该对象。 还可以在 Scope 单元格中键入“变量”,以选择下拉列表中可用的变量。
注释
由于 调用业务流程 形状调用业务流程,因此在此对话框中选择的“业务流程参数”实际上引用业务流程变量。
如果调用的业务流程没有定义的参数,则此对话框中的网格控件不可用。