0

我有一个编排,它从 XmlDocument 类型的消息框中接收消息。这些消息已经提升了属性,我在我的项目中包含了属性模式,以便我可以过滤它们(一个单独的应用程序正在创建这些消息)。然后,我通过标准消息分配形状将未键入的消息分配给键入的消息(我没有更改名称空间),例如

MsgAgressoNewStarters = MsgXmldoc;

然后我将消息输出到文件位置。但是,当我这样做时,也会输出属性模式。

我怎样才能防止这种情况?我试过过滤器等。

谢谢

2012 年 5 月 10 日

我想我可能会以错误的方式解决这个问题,也许如果我描述完整的场景,你可能会发现我故意的错误;)

我们正在使用 BizTalk 2010。

我有一个 BizTalk 应用程序,它与从我们的一个系统返回报告的第 3 方通用 Web 服务对话。该应用程序通过预定适配器激活,该适配器发送一个 XML 文档,其中包含两个值,即报告名称和它所针对的接口。Web 服务将报告作为单个 XML 节点上的字符串返回,该字符串本身就是一个 XML 文档。然后,我将此字符串加载到 System.Xml.XmlDocument 类型的消息中。无法从数据的格式中得知该消息用于什么报告或用于什么接口。我需要将此消息发送到消息框,以供任意数量的相关 biztalk 应用程序接收。到目前为止,我已经尝试使用两个值(来自属性模式)创建一个相关集,并将其用作发送形状上的初始化相关集。然后,我在另一个 BT 应用程序上使用了相同的属性模式来过滤消息。这可行,但由于某种原因,我收到两条消息,一条是活动编排的 XML,该编排具有与属性架构和相关集相同的字段。BizTalk 似乎无法区分它们之间的区别,尽管它们在结构上有所不同,这就是我的问题开始的地方。

我现在正在考虑在报表应用程序中创建一个多部分消息,一部分是 XmlDocument,另一部分是带有我希望路由的值的标题。

希望这有某种意义。

4

1 回答 1

0

我现在实际上已经回答了我自己的问题,因为这两个消息具有相同的属性,我无意中订阅了两个消息,d'oh!

于 2012-05-11T11:09:17.850 回答