2015-09-19 54 views
-1

我有一个XML到XML地图,输出精美。问题是我们想根据这个元素/字段进入映射(有两个不同的值可以填充相同的字段)来路由输出。基于元素值的BizTalk 2010输出文件路由

问题是该字段在输出中重复出现,因此该字段无法在出站地图中升级。如果我们将过滤器应用到发送端口,我们似乎只能在两个位置输出它。

我已经尝试在使源文件中的字段在区分和提升后定义基于该字段的变量。我尝试过自定义接收管道以及发送管道:目前最接近的是输出到两个位置。

我知道这对大部分人来说都是小孩子玩的,但是我自己也很难过。任何援助表示赞赏。

+0

您是否可以在传出消息中创建非重复元素或属性,以便进行升级? – Dijkgraaf

+0

我无法修改出站方案 - 甚至无法将值粘贴到另一个字段。如果我可以将其插入到出站文件名中,我可以使用文件掩码进行排序并根据该文件发送到不同的端口 – TBAN65

+0

然后创建一个中间模式,您可以在该模式中获取该值,并在发送端口上映射转换它的映射从中间到最终的模式,简单。 – Dijkgraaf

回答

1

有一个内部使用的规范模式,该模式具有用于路由作为提升属性的元素。

将传入消息映射到规范模式。

让您的发送端口订阅规范架构上的提升属性。

在每个发送端口上都有一张映射从规范模式到所需外向模式的映射。

+0

现在我的指令是不使用订阅提升属性的端口,而是使用表达式,然后通过决定形状广告推送消息,然后将相应的端口移出。我越来越挂在我的变量“idNum”,这是一个System.Int32变量的表达式。目标是在模式中获取IDNUM的相应值以填充此变量,然后使用该变量作为使用决定形状进行路由的手段。有任何想法吗? – TBAN65

+0

@ TBAN65一个相当愚蠢的指令。但我不清楚你的问题是什么。为什么不将它作为实际问题发布并添加更多详细信息?你知道你可以添加额外的分支到决定形状吗? – Dijkgraaf

+0

我知道我可以添加额外的分支。这里的目标是从消息框内部发送消息,而不是像过去那样在端口上使用过滤器。这只是一个练习,我必须完成,虽然很愚蠢。 – TBAN65