1

我有五个不同的 Excel 文件(不同的结构和不同的数据),它们将被处理成一个输出消息(XML 文件)。文件以不同的顺序到达,所有文件都需要创建输出 xml 文件。

我怎样才能在 Biztalk 中做到这一点?

更具体的问题:

1.是否可以在Biztalk中聚合不同类型的消息并具有多个主体的消息?

2.我可以将5个excel文件聚合成一条消息,然后执行输出管道来处理它们吗?

4

2 回答 2

3

我将按如下方式处理这个问题:

  1. 创建一个表示目标格式的新模式,我们将传入的消息映射到这种格式。
  2. 创建表示传入 Excel 电子表格的架构(可能是 Xml,而不是平面文件)。通过自定义管道组件(使用 Excel SDK 并不太难)或通过第三方工具(例如 Farpoint Spread http://www.fpoint.com/biztalk )将 Excel 文件分解为相应的架构/default.aspx ),在http://excel2007pipeline.codeplex.com/上还有一个关于 codeplex 的开源组件
  3. 将接收端口上的传入 xml 消息(反汇编的 Excel 文件)映射到 1 中创建的目标格式。接收端口上可以使用多个接收位置,每个传入消息格式一个;同样,可以在接收端口上指定多个映射,并且 BizTalk 将根据传入消息类型(模式命名空间+根节点名称)自动选择正确的映射。

关于聚合消息,看看并行和顺序护航;关于具有多个正文的消息,请查看多部分消息 - 两者都超出了此问题的范围,除非您围绕您试图通过这些概念实现的目标添加更多细节。

于 2013-10-04T09:03:38.527 回答
2

大致同意尼克上面的回答,尤其是在入站管道中映射消息。

但是,我不会在 BizTalk 中通过顺序护送模式实现聚合,因为这样做需要使用单例编排,这是 BizTalk 反模式(和支持噩梦)。

基本的并行护卫队可以工作,因为每组 5 个输入将被路由到一个编排实例,该编排实例将在完成后终止。

于 2013-10-04T09:27:24.513 回答