如何:将文本文档转换为 XML 并使用路线传送名单将其路由至文件位置
目标
本节演示如何创建将文本文档转换为 XML 的管道,然后选择适当的路线并将消息路由到文件位置。
在本操作方法主题中,你将完成以下步骤:
使用管道接收平面文件文档并将其转换为 XML。
配置路线选择器管道组件以解析相应的路由名单。
创建使用自定义管道的 on-ramp。
测试平面文件消息的基于路线的路由。
必备条件
本操作方法主题中的过程要求完成 开发活动的先决条件。
开始之前
在执行本操作指南主题后面的步骤之前,请完成以下任务:
部署 DataFormatTransformation 路线。
创建测试消息。
以下过程介绍了如何执行其中每个操作。
部署 DataFormatTransformation 路线
在 Visual Studio 中,打开 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DataFormatTransformation\DataFormatTransformation.sln。
在 解决方案资源管理器,在“行程.Library”项目中,双击“DataFormatTransformation.itinerary”以在“行程”Designer中将其打开。
在 Visual Studio 中,单击 DataFormatTransformation.itinerary 的设计图面。 在 DataFormatTransformation.itinerary 属性窗口中,配置以下属性:
在 “行程状态” 下拉列表中,单击“ 已部署”。
在 “模型导出程序 ”下拉列表中,单击“ 数据库路线导出程序”。
单击“ 行程数据库 ”属性旁边的省略号按钮 (...) 。
在“连接属性”对话框中,选择承载路线存储库数据库的SQL Server,然后指定数据库的名称 (默认名称为 EsbItineraryDb) 。
保存所有项目项目。
在 Visual Studio 中,右键单击 DataModelTransformation 路线的设计图面,然后单击“ 导出模型”。
创建接收管道
在 Visual Studio 中,右键单击“ DataFormatTransformation.Schemas”,然后单击“ 属性”。 单击“应用程序”,然后在“程序集名称”框中键入 GlobalBank.ESB.DataFormatTransformation.Schemas。
右键单击“ DataFormatTransformation.Schemas”,然后单击“ 属性”。 单击“签名”,然后验证是否已选中“将程序集检查签名”框,以及程序集位置是否指向 .\.。\..\..\..\..\keys\Microsoft.Practices.ESB.snk。
右键单击“ DataFormatTransformation.Pipelines”,然后单击“ 删除”。
右键单击“ DataFormatTransformation”,指向 “添加”,然后单击“ 新建项目”。 单击“ Biztalk 项目”,然后单击“ 空 Biztalk Server 项目”。 在“ 名称 ”框中,键入 DataFormatTransformationReceive.Pipeline。
右键单击“DataFormatTransformationReceive.Pipeline”,然后单击“属性”。 单击“签名”,然后验证是否已选中“将程序集检查签名”框,以及程序集位置是否指向 C:\projects\Microsoft.Practices.ESB\keys\Microsoft.Practices.ESB.snk。
右键单击“ DataFormatTransformationReceive.Pipeline”,指向 “添加”,然后单击“ 新建项”。
在 “添加新项 ”对话框中,单击“模板”窗格中的“ 接收管道 ”。 在“ 名称 ”框中,键入 “行程”“SelectReceiveFF”,然后单击“ 添加”。
右键单击 DataFormatTransformationReceive.Pipeline 项目的 引用 ,然后单击“ 添加引用”。 单击“ 项目 ”选项卡,然后单击“ DataFormatTransformation.Schemas”。 单击“ 确定 ”添加引用。
从“工具箱”中,将 平面文件反汇编程序 管道组件拖到管道的 “反汇编 ”阶段。
在平面文件反汇编属性窗口中,单击“文档架构”下拉列表中的“DataModelTransformation.Schemas.NAOrderDocFF”。
从“工具箱”中,将 ESB 路线选择器 管道组件拖到管道的 “解析方 ”阶段。
从“工具箱”中,将 ESB 调度程序 管道组件拖到管道的 “解析方 ”阶段,然后将其置于 ESB 路线选择器 管道组件下。
保存所有项目项目。
创建测试消息
在 DataFormatTransformation.Schemas 项目的 NAOrderDocFF.xsd 架构文件中单击一次。 在 Visual Studio 的“属性”窗格中,更改以下两个属性:
生成实例输出类型。 单击此属性的下拉列表,将其更改为 “本机”。
输出实例文件名。 单击此属性的省略号按钮 (...) ,并接受默认路径 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DataFormatTransformation。 在“ 文件名 ”框中,键入 “NAOrderDocFF”,然后单击“ 保存”。
右键单击“DataFormatTransformation.Schemas”下的“NAOrderDocFF.xsd”,然后单击“生成实例”。 此时,应在 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DataFormatTransformation 目录中生成一个新文件。
复制 (不会) 文件 NAOrderDocFF.txt 从 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DataFormatTransformation 移动到 C:\HowTos。
注意
这是你将接收并转换为 XML 的消息。 本文档表示北美订单文档的平面文件版本。
步骤
部署接收管道和架构
右键单击“DataFormatTransformationReceive.Pipeline”,然后单击“属性”。 单击“部署”,然后在“应用程序名称”框中键入 Microsoft.Practices.ESB。
右键单击 DataFormatTransformation.Schemas 项目,然后单击“属性”。 单击“部署”,然后在“应用程序名称”框中键入 Microsoft.Practices.ESB。
关闭 DataFormatTransformationReceive.Pipeline 和 DataFormatTransformation.Schemas 的属性窗格。
在“解决方案资源管理器”中,右键单击“DataFormatTransformation”项目,然后单击“部署解决方案”。
创建和配置 ESB on-ramp
单击任务栏上的“开始”,依次指向“所有程序”、“BizTalk Server”,然后单击“BizTalk Server管理”。
在BizTalk Server管理控制台中,依次展开“BizTalk 组”、“应用程序”和“Microsoft.Practices.ESB”。
右键单击“ 接收位置”,指向 “新建”,然后单击“ 单向接收位置”。
在 “选择接收端口 ”对话框中,单击“ OnRamp.Itinerary”,然后单击“ 确定”。
在“ 接收位置属性 ”对话框的“ 名称 ”框中,键入 OnRamp.Itinerary.FlatFile.FILE。
在 “类型 ”下拉列表中,单击“ 文件”,然后单击“ 配置”。
在“ 文件传输属性” 对话框的“ 接收文件夹 ”框中,键入 C:\HowTos\DropFolder。
在 “ 文件传输属性” 对话框的 “ 文件掩码 ” 框中,键入 *.txt,然后单击 “ 确定”。
配置路线选择器管道组件
在“接收位置属性”对话框中,单击“接收管道”下拉列表中的“行程”“选择”ReceiveFF“,然后单击省略号按钮 (...) 。
使用 “ 配置管道 ” 对话框可以配置以下 路线选择器 组件属性:
单击“ ItineraryFactKey ”属性,然后键入 Resolver.Itinerary。
单击 ResolverConnectionString 属性,键入 “ITINERARY:\\name=DataFormatTransformation”; 然后单击“ 确定”。
单击“ 确定 ”关闭“ 接收位置属性 ”对话框。
在BizTalk Server管理控制台中,右键单击“OnRamp.Itinerary.FlatFile.FILE”接收位置,然后单击“启用”。
测试平面文件消息的基于路线的路由
在 Windows 资源管理器中,浏览到 C:\HowTos。
复制 (不会将) NAOrderDocFF.txt 移动到 C:\HowTos\DropFolder。
浏览到 C:\HowTos\Out。验证 DFT%MessageID%.xml 消息是否已写入目录。
在BizTalk Server管理控制台中,右键单击 OnRamp.Itinerary.FlatFile.FILE 接收位置,然后单击“禁用”。
禁用 OnRamp.Itinerary.FlatFile.FILE 接收位置后,右键单击它,然后单击“ 删除”。 在 “确认删除接收位置 ”对话框中,单击“ 是”。
其他资源
有关详细信息,请参阅下列相关主题: