0

我被这个错误困住了,如果有任何好主意来接近解决方案,我将不胜感激。使用的模式是全球标准,不受我控制。

完整的错误信息:

执行接收管道失败:“Microsoft.BizTalk.DefaultPipelines.XMLReceive,Microsoft.BizTalk.DefaultPipelines,版本=3.0.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”来源:“XML 反汇编程序”接收端口:“[receive端口名称]" URI: "[url to imput xml]" 原因:文档类型 "[namespace]#[envelope root element name]" 与任何给定模式都不匹配。

我的设置:我有 XMLReceive 管道的信封模式来分批消息。我已经在接收位置的 EnvelopeSpecNames 中指定了装配信息来实现这一点。我设置了架构属性 Envelope = Yes,并指定了根引用(因为架构中有很多根元素)。我使用 PropertySchema 来提升信封中的一些属性以供以后处理,并且所有引用似乎都是正确的。

我已经仔细检查了配置,并且 BizTalk 知道错误消息中引用的架构(还检查了 db 以验证,现有且没有重复)。通过在每个地方重新复制和粘贴来验证每个名称。我已经检查了将应用程序导入到一个全新的环境中,但出现了同样的错误。

我错过了什么?

我以前的理论是,错误提供了错误的信息,但是是由对/来自属性模式的引用引起的,但一切都检查出来了。我目前的理论是错误与完全不同的东西有关-但是什么!?

4

1 回答 1

2

在实际发布这个问题后的大约 10 秒内,该理论具体化为一个解决方案的明确建议:body xpath。

因此,总而言之,您需要指定: - 信封 = 是(告诉 BizTalk 将消息视为封装消息) - 根元素(为信封提供正确的根元素) - 主体 xpath(即 xpath 表达式到内容消息中的内容)信封)

希望这对任何人都有帮助!

于 2017-02-06T14:35:39.637 回答