2

我有一个标准的双向接口,使用 biztalk 2009 作为我们的接口引擎。正在发生的事情是,我们收到的订单消息解析得很好,除了它们发送的日期时间以 MSH.7 为毫秒。3 个额外的数字会导致它因数据类型错误而失败。如果我删除 MSH.7 中的 3 个额外数字,则消息将正常处理。

为了增加一层复杂性,我发现了这篇文章:http ://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/d65bf4de-a3dd-47f3-babe-a82bdc260291/描述了这个问题并提出了建议我可以更改 MSH 架构以修复它。我这样做了,它确实可以在我可以处理消息以及返回结果消息的地方工作,而且看起来一切正常。但是,当尝试生成 ACK 时,它会完全失败。我认为批处理可能存在类似的问题,但我没有做到这一点。通过更改 MSH 模式,内置的 ACK 功能不再起作用,因为 MSH 标头具有意外的形式(我认为)。

我开始没有想法了,我想我会尝试在这里发帖,因为我在旅行中在这里找到了很多答案。最奇怪的部分是 MSH.7 被定义为 MSH 模式中的字符串,因此它们在该字段中传递的内容似乎无关紧要。

4

1 回答 1

0

您可以将代码添加到转换并删除有问题的毫秒,而不是更改架构。在处理时间戳/日期时,这种情况经常发生。

于 2014-01-29T19:05:39.787 回答