CBRSample(BizTalk Server 示例)
CBRSample 示例演示如何应用筛选器和出站映射,以便基于内容转换和路由实例消息。
本示例的用途
本示例演示如何基于国家/地区代码将包含名称、地址和联系信息的消息路由到两个文件夹之一。 具体而言,本示例执行下列操作:
定义包含人员相关基本信息的示例消息格式,这些基本信息包括带有用户 ID 和全名的标识、带有国家/地区代码的地址以及电话联系信息。
提升输入文档中的 CountryCode 属性,以便在端口筛选器中使用它来控制转换和路由。
当 CountryCode 等于 200 时,将消息转换为加拿大版本;当 CountryCode等于 100 时,将消息转换为美国版本。 这两个转换都通过除中间初始 (初始) 以外的所有数据。 加拿大版本还将 省 映射到 省 , 将邮政编码 映射到 PinCode。
将来自美国的消息路由到 US 目录,将来自加拿大的消息路由到 CAN 目录。
此示例的设计方式和原因
本设计依赖于 BizTalk Server 中的默认发送和接收 XML 管道、属性升级、订阅筛选器和出站映射来路由消息。 下表显示了设计元素及其选入理由。
设计元素 | 选择的原因 |
---|---|
默认 XML 接收管道 | - XMLReceive 管道支持属性提升;PassThruReceive 管道不这样做。 - 入站消息已采用 XML 格式,无需在基本反汇编和参与方解析之后进行处理。 |
物业升级 | - BizTalk Serverdepends 对属性字段执行路由。 业务流程使用可分辨字段,并且该字段不能用于路由。 |
订阅筛选器 | - 订阅筛选器通过根据属性字段捕获满足一个或多个条件的消息来执行实际路由。 |
出站映射 | - 映射将数据从一种格式转换为另一种格式。 本示例将入站消息映射为美国或加拿大格式。 |
XMLTransmit | - 执行传出 XML 消息的基本程序集;PassThruTransmit 管道不提供其他支持。 |
可对此基本模式进行扩展,将其用于更加复杂的情形。
本示例所在的位置
此示例位于 <Samples Path>
\Messaging\CBRSample\。
下表显示了本示例中的文件及其用途说明:
文件 | 说明 |
---|---|
CBRDataCAN.Xml、CBRDataUS.Xml | 与文件 CBRInputSchema.xsd 中定义的架构相符的示例输入文件。 |
CBRInput2CANMap.btm、CBRInput2USMap.btm | 分别适用于加拿大和美国格式转换的映射文件。 |
CBRInputSchema.xsd、CBROutputSchemaCAN.xsd 和 CBROutputSchemaUS.xsd | 分别适用于输入格式、加拿大输出格式和美国输出格式的架构文件。 |
CBRPromotedPropertySchema.xsd | 与 XML 输入文件中 的 CountryCode 元素对应的升级属性的架构文件。 |
CBRSample.btproj、CBRSample.sln | 本示例的 BizTalk 项目和解决方案文件。 |
Cleanup.bat | 用于取消部署程序集并从全局程序集缓存中删除这些程序集。 删除发送和接收端口。 根据需要删除 Internet 信息服务 (IIS) 虚拟目录。 |
Setup.bat | 用于生成和初始化本示例。 |
如何使用本示例
本示例用作基于内容路由消息所需的操作的可运行示例。
生成和初始化此示例
若要生成并初始化 CBRSample 示例,您需要为本示例生成并部署 BizTalk 项目、配置接收端口和位置,并配置两个不同的发送端口。
为本示例生成并部署 BizTalk 项目
在命令窗口中,导航到下面的文件夹:
<Samples Path>
\Messaging\CBRSample运行 Setup.bat,它执行以下操作:
为此示例创建输入 (in) 和输出文件夹 (US 和 CAN) 。
为本示例编译并部署 Microsoft Visual Studio 项目。
创建并绑定 BizTalk Server 接收位置、发送和接收端口。
注意
此示例在创建和绑定端口时显示以下警告:
警告:未为接收位置“CBRReceiveLocation”指定接收处理程序;使用匹配传输类型的第一个接收处理程序进行更新。
可以放心地忽略此警告。 (为了适应用户安装中可能存在的命名差异,绑定文件中省略了主机名和接收处理程序。)
注意
在尝试运行本示例前,您应确认在生成和初始化过程中 BizTalk Server 未报告任何错误。
注意
如果选择在此示例中打开并生成项目而不运行 Setup.bat,则必须首先使用.NET Framework强名称实用工具 (sn.exe) 创建强名称密钥对。 使用此密钥对对对生成的程序集进行签名。
注意
若要撤销 Setup.bat 所做的更改,请运行 Cleanup.bat。 必须在第二次运行 Setup.bat 之前运行 Cleanup.bat。
准备配置接收端口和位置以及发送端口
在 Microsoft SQL Management Studio 中,选择正确的 BizTalk 管理数据库。
注意
BizTalk 管理数据库也称为 BizTalk 配置数据库。
配置、登记并启动 U.S. 发送端口
在BizTalk Server管理控制台中,展开“发送端口”,右键单击“CBRUSSendPort”,然后单击“编辑”。
在“ 静态 One-Way 发送端口属性 ”对话框中,在对话框左侧的文件夹树中,选择“ 筛选器 & 映射 |筛选,然后通过将 “属性” 设置为 CBRSample.CountryCode,将 “运算符” 列设置为 ==,并将 “值 ”列设置为 100 来添加新行。
在对话框左侧的文件夹树中,选择“ 筛选器 & 映射 |出站映射,将 Map to apply 属性设置为 CBRSample.CBRInput2USMap,然后单击“ 确定”。 您可能需要单击滚动按钮才能显示映射。
配置、登记并启动 Canadian 发送端口
在BizTalk Server管理控制台中,展开“发送端口”,右键单击“CBRCANSendPort”,然后单击“编辑”。
在“ 静态 One-Way 发送端口属性 ”对话框中,在对话框左侧的文件夹树中,选择“ 筛选器 & 映射 |筛选,然后通过将 “属性” 设置为 CBRSample.CountryCode,将 “运算符” 列设置为 ==,并将 “值 ”列设置为 200 来添加新行。
在对话框左侧的文件夹树中,选择“ 筛选器 & 映射 |出站映射,将 Map to apply 属性设置为 CBRSample.CBRInput2CANMap,然后单击“ 确定”。
以上步骤可将发送端口连接到接收端口。 此示例使用升级的属性来路由文档。
BizTalk Server 现在便可使用本示例。
运行本示例
使用以下过程运行 CBRSample 示例。
运行本示例的步骤
将输入文件 (CBRDataCAN.xml 和 CBRDataUS.xml)复制到以下输入文件夹中:
<Samples Path>
\Messaging\CBRSample\In根据 CountryCode 元素 (100 与 200) 的值,观察每个文件是如何转换和路由到以下两个输出文件夹之一的:
BizTalk Server转换输入文件并将其CBRDataCAN.xml 路由到 文件夹:
<Samples Path>
\Messaging\CBRSample\CANBizTalk Server转换输入文件并将其CBRDataUS.xml 路由到 文件夹:
<Samples Path>
\Messaging\CBRSample\US
本示例中使用的类或方法
无。