自定义处理特定 PIP 的专用流程
你可以创建特定的筛选器表达式,使响应方专用业务流程处理或不处理特定合作伙伴接口流程 (PIP) 的实例。 这样你就可以灵活地创建自定义专用流程来接收和处理某些 PIP 实例,而使用默认的专用流程来处理所有其他 PIP 实例。
若要创建自定义专用流程以处理一个或多个特定 PIP,可为专用业务流程的接收形状创建筛选器表达式。 例如 Microsoft® BizTalk Accelerator for RosettaNet (BTARN) SDK 中的 PIP3A4PrivateResponder.odx 业务流程。 它位于 <drive>:\Program Files\BizTalk <版本> Accelerator for RosettaNet\SDK\PIP3A4Process using Business Rules\PIP3A4PrivateResponder。
除创建只处理特定 PIP 实例的专用流程外,还必须自定义默认的 BTARN 专用流程,使其不处理该 PIP 的实例。
自定义处理特定 PIP 的响应方专用流程
在 Visual Studio 中,创建自定义响应方专用进程业务流程,以处理特定 PIP。 可以基于默认的 BTARN 响应方专用业务流程来创建该业务流程。
注意
你可以在 BTARN SDK 中查找默认的响应方专用业务流程,其名称为 PrivateResponder.odx。 它位于 <drive>:\Program Files\BizTalk <版本> 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 <版本> Accelerator for RosettaNet\SDK\PrivateResponder,选择 “PrivateResponder.odx”,然后单击“ 确定”。
在解决方案资源管理器中,右键单击该项目,再单击 “生成”。
成功生成项目后,右键单击该项目,然后单击“ 部署”。