BizTalk Serverでは、いくつかのコンポーネントを使用して AS2 メッセージを受信します。
AS2 受信パイプライン
AS2 受信処理の大部分は、次の AS2 受信パイプラインで実行されます。 これらのパイプラインは、\Program Files\Microsoft BizTalk Server 20xx\Pipeline Components\ にインストールされますMicrosoft.BizTalk.EdiInt.PipelineComponents.dll
。
AS2EdiReceive パイプライン
このパイプラインは、MDN を含む AS2 経由で受信した EDI メッセージを処理します。 パイプラインは、次のパイプライン コンポーネントで構成されます。
AS2 デコーダー
EDI 逆アセンブラー
Batchmarker。
Note
AS2EdiReceive パイプラインを使用する場合、BizTalk Application Users グループに、BizTalk 分離ホスト インスタンス プロセスが実行されているユーザー アカウントを追加する必要があります。 AS2EdiReceive パイプラインは、BizTalk 分離ホスト インスタンス プロセスで実行されます。 AS2EdiReceive パイプラインは、BizTalk Application Users グループに属しているユーザーのみが使用できる SSO ストアにアクセスします。
AS2Receive パイプライン
このパイプラインは、メッセージが EDI でエンコードされていない場合に、AS2 経由で受信したメッセージを処理します。 これらのメッセージは、バイナリ メッセージとして扱われます。 このパイプラインは、AS2 経由で受信した MDN も処理します。 パイプラインは、次のパイプライン コンポーネントで構成されます。
AS2 デコーダー
AS2 逆アセンブラー
AS2 受信パイプライン コンポーネント
AS2 受信パイプラインでは、次のパイプライン コンポーネントが使用されます。 これらのコンポーネントは、\Program Files\Microsoft BizTalk Server 20xx\Pipeline Components\ にインストールされますMicrosoft.BizTalk.EdiInt.PipelineComponents.dll
。
Note
AS2 受信パイプラインは、32 ビットの BizTalk ホスト プロセスでのみサポートされます。
AS2 デコーダー
AS2 デコーダーは、AS2EDIReceivePipeline 受信パイプラインおよび AS2Receive 受信パイプラインの両方のデコード ステージに含まれています。 このデコーダーは、BizTalk の S/MIME パイプライン コンポーネントを使用して、AS2 メッセージと MDN メッセージに S/MIME デコード機能を付加します。
AS2/HTTP ヘッダーを処理する
メッセージが署名付きの場合は署名を検証します。
メッセージが暗号化されている場合はメッセージを解読します (MDN ではなく EDI/AS2 メッセージの場合)。
メッセージが圧縮されている場合はメッセージを圧縮解除します。
受信した MDN と元の送信メッセージを調整する
否認不可データベースのレコードを更新し、関連付ける
AS2 状態レポート用のレコードを書き込む
Note
AS2 メッセージの受信側の処理中にエラーが発生した場合、AS2 デコーダーはそれ以降のダウンストリーム メッセージ処理を停止します (たとえば、EDI 逆アセンブラーはインターチェンジを解析しません)。 その場合でも、AS2 逆アセンブラーまたは EDI 逆アセンブラーは MDN を生成する必要があります。
Note
AS2 メッセージでは 8 ビット エンコードが使用されます。 Base64 エンコードは、AS2 メッセージと MDN の署名にのみ適用されます。
AS2 逆アセンブラー
AS2Receive 受信パイプラインでは、AS2 逆アセンブラーは次の処理を実行します。
MDN が必要かどうか、MDN が同期または非同期のどちらである必要があるかを決定します。
AS2 MDN を生成します。
MDN が同期の場合は、 プロパティを
EdiIntAS.IsAS2AsynchronousMDN
False に設定します。非同期の場合は、 プロパティを True に設定します。MDN に関連付けのトークンとプロパティを設定します。
EDI 逆アセンブラー
AS2EDIReceivePipeline では、EDI 逆アセンブラーは EDI メッセージを処理するために中間 XML メッセージに解析します。 詳細については、「 EDI 逆アセンブラーのしくみ」を参照してください。
BatchMarker
AS2EDIReceivePipeline では、BatchMarker パイプライン コンポーネントは、バッチ処理されたインターチェンジの処理に必要な AgreementPartIdForSend および ToBeBatched の各コンテキスト プロパティを設定します。 このコンポーネントは、AS2EDIReceive パイプラインの最後のステージ (アグリーメントの解決) に含まれています。 EDI メッセージをバッチ処理するすべてのパイプラインに BatchMarker パイプライン コンポーネントが含まれている必要があります。
Note
BatchMarker パイプライン コンポーネントは、EDI 以外のメッセージの処理に使用する AS2Receive パイプラインには含まれていません。 ただし、EDI 逆アセンブラーを含まないカスタム受信パイプラインに BatchMarker コンポーネントを含めることはできます。 詳細については、「 Batched EDI インターチェンジのアセンブル」の「BatchMarker コンポーネントでの非 EDI メッセージの処理」を参照してください。
HTTP アダプター
AS2 処理に使用される受信ポートと場所は、BizTalk Server HTTP アダプターを使用します。 この HTTP アダプターは、一方向の送信と要求 - 応答の送信のいずれかに構成されます。
否認不可データベース
BizTalk Server は、否認不可データベース (BizTalkDTADb データベースの EdiMessageContent テーブル) を使用して次の処理を実行します。
Note
EdiMessageContent テーブルは、否認不可ストレージ アグリーメントのプロパティの 1 つがチェックされている場合にのみ BizTalkDTADb データベース内に存在します。
署名付き MDN の否認不可記録の提供
送信メッセージと受信 MDN の関連付け
さまざまな状態変更によるメッセージの保存
エラー コードを HTTP 応答と MDN に関連付けます
フィルター条件に基づくレコードの表示
マークされたレコードのアーカイブ
重要
否認不可受信データベースに格納されているメッセージの認証と整合性を確保するには、データベースに格納されるすべてのメッセージ (元の AS2 メッセージと MDN の両方) にデジタル署名を使用する必要があります。 詳細については、RFC 1430 のセクション 9.1、「HTTP を使用した MIME ベースのセキュア ピアツーピア ビジネス データ交換、適用性ステートメント 2 (AS2)」(https://go.microsoft.com/fwlink/?LinkID=184212) を参照してください。