同じネットワーク共有をポーリングする 2 つの FILE 受信場所を持つ受信ポートがあります。受信場所の唯一の違いは、異なるファイル マスクを使用することです。どちらも、単一のフラット ファイル逆アセンブラー コンポーネントを含むカスタム パイプラインを使用します。受信ポートをサブスクライブする送信ポートがあります。(これは、問題を再現できる最小限のセットアップです)。
ファイルのグループ (サイズが 1 MB まで) を処理するときに、パイプラインがエラーをスローすることがあります。これは、一度に複数のファイルが受信場所のファイル共有にコピーされた場合にのみ発生し、不規則に発生します。エラーは通常次のように表示されます。
着信ドキュメントの解析中にエラーが発生しました:「検索中に予期しないデータが見つかりました: '\r\n' 解析中の現在の定義は GIRMFile です。エラーが発生したストリーム オフセットは 491540 です。エラーが発生した行番号は 2446 です。エラーが発生した列は 199 です。
示された行番号で中断されたメッセージを調べると、一貫して 512 バイトのデータが着信メッセージと異なっています。この 512 バイトのデータは、同時に消費される他の入力ファイルの 1 つからのデータと常に一致します。または、まれに、誤った 512 バイトのデータが、パイプラインによって処理された後に同時に消費されたファイルからのデータである場合があります (つまり、中断されたフラット ファイルには 512 バイトの xml チャンクがあります!)。中断されたメッセージ内で、512 バイトが一貫した場所にあることはありません。
BizTalk データベースが何らかの形で破損していると考えて、それらを削除して再構成しました。数百のファイルが正常に処理された後、問題が再発しました。
これはテスト ボックス (VMWare vm) でのみ発生するため、マシンに何らかの問題があると思われます。しかし、マシンが他のプロセスで他のエラーを報告していないのは奇妙に思えます。