次の方法で共有


AS2 経由での受信 EDI メッセージの受信側の処理

AS2 経由の EDI メッセージの受信側の処理では、AS2 メッセージの受信、MDN の送信、EDI ペイロードの処理、および EDI 受信確認の送信 (有効になっている場合) が行われます。

AS2EdiReceive 受信パイプラインは、AS2 メッセージを受信し、AS2 メッセージ内の EDI ペイロードを逆アセンブルします。 AS2EDISend 送信パイプラインは、AS2 メッセージへの応答としての MDN と、EDI メッセージへの応答として返される EDI 受信確認を送信します。 これらのパイプラインは、HTTP 双方向要請応答送信ポート (MDN が同期の場合) または一方向 HTTP 送信ポートと一方向 HTTP 受信ポート (MDN が非同期の場合) に含めることができます。

AS2 経由で EDI インターチェンジを受信するために、BizTalk Server は次の手順を実行します。

  • 受信した AS2 メッセージの処理

  • MDN の送信

  • 受信した EDI ペイロードの処理

  • EDI 受信確認の送信

受信した AS2 メッセージの処理

AS2EdiReceive 受信パイプラインの AS2 デコーダーが受信 AS2 メッセージを処理します。 これは、AS2 メッセージの InboundHTTPHeaders HTTP ヘッダーから HTTP アダプターによって作成されるコンテキスト プロパティを使用して行われます。 これらのヘッダーには、次の AS2 ヘッダーが含まれます。

  • AS2-To

  • AS2-From

  • AS2-Version

  • MessageID

  • OriginalMessageID (MDN のみ)

  • Disposition-Notification-To (MDN が要求されている場合)

  • Receipt-Delivery-Option (MDN が要求されている場合)

  • Signed-Receipt-MICalg (MDN が要求されている場合)

    AS2 デコーダーは、これらのヘッダーをメッセージのコンテキストに昇格させます。 その後、次の処理が行われます。

  • アグリーメントの解決を実行して、受信メッセージの処理に使用するパーティのプロパティを特定します。 詳細については、「 受信 AS2 メッセージの契約解決」を参照してください。

  • AS2-From プロパティを使用して送信者を認証します。

    Note

    AS2 が受信 AS2 メッセージに対して実行する処理の詳細については、「 受信 AS2 メッセージの処理」を参照してください。

MDN の送信

MDN が有効にされている場合、AS2EdiReceive パイプラインは MDN を生成し、メッセージボックスにドロップします。

Note

AS2 が送信 MDN に対して実行する処理の詳細については、「 発信 MDN の生成」を参照してください。

同期モード

EDI メッセージが AS2 経由で同期モードで送信される場合、BizTalk Server はその同期接続を経由して MDN を返し、接続を閉じます。 接続が閉じられているので、BizTalk Server はその接続経由で EDI 受信確認 (997、TA1、または CONTRL) を返信できません。 EDI 受信確認は、AS2 経由で常に非同期に送信されます。

MDN は AS2EDIReceive パイプラインによって生成され、メッセージ ボックスにルーティングされた後、要求 - 応答の受信ポートの一部である AS2Send パイプラインによって自動的に取得されます。

非同期モード

EDIINT/AS2 でエンコードされたメッセージが HTTP/HTTPS トランスポート経由で非同期モードで送信される場合は、MDN を個別に返すための送信ポートを作成する必要があります。 この送信ポートは、非同期の MDN および EDI 受信確認の両方を返すように構成できます。 これが動的送信ポートである場合は、メッセージのヘッダーの Receipt-Delivery-Notification 行にあるアドレスを使用してメッセージを取引先にルーティングします。 静的送信ポートである場合は、ポート プロパティで設定されたアドレスを使用します。 この送信ポートは、フィルター式を使用して非同期 MDN を EdiIntAS.IsAS2AsynchronousMDN==True サブスクライブします。

非同期処理では、AS2EdiReceive パイプラインは MDN だけでなく HTTP 応答も生成します。 受信ポートは、受信ポートと送信パーティ間の HTTP 接続を経由して元の送信者に HTTP 応答を返し、元の送信者がその接続を閉じます。 これが必要なのは、同期接続が MDN によって閉じられないためです。

BizTalk が EDIINT/AS2 でエンコードされたメッセージを HTTP/HTTPS 経由で送受信できても、EDI でエンコードされたペイロードの処理が失敗する場合、元のメッセージの送信者は、AS2 の処理が成功したことを示す MDN と EDI の処理が失敗したことを示す EDI 受信確認の両方を受け取ります。 EDI でエンコードされたペイロードは中断され、エラーが通知されます。

受信した EDI ペイロードの処理

EDI アグリーメントの 受信バッチ処理オプション分割インターチェンジに設定されている場合、双方向要求応答受信場所に関連付けられている AS2EdiReceive 受信パイプラインは、EDI メッセージを EDI トランザクション セットごとに個別の XML メッセージに解析します。 [受信バッチ処理] オプションが [インターチェンジの保持] に設定されている場合、受信パイプラインは EDI メッセージを解析しません。

受信パイプラインは、XML トランザクション セットまたは保存された EDI インターチェンジを、BizTalk のメッセージ ボックスにルーティングします。

メッセージをバックエンド アプリケーションにルーティングする必要がある場合は、送信ポートが XML メッセージを取得してアプリケーションにルーティングします。

Note

この送信ポートの種類は任意で決定できます。

EDI 受信確認の送信

EDI 受信確認が有効にされている場合、AS2EdiReceive 受信パイプラインの EDI 逆アセンブラーによって EDI 受信確認が生成されます (有効になっている場合)。 EDI 受信確認は、AS2EdiSend 送信パイプラインによって、別の一方向送信ポートで送信される必要があります。

同期 MDN または HTTP 応答を返すように EDI/AS2 メッセージの双方向要求/応答受信ポートを設定した場合 (非同期 MDN の場合)、要求/応答受信ポートでパイプラインを送信する Route ACK プロパティ ([Agreement Properties]\(アグリーメントのプロパティ\) ダイアログ ボックスの一方向 EDI アグリーメントの [ローカル ホスト設定] ページで設定されている) は無視されます。 このプロパティがオンになっていても、送信パイプラインは EDI 受信確認ではなく同期 MDN または HTTP 応答を返します。

詳細については、「 EDI 受信確認の送信」を参照してください。

参照

BizTalk Server が AS2 メッセージを受信する方法