【发布时间】:2008-11-26 10:28:30
【问题描述】:
我有一个接收端口,其中两个 FILE 接收位置轮询同一个网络共享。接收位置之间的唯一区别是它们使用不同的文件掩码。它们都使用带有单个平面文件反汇编器组件的自定义管道。我有一个订阅接收端口的发送端口。 (这只是我可以重现问题的最小设置)。
在处理一组文件(最大 1mb 大小)时,管道偶尔会引发错误。仅当一次将多个文件复制到接收位置文件共享并且不定期发生时,才会发生这种情况。错误一般为:
解析传入文档时出错:“意外数据 在查找时找到:'\r\n' 当前正在解析的定义是 GIRM 文件。发生错误的流偏移量为 491540。 发生错误的行号是 2446。 发生的错误是 199。”。
检查显示的行号处的挂起消息,始终有 512 字节的数据与传入消息不同。这 512 字节的数据始终与同时使用的其他输入文件之一的数据相匹配!或者在极少数情况下,不正确的 512 字节数据是来自同时使用但在管道处理之后的文件的数据(即暂停的平面文件具有 512 字节的 xml 块!)。这 512 个字节在挂起的消息中的位置始终不一致。
认为 BizTalk 数据库以某种方式损坏,我将其删除并重新配置。成功处理了几百个文件后,问题又回来了。
这只发生在我们的测试机(VMWare 虚拟机)上,所以我怀疑机器在某种程度上是问题所在。但是机器在其他进程中没有报告其他错误似乎很奇怪。
【问题讨论】:
-
您使用的是哪个版本的 BizTalk?你用的是interchange吗?由于听起来问题出在您的自定义管道中,我会尝试使用开箱即用的管道,看看是否会发生。
标签: biztalk