2016-04-19 5 views
3

これは私が初めて会う時です。不正な形式のX12ファイルをインバウンドするときにBizTalkにTA1と999の両方が存在しない可能性はありますか?

通常、着信X12ファイルを受信したとき。 BizTalkの設定では常に999が生成され、交換レベルのエラーが発生した場合はTA1が作成されます。

しかし、今日、私はいくつかのフォーマットエラーとX12ファイルを持って、のBizTalkでエラーのポップアップは、次のとおりです。

Delimiters are not unique, field and component seperator are the same. 
The sequence number of the suspended message is 1. 

私は、インバウンドのファイルを拒否するために生成された999またはTA1を持っていることを期待しています。これらの2つのファイルは作成されませんでした。

私の質問:私はこの種のエラーのために作成することを期待するものは何ファイル

  • ? 999または TA1?
  • これはBizTalkのバグまたは正常な動作ですか?
  • これが正常であれば、このエラーをキャッチするための最良のメカニズムは何か、取引先に返信する

答えて

2

このエラーによりBizTalkがトランザクションセットをまったく解析できないため、999(トランザクションセットに固有のもの)は間違いなく期待できます。トランザクションの種類を判断する信頼できる方法はありませんです。

TA1は適切かもしれませんが、これは灰色の領域のようです。マイクロソフトのサポートに連絡する価値があります。 documentationは、無効なISAが負のTA1になるはずであるが、error codes for TA1はこの特定のシナリオをサポートしている(またはまったく)ものとしてリストしていないことを示しています。

このようなメッセージをキャプチャし、そのメッセージのTA1を生成し、それをTPにルーティングすることができます。しかし、一意ではない区切り記号を使用すると、メッセージからTPを判別することができなくなる可能性があります(複数の取引先が同じポート/場所を使用している場合はそうでないかもしれません)。私の推測では、それがBizTalkが適切に処理していない理由です。正直言って、これがかなり頻繁に起こらない限り、例外的に人間の介入で対処するほうが、おそらくもっと簡単/より現実的かもしれません。

メッセージをキャプチャする限り、カスタムパイプラインコンポーネントが必要だと思います。おそらく、この特定の例外をキャッチして対処できるように、EdiDisassemblerをサブクラス化することさえあります。

関連する問題