步骤 5:修改 Contoso 私有业务流程
在此步骤中,将修改专用业务流程以将其集成到 Contoso 的企业资源计划 (ERP) 系统中。 Contoso 的 ERP 系统将内部定义的架构用于产品价格与可用性。 通过自定义 3A2 - 价格与可用性合作伙伴接口流程 (PIP) 的专用流程,你将能够使用架构映射信息与 ERP 系统集成。
添加对 Contoso PriceAndAvailability 和 RNPIP 程序集的引用
在 解决方案资源管理器 中显示 Contoso 解决方案后,右键单击 PrivateResponder 项目,然后单击“添加引用”。
在“添加引用”对话框中,单击“ 浏览”。 移动到 <drive>:\Program Files\Microsoft BizTalk <version> Accelerator for RosettaNet\Bin 文件夹,然后选择以下程序集:
Microsoft.Solutions.BTARN.CommonTypes.dll
Microsoft.Solutions.BTARN.ConfigurationManager.dll
Microsoft.Solutions.BTARN.GlobalSchemas.dll
Microsoft.Solutions.BTARN.PublicResponder.dll
Microsoft.Solutions.BTARN.Schemas.RNPIPs.dll
Microsoft.Solutions.BTARN.Shared.dll
Microsoft.Solutions.BTARN.XSDClasses.GlobalSchemas.dll
单击“添加”。
在“添加引用”对话框中,单击“ 项目 ”选项卡,选择“ ContosoPriceAndAvailability ”和“ HeaderHelper ”项目,然后单击“ 添加”。
单击 “确定” 。
在“Microsoft 开发环境”对话框中,单击“ 确定”。
创建新消息类型
在解决方案资源管理器中,双击 PrivateResponder 业务流程将其打开。
在“解决方案资源管理器”中,单击“业务流程视图”。
在“业务流程视图”中,右键单击“ 消息”,然后单击“ 新建消息”。
在属性窗口的“标识符”框中,键入 PIP3A2RequestMessage。
在“消息类型”框中,单击下拉箭头,展开“架构”,然后选择“<从引用的程序集>中选择”。
在“选择项目类型”对话框中,选择左窗格中的“ Microsoft.Solutions.BTARN.Schemas.RNPIP ”,在右窗格中选择“ _3A2PriceAndAvailabilityQueryMessageGuideline_v1_3 ”,然后单击“ 确定”。
使用以下信息重复步骤 3 至 6,为解决方案创建所有消息类型:
标识符 程序集 消息类型 PIP3A2ResponseMessage Microsoft.Solutions.BTARN。
Schemas.RNPips_3A2PriceAndAvailability
ResponseMessageGuideline_v1_3Contoso3A2ResponseMessage ContosoPriceAndAvailability rootPriceResponse Contoso3A2RequestMessage ContosoPriceAndAvailability rootPriceRequest 你已经完成为解决方案创建消息类型。
创建新变量
在“业务流程视图”中,右键单击“ 变量”, 然后单击“ 新建变量”。
在属性窗口的“标识符”框中,键入 contosoResponseXML。
在“ 类型 ”框中,从下拉列表中选择“ <.NET 类> ”。
在“选择项目类型”对话框的左窗格的“ 当前项目 ”和“ 引用” 节点下,选择 “System.Xml”,从右窗格的列表中选择“ XmlDocument ”,然后单击“ 确定”。
在 “业务流程视图”中,单击“ 变量”,然后单击“ 新建变量”。
在属性窗口的“标识符”框中,键入 submitMessage。
在“ 类型 ”框中,从下拉列表中选择“ <.NET 类> ”。
在“选择项目类型”对话框的左窗格中,展开“ 当前项目 ”和“ 引用” 节点,选择“ Microsoft.Solutions.BTARN.Shared”,从右窗格的列表中选择“ SubmitRNIF ”,然后单击“ 确定”。
更改业务流程筛选器表达式
在“业务流程Designer”中,选择“ReceiveFromPublicProcessResponder”形状。
在属性窗口的“筛选器表达式”框中,单击值框,然后单击省略号按钮 (...) 打开“筛选表达式”对话框。
在“筛选表达式”对话框的“ 分组依据 ”部分中,单击第一行上的 “OR ”值,然后从下拉列表中选择“ AND ”。
在“筛选器表达式”对话框中,单击“ 单击此处添加新行”,然后从下拉列表中选择“ Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode ”。
在同一行中,单击“值”,然后键入“3A2”。
在同一行中,单击“分组依据”框中的“AND”,然后从下拉列表中选择“OR”。
在“筛选器表达式”对话框中,选择刚刚创建的行,然后单击一次向上箭头按钮,向上移动一行。
单击 “单击此处”添加新行,然后从下拉列表中选择“ Microsoft.Solutions.BTARN.GlobalSchemas.SCPIPCode ”。
在同一行中,单击“值”,然后键入“3A2”。
单击“确定”。
修改业务流程工作流
将 “消息分配 ”形状从“工具箱”拖到设计图面,并将其拖放到 ReceiveFromPublicProcessResponder 形状下。 选择创建的 ConstructMessage_1 形状,在 “属性” 窗口的“ 名称 ”框中,键入 “ConstructPIP3A2RequestMessage”。
将 转换 形状拖到设计图面,并将其拖放到 ConstructPIP3A2RequestMessage 形状下。 选择创建的 ConstructMessage_1 形状,在 “属性” 窗口的“ 名称 ”框中,键入 “ConstructContoso3A2RequestMessage”。
将 “发送 ”形状拖到设计图面,并将其拖放到 ConstructContoso3A2RequestMessage 形状下。
将 接收 形状拖到设计图面,并将其拖放到 Send_1 形状下。
在业务流程设计图面上,单击空白区域。
在属性窗口,选择“事务类型”属性,然后单击“长时间运行”。
将 范围 形状拖到设计图面,并将其拖放到 Receive_1 形状下。
在属性窗口,从“事务类型”属性下拉列表中,为“作用域”形状选择“原子”。
将“调用规则”形状拖到设计图面上,并将其拖放到标签上,该标签显示“将工具箱中的形状”拖放到“范围”形状内。 在“调用规则”形状属性窗口的“名称”框中,键入 Execute3A2Vocabulary。
将 转换 形状拖到设计图面,并将其拖放到 Scope_1 形状下。 单击 ConstructMessage_1 形状。 在属性窗口的“名称”框中,键入“Construct3A2ResponseMessage”。
将 表达式 形状拖到设计图面,并将其拖放到 Construct3A2ResponseMessageTransform 形状下。
在 Visual Studio 的“ 文件”上,单击“ 全部保存 ”以保存项目。