チュートリアル 3: AS2 チュートリアル
このチュートリアルでは、HTTP トランスポートを経由して EDIINT/AS2 でエンコードされたメッセージを受信および送信するソリューションを設定します。
チュートリアル ソリューションの機能
このソリューションは次の処理を実行します。
パートナー (Fabrikam) から AS2 メッセージを受信する
パートナーに MDN 応答を非同期に返す
AS2 メッセージの EDI ペイロードを処理する
AS2 を介してパートナー (Fabrikam) に 997 受信確認を返す
EDI メッセージのペイロードを含む XML ファイルをホーム組織 (Contoso) のバックエンド アプリケーションにルーティングする
Note
このソリューションは、AS2 メッセージのセキュリティを確保するために署名または暗号化を使用しません。
チュートリアル コンポーネント
このソリューションは次のものを使用します。
送信者 (/Contoso/BTSHTTPReceive.dll) から AS2/EDI メッセージを受信する BTS Http 受信 ISAPI フィルター。
997 受信確認と MDN (http://localhost/Fabrikam/Default.aspx) を返すことによってパートナーをシミュレートする ASPX Web ページ。
864 スキーマとその他のスキーマ (Schemas.btproj) の展開に使用するプロジェクト ファイル。
EDI ファイルを受信する一方向の HTTP 受信場所 (Receive_AS2)。 この受信場所は、AS2 デコーダーおよび EDI 逆アセンブラーを含む既定の AS2EdiReceive パイプラインを使用します。
非同期 MDN (Send_Async_MDN) を返す動的 HTTP 送信ポート。 この送信ポートは、AS2 エンコーダーを含む AS2Send パイプラインを使用します。
XML ファイル内の EDI ペイロードをバックエンド フォルダー (Send_Payload_EdiXml) にルーティングする静的な一方向 FILE 送信ポート。 この送信ポートは、PassThruTransmit 送信パイプラインを使用します。
AS2 経由でパートナーに 997 受信確認を返す静的一方向 HTTP 送信ポート (Send_Async_997)。 この送信ポートは、AS2 エンコーダーを含む AS2Send パイプラインを使用しますが、EDI アセンブラーは不要です。
Fabrikam パートナーから BizTalk (Sender.csproj) に EDI ファイルを送信するアプリケーションのビルドに使用するプロジェクト ファイル。
メッセージ フロー
完全なソリューションにおけるメッセージ フローを次の図に示します。
チュートリアル コンポーネントでは、次のようにメッセージが処理されます。
sender.exe アプリケーションを使用して、パートナー Fabrikam から BizTalk Server コンピューターに元の EDI/AS2 メッセージを送信します。 sender.exe は、Contoso 仮想ディレクトリに EDI/AS2 メッセージを送信します。
Note
この一覧のイベントは、示されている順序で発生するとは限りません。
テスト メッセージは X12_00401_864.edi で、場所は \Program Files\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial です。
Receive_AS2一方向の受信場所は Fabrikam から EDI メッセージを受信し、BTSHTTPReceive.dll ISAPI 拡張機能を使用して Contoso 仮想ディレクトリからファイルを取得します。 受信パイプラインは、AS2 メッセージをデコードし、EDI インターチェンジを逆アセンブルした後、メッセージ XML を MessageBox にドロップします。
受信パイプラインは AS2 メッセージの MDN を生成します。MDN は非同期になるように設定されているため、受信パイプラインは MDN を MessageBox にドロップします。
受信パイプラインは、EDI インターチェンジに応答して 997 受信確認を生成し、997 を MessageBox にドロップします。
Send_Payload_EdiXml静的一方向送信ポートは、メッセージ ボックスから EDI ペイロードを取得し、BTS でフィルター処理します。MessageType コンテキスト プロパティ。
ペイロードは、EDI ペイロードを含む XML ファイルを、\_EDIXMLToContoso フォルダーで表されるバックエンド Contoso アプリケーションに送信します。 この送信ポートでは、PassThruTransmit 送信パイプラインが使用されます。
Send_Async_MDN動的送信ポートは、EdiIntAS.IsAS2AsynchronousMdn コンテキスト プロパティでフィルター処理して、MessageBox から非同期 MDN を取得します。
MDN 送信ポートは、\_MDNToFabrikam フォルダーに MDN を返します。 これは動的送信ポートであるため、メッセージ (http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam) のヘッダーにある Receipt-Delivery-Option 行のアドレスを使用して、メッセージを \_MDNToFabrikam フォルダーにルーティングします。
Send_Async_997送信ポートは、メッセージ ボックスから 997 を取得し、BTS でフィルター処理します。MessageType コンテキスト プロパティ。
997 送信ポートは HTTP トランスポートを使用して、EdiReceive 受信パイプラインで生成された 997 メッセージを \_997ToFabrikam フォルダーに送信します。 送信ポートは、URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikamを使用して Fabrikam default.aspx ページにメッセージを送信します。 default.aspx ページは、\_997ToFabrikam フォルダーに 997 を送信します。
このチュートリアルを行うには、次の知識が必要です。
BizTalk Server パイプラインとパイプライン コンポーネント
HTTP アダプター
受信ポートと場所
送信ポート