无编排的简单 BizTalk 项目





5.00/5 (8投票s)
仅包含消息的简单 BizTalk 项目
引言
大多数技术人员都认为 BizTalk 是一种基于编排的解决方案。但使用编排设计解决方案会在消息框中进行往返。
每当需要设计复杂的业务逻辑时,编排都是最佳方法。
但是,如果您只需要实现简单的转换而无需业务逻辑,那么仅消息解决方案是最佳方法,它可以避免消息框的往返,并提高解决方案的吞吐量。
让我们快速创建一个不带编排的消息解决方案 J
步骤
创建 BizTalk 输入和输出架构
创建映射
创建输入消息的实例
部署解决方案
部署前步骤
部署
配置应用程序
部署后检查
配置接收端口/位置
配置发送端口
在发送端口中配置映射
配置发送端口中的筛选器
部署后任务
测试解决方案
故障排除
创建 BizTalk 输入和输出架构
启动 >> Visual Studio 2010 >> BizTalk >> 空 BizTalk Server 项目
将名称和解决方案名称重命名为 MessageOnlySln
在解决方案资源管理器中,右键单击项目并选择“添加”>>“新项”
从项中选择架构,并将架构重命名为 ReceiveSchema.xsd
将创建一个新的架构,其根元素为“root”,将其重命名为“Input”
BizTalk 通过 消息类型 来标识消息。消息类型是 “命名空间#根” 的一个组成部分。
![]() |
现在创建两个子字段元素,分别为 FirstName 和 LastName,数据类型为 string(默认)
最后,ReceiveSchema 应如下所示:
按照上述步骤 2、3、4、5 创建 SendSchema.xsd,其中包含一个名为“FullName”的子字段元素。
创建映射
映射是 BizTalk 中的消息转换对象。架构 ReceiveSchema 和 SendSchema 之间的转换在此进行。映射在内部是 XSLT 转换。
让我们创建一个简单的映射
创建一个新映射,并将其命名为 ConcatenateMap.btm
创建的映射将包含“打开源架构”和“打开目标架构”的链接。
单击这些链接,然后选择源(ReceiveSchema.xsd)和目标架构(SendSchema.xsd)。
选择架构后,展开根节点以查看底层元素。
我们将执行一个简单的连接操作,将 FirstName 和 LastName(源架构)连接到 FullName(目标架构)。
拖放字符串连接函数。
函数(Functoids)是现成的逻辑函数,可用于在映射中转换数据。
您可以看到函数中的警告,因为没有提供输入/输出。
对于所有函数,都有一个描述,双击即可找到。
现在,将源架构中的 FirstName 和 LastName 元素链接到连接函数的左侧,并将结果(右侧)链接到输出架构的 FullName 元素。
请注意,函数警告符号已消失。
正如之前所说,映射在内部是 XSLT……让我们看看这个映射是如何形成 XSLT 的。
右键单击 ConcatenateMap.btm 并单击“验证映射”。
如果您单击 XSLT 的输出链接:
您将看到如下所示的 xslt:
至此,我们已经完成了功能创建。但在部署之前,我们应该进行单元测试,现在我将跳过这一部分 J
创建输入消息的实例
要创建实例,请右键单击 ReceiveSchema.xsd 并选择“生成实例”。
架构的实例将在指定位置生成。输出窗口将显示位置为:
C:\Users\<PC-Name>\AppData\Local\Temp\_SchemaData\ReceiveSchema_output.xml
打开实例文件。
由于“生成实例”默认的字段名称带有值,请根据需要进行更改。
在测试之前,请准备好此文件。
部署解决方案
我们完成了!开始部署解决方案 J
部署前步骤
所有 BizTalk 工件(架构、映射、编排)或整个项目在部署前都必须进行强命名。
在解决方案资源管理器中,右键单击 MessageOnlySln 项目并选择“属性”。
在左侧窗格中导航到“签名”选项卡。
单击“对程序集签名”,然后选择一个强名称密钥文件,例如“新建”。
将文件名设置为“MessageOnlySlnKey”,然后取消选中“使用密码保护我的密钥文件”。
将在解决方案资源管理器中创建如下所示的新密钥:
现在转到“部署”选项卡。
现在,将应用程序名称创建为“MessageOnlyAppln”,该名称将用于在 BizTalk 管理控制台中创建应用程序。如果未指定此名称,则此解决方案将部署在默认应用程序(BizTalk Application 1)中。
保存所有未保存的工件!
部署
现在,右键单击解决方案资源管理器中的项目,然后选择“部署”。
Visual Studio 左下角将显示“部署开始”文本。
稍后,“部署成功”。
在 BizTalk 管理控制台中,将创建名为 MessageOnlyAppln 的新应用程序。
注意:如果出现错误:
请确保 BizTalk 的必要服务已启动并正在运行。
如果出现“访问被拒绝”错误,请以管理员身份重新启动 Visual Studio。
另外,请确保您没有遗漏上述任何步骤。
配置应用程序
部署后检查
确保架构和映射在控制台的相应区域可用。
配置接收端口/位置
端口是 BizTalk 中发布/订阅模型的数据源。所有消息都由 BizTalk 中的端口发布/订阅。
配置接收端口/位置
创建一个新的接收端口。
在“常规”选项卡中,将端口重命名为 InboundRcvPort。
创建接收位置。
在此窗口中单击“接收位置”,然后单击下图所示的“新建”。
按如下方式配置接收位置:
单击“配置”按钮,并提供 Inbound 文件夹的位置。
单击所有底层窗口上的“确定”。
确保接收位置如下所示:
配置发送端口
消息将被基于文件的接收适配器拾取 >> 然后传输到接收端口并传递到消息框。
现在,我们需要通过任何上下文属性(BTS.ReceivedFileName)订阅此传递的消息,以便应用出站映射。此处将在发送端口应用映射。
按如下方式创建一个发送端口:
单击“静态单向发送端口”,将其重命名为“OutboundSendPort”,并进行所有如下所示的配置。
单击“配置”按钮,并提供 Outbound 文件夹的位置。
在发送端口中配置映射
单击同一窗口左侧窗格中的“出站映射”。
选择如下所示的映射。
单击“应用”。
配置发送端口中的筛选器
筛选器是用于从消息框订阅消息的。
在同一窗口左侧窗格的“筛选器”选项卡中,选择上下文属性。
从下拉列表中选择“BTS.ReceivedPortName”。
为属性提供值:“InboundRcvPort”。
您可以根据需要选择任何上下文属性(例如 BTS.MessageType)。
应用所有设置,然后单击所有窗口上的“确定”。
部署后任务
接收位置和发送端口将处于禁用状态,右键单击并启用它们。
2. 确保主机实例 BizTalkServerApplication 已启动并正在运行。
测试解决方案
既然已经完成了所有配置部分,现在是时候测试整个解决方案了。
复制您在上一个任务中生成的实例文件。
将文件放在接收位置配置的 Inbound 文件夹中。
文件将立即被拾取,输出将被转换并放置在 output 文件夹中,文件名为唯一的 MessageID 。
输出文件将如下形成:
太棒了!我们做到了 J解决方案按预期工作。
故障排除
如果文件未在发送文件夹中形成:
仔细检查配置的筛选器属性和值。
确保配置的发送位置有效。
有关更多帮助,请检查“挂起的服务实例”以获取确切问题。
通过这些,我们学习了如何在 BizTalk 中创建一个简单的仅消息解决方案。
希望这有帮助…!