场景:我正在将 BizTalk 2006 应用程序升级到 BizTalk 2013。它收到的消息很少出现格式错误 - XML 启动,然后附加源中遇到的某种 Java 异常的文本。
代替
<foo>
<bar/>
<baz/>
</foo>
我明白了
<foo>
<bar/>OrderCreateMessageBean createLine() Exception =>java.lang.NullPointerException
在 BizTalk 2006 中,格式错误的消息将在默认 XMLReceive 管道中捕获,并使用失败的消息路由进行处理。在 BizTalk 2013 中,默认 XMLReceive 管道允许格式错误的消息通过,然后在下游业务流程中失败。XMLReceive 管道似乎仍在检查是否为消息上下文提升部署了架构,但没有检查格式正确的 XML - 我没有在管道中使用验证,也许我现在需要?
另一个突出的事实是 BizTalk 2013 安装应用了 CU2,这可能会引入一个问题。
所以,我想我的问题是:管道的行为在 2006 年到 2013 年之间是否发生了变化,而我在变更文档中错过了它?这是 BizTalk 2013 或 2013 与 CU2 组合中的已知缺陷吗?还有其他想法吗?
谢谢