我有一个标准的双向接口,使用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模式中的一个字符串,所以看起来它们在这个领域传递的内容似乎并不重要。
答案 0 :(得分:0)
您可以将代码添加到转换并删除有问题的毫秒,而不是更改架构。在处理时间戳/日期时,这种情况会发生很多。