可以创建一个筛选器表达式,该表达式将导致响应方专用的进程编排处理或不处理特定合作伙伴接口进程(PIP)的实例。 这样,便可以灵活地创建自定义专用进程来接收和处理某些 PIP 实例,并使用默认的专用进程来处理所有其他 PIP 实例。
若要创建自定义专用进程来处理特定的 PIP 或多个特定 PIP,请为专用进程业务流程的接收形状创建筛选器表达式。 例如,Microsoft® BizTalk Accelerator for RosettaNet SDK 中的 PIP3A4PrivateResponder.odx 编排。 它位于 <驱动器>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\PIP3A4Process Using Business Rules\PIP3A4PrivateResponder.
除了创建仅处理特定 PIP 实例的专用进程外,还必须自定义默认 BTARN 专用进程,以便它不会处理该 PIP 的实例。
自定义专用响应进程以配合特定 PIP 进行操作
在 Visual Studio 中,创建自定义响应程序专用进程业务流程,以便处理特定的 PIP。 可以将编排流程基于默认 BTARN 响应方私有流程编排。
注释
可以在 BTARN SDK 中找到名为 PrivateResponder.odx 的默认响应方专用进程业务流程。 它位于 <驱动器>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\PrivateResponder。
将自定义编排添加到 BizTalk 项目。 确保项目具有对 Microsoft.Solutions.BTARN.GlobalSchemas.dll 文件的引用。
在编排设计器中打开自定义编排。
右键单击激活编排的第一个“接收”形状,然后单击“编辑筛选表达式”。
注释
默认 BTARN 响应程序专用进程业务流程的接收形状有两个筛选条件:Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == “AsyncAction”或 Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == “SyncAction”。 此表达式可确保业务流程处理 RosettaNet 消息。 在自定义编排中保留此筛选器表达式。
在 “筛选器表达式 ”对话框中的第一个打开行的“属性”列中,从下拉列表中选择 Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode ,在“运算符”列中, == 从下拉列表中选择,在“值”列中,键入三位数的 PIP 代码,例如,键入 3A4。
单击 “确定” 。
在业务流程设计器中打开默认响应方专用进程业务流程项目(PrivateResponder.btproj)。 确保项目具有对 Microsoft.Solutions.BTARN.GlobalSchemas.dll 文件的有效引用。
双击 PrivateResponder.odx。
右键单击ReceiveFromPublicProcessResponder接收形状,然后单击编辑筛选器表达式。
在 “筛选器表达式 ”对话框中,在第一个打开行的“属性”列中,从下拉列表中选择 Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode 。 在“运算符”列中,从下拉列表中选择 != 。 在“值”列中,键入三位数的 PIP 代码,例如,键入“3A4”。
单击 “确定” 。
在解决方案资源管理器中,右键单击包含业务流程的项目,然后单击“ 生成”。
成功生成项目后,右键单击该项目,然后单击“ 部署”。
在“ 文件 ”菜单上,指向 “打开”,然后单击“ 项目”。
移动到 <drive>:\Program Files\BizTalk <version> Accelerator for RosettaNet\SDK\ PrivateResponder,选择 PrivateResponder.odx,然后单击“ 确定”。
在解决方案资源管理器中,右键单击项目,然后单击“ 生成”。
成功生成项目后,右键单击该项目,然后单击“ 部署”。