受信したバッチ EDI インターチェンジの保存
Note
このトピックで説明するすべてのユーザー インターフェイス オプションは、[契約のプロパティ] ダイアログ ボックスの [双方向アグリーメント] タブの [ローカル ホストの設定] ページ ([受信者の設定] セクション) で使用できます。
EDI 受信パイプラインが受信バッチ EDI インターチェンジを保存する場合、各トランザクション セットまたはメッセージを別々の中間 XML ファイルに解析する通常の処理は実行されません。 EDI 受信パイプラインは、インターチェンジをトランザクション セットまたはメッセージに分割せず、1 つのドキュメントとして処理します。 これは、受信バッチ処理オプション プロパティが [インターチェンジの保持 - エラー時のインターチェンジの中断] または [インターチェンジの保持 - エラー時のトランザクション セットの中断] に設定されている場合に発生します。
スキーマの検証
BizTalk Server は、保存されたバッチのエンベロープを、バッチ スキーマとサービス スキーマを使用して検証します。 保存されたメッセージのルート ノードの検証にはバッチ スキーマが使用され、インターチェンジ、グループ、およびトランザクション セットのヘッダーとトレーラーの検証にはサービス スキーマが使用されます。 バッチ スキーマの詳細については、「 EDI バッチ スキーマ」を参照してください。 サービス スキーマの詳細については、「 EDI サービススキーマと制御スキーマ」を参照してください。
BizTalk Server は、プロジェクト内のドキュメント スキーマを使用してバッチ インターチェンジ内のドキュメントを検証します。
受信側の処理
EDI 逆アセンブラーは、保存されたバッチを次のように処理します。
EDI 逆アセンブラーは、保存するバッチを処理するとき、フラット ファイル形式を XML に変換し、X12InterchangeXML または EdifactInterchangeXML を XML ルート ノードとして追加します。 これにより、送信パイプラインに対して、バッチ インターチェンジを保存する必要があること、および、ルート ノードの検証に Edifact_BatchSchema スキーマまたは X12_BatchSchema スキーマを使用する必要があることが通知されます。
逆アセンブラーは、バッチ処理された XML メッセージのルート ノードに DelimiterSetSerializedData 属性を追加して、XML メッセージからバッチ EDI インターチェンジを生成するときに送信パイプラインで使用される区切り記号を示します。 XML メッセージが保存されたバッチである場合、受信パイプラインは、受信メッセージで使用されている区切り記号からこの属性を取得します。 バッチ XML がバッチ処理オーケストレーションによって生成されるとき、この属性はアグリーメントのプロパティで設定された値から取得されます。
逆アセンブラーは、XML でエンコードされた保持インターチェンジ
http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006/InterchangeXML
http://schemas.microsoft.com/BizTalk/EDI/X12/2006/InterchangeXML
または を作成するときに、次のいずれかの名前空間を使用します。逆アセンブラーは、コンテキスト プロパティ
EDI.ReuseEnvelope == True
を昇格して、インターチェンジが保持されていることを識別します。 これにより、保存されたすべてのバッチ インターチェンジをサブスクライブする送信ポートを作成できます。Note
[受信バッチ処理] オプションが [インターチェンジの保持] に設定されている場合、HIPAA ドキュメントはサブ文書に分割されません。 これは、HIPAA スキーマ内のサブドキュメントの作成を中断するための注釈が [はい] に設定されている場合も同じです。
エラー処理
[受信バッチ処理] オプションで [インターチェンジの保持 - エラー時のインターチェンジの中断] を選択した場合、エラーの結果としてインターチェンジ全体が中断されます。 保存されたインターチェンジ全体が BizTalk Server によって中断されると、インターチェンジの構造と、インターチェンジ内のトランザクション セットの順序が保存されます。 エラーが発生した場合、BizTalk Server は、統合された 1 つのエラー エントリをイベント ログに送信します。 このエントリには、インターチェンジ、機能グループ、およびトランザクション セット レベルのすべてのエラーが含まれます。
[インターチェンジの保持 - 受信バッチ処理の エラー時にトランザクション セットを中断 する] オプションを選択した場合、EDI 受信パイプラインはインターチェンジから無効なトランザクション セットを削除し、インターチェンジ XML の作成を続行します。 作成されるインターチェンジ XML は、既存の制御セグメントのエンベロープ (X12 エンコード インターチェンジの場合は ISA、GS、GE、および IEA、EDIFACT エンコード インターチェンジの場合は UNA、UNB、UNG、UNE および UNZ) を再利用するために必要です。 このインターチェンジは正常に処理されたドキュメントと見なされますが、イベント ビューアではエラーが報告され、機能確認ドキュメントが生成される場合は機能確認ドキュメントでもエラーが報告されます。 イベント ログでは、エラーが発生したトランザクション セットごとに別々のエントリが作成されます。 エラーが発生したトランザクション セットがインターチェンジからドロップされる場合、インターチェンジの構造と順序が保存されない可能性があります。 BizTalk Server がインターチェンジ内のトランザクション セットの数を更新します。
以下の特殊なケースが、エラー発生時のトランザクション セットの中断に当てはまります。
グループ内のすべてのトランザクション セットが無効である場合、各トランザクション セットが個別に中断されます。しかし、生成されるインターチェンジ XML には、トランザクション セットを持たないグループ制御セグメントが含まれます (これは、トランザクション セットがドロップされたためです)。
インターチェンジ内のすべてのトランザクション セットが無効である場合、各トランザクション セットが個別に中断されます。しかし、生成されるインターチェンジ XML には、トランザクション セットを持たないインターチェンジ制御セグメントが含まれます (これは、トランザクション セットがドロップされたためです)。
グループ制御セグメントが無効である場合、グループ内のすべてのトランザクション セットが個別に中断されます。
インターチェンジ制御セグメントが無効である場合、インターチェンジ内のすべてのトランザクション セットが個別に中断され、インターチェンジ XML は生成されません。 拒否されたインターチェンジのログがイベント ビューアーに作成されます。