自定义处理特定 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 的响应方专用流程

  1. 在 Visual Studio 中,创建自定义响应方专用进程业务流程,以处理特定 PIP。 可以基于默认的 BTARN 响应方专用业务流程来创建该业务流程。

    注意

    你可以在 BTARN SDK 中查找默认的响应方专用业务流程,其名称为 PrivateResponder.odx。 它位于 <drive>:\Program Files\BizTalk <版本> Accelerator for RosettaNet\SDK\PrivateResponder。

  2. 将该自定义业务流程添加到 BizTalk 项目中。 确保该项目中具有对 Microsoft.Solutions.BTARN.GlobalSchemas.dll 文件的引用。

  3. 在业务流程设计器中打开该自定义业务流程。

  4. 右键单击激活业务流程的第一个 接收 形状,然后单击 “编辑筛选器表达式”。

    注意

    默认 BTARN 响应方专用进程业务流程的接收形状有两个筛选条件:Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == “AsyncAction” 或 Microsoft.Solutions.BTARN.GlobalSchemas.SCCategory == “SyncAction”。 此表达式确保该业务流程处理 RosettaNet 消息。 请在自定义业务流程中保留此筛选器表达式。

  5. 在“ 筛选器表达式 ”对话框的第一个打开行的“属性”列中,从下拉列表中选择 “Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode” ,在“运算符”列中,从下拉列表中选择 == “值”列中,键入三位数的 PIP 代码,例如键入 3A4

  6. 单击 “确定”

  7. 在业务流程设计器中打开默认的响应方专用业务流程项目 (PrivateResponder.btproj)。 确保在该项目中具有对 Microsoft.Solutions.BTARN.GlobalSchemas.dll 文件的有效引用。

  8. 双击“ PrivateResponder.odx”。

  9. 右键单击 ReceiveFromPublicProcessResponder 接收形状,然后单击 “编辑筛选器表达式”。

  10. 在“ 筛选器表达式 ”对话框的第一个打开行的“属性”列中,从下拉列表中选择 “Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode ”。 在“运算符”列中,从下拉列表中选择“ != ”。 在“值”列中,键入三位数的 PIP 代码,例如,键入“3A4”。

  11. 单击 “确定”

  12. 在“解决方案资源管理器”中,右键单击包含业务流程的项目,然后单击“生成”。

  13. 成功生成项目后,右键单击该项目,然后单击“ 部署”。

  14. 在“ 文件 ”菜单上,指向“ 打开”,然后单击“ 项目”。

  15. 移动到 <drive>:\Program Files\BizTalk <版本> Accelerator for RosettaNet\SDK\PrivateResponder,选择 “PrivateResponder.odx”,然后单击“ 确定”。

  16. 在解决方案资源管理器中,右键单击该项目,再单击 “生成”。

  17. 成功生成项目后,右键单击该项目,然后单击“ 部署”。

另请参阅

编程指南