次の方法で共有


チュートリアル (X12): EDI インターチェンジの受信と受信確認の送信

このチュートリアルでは、BizTalk Serverを使用して EDI インターチェンジを受信するためのソリューションを作成する一連の手順について説明します。 このソリューションでは、ある取引先 (Fabrikam) から別の取引先 (Contoso) に EDI インターチェンジが送信されます。

前提条件

BizTalk Server Administrators または BizTalk Server B2B Operators グループのメンバーとしてログオンする必要があります。

ソリューションにより EDI インターチェンジを受信する方法

このソリューションは次の処理を実行します。

Note

この一覧のイベントは、示されている順序で発生するとは限りません。

  1. Fabrikam という取引先からフラット ファイル EDI インターチェンジを受信します。

  2. EDI インターチェンジをそのスキーマに対して検証し、メッセージを XML に逆アセンブルして、メッセージ XML を MessageBox にドロップします。

  3. 受信した EDI インターチェンジに対する 997 受信確認を生成して、MessageBox にドロップします。

  4. 受信した EDI インターチェンジに対する TA1 受信確認を生成して、MessageBox にドロップします。

  5. 一方向の送信ポートでメッセージ XML を取得し、メッセージ EDI インターチェンジをアセンブルします。

  6. EDI インターチェンジを Contoso に送信します。

  7. 一方向の送信ポートで 997 XML を取得し、997 EDI インターチェンジをアセンブルします。

  8. 997 インターチェンジを Fabrikam に送信します。

  9. 一方向の送信ポートで TA1 XML を取得し、TA1 EDI インターチェンジをアセンブルします。

  10. TA1 インターチェンジを Fabrikam に送信します。

このソリューションの機能

このチュートリアルを実行するために、以下の機能を有効にします。

  • このソリューションは、EDIFACT エンコードではなく X12 エンコードを使用するインターチェンジを対象に設計されています。

    Note

    HIPAA に使用される構成は、X12 エンコードに使用される構成によく似ています。 EDIFACT 用の同様のソリューションを作成する方法については、「 チュートリアル (EDIFACT): EDI インターチェンジの受信と受信確認の返送」を参照してください。

  • EDI の種類の検証および拡張された検証は、受信インターチェンジに対して実行されます。

  • インターチェンジの送信者に返す技術確認および機能確認が生成されます。

  • このソリューションでは、トランスポートの種類が FILE である一方向の受信場所が使用されます。

    Note

    双方向の送信請求応答の受信ポートと受信場所を使用してメッセージを受信できますが、この方法で受信する場合、種類が FILE のトランスポートは受信場所に対して使用できません。 詳細については、「 EDI メッセージと受信確認を受信するためのポートの構成」を参照してください。

  • EDI レポートが有効になり、インターチェンジの状態レポートに表示するトランザクション セットが保存されます。

  • テストを実行するために、ソリューションは 3 つの送信ポートを使用して、作成した EDI インターチェンジと ACK をローカル フォルダーに送信します。

    次の図は、このソリューションのアーキテクチャを示しています。

    EDI インターチェンジ の受信

チュートリアルの構成とテスト

このソリューションに必要な手順は以下のとおりです。

  • BizTalk プロジェクトに必要なメッセージ スキーマを追加してビルドおよび展開し、受信したインターチェンジを BizTalk サーバーで処理するときにそのスキーマを利用できるようにします。

  • BizTalk サーバー用の一方向受信ポートを作成して、取引先から EDI インターチェンジを受信し、受信確認を生成します。 この受信場所は、Fabrikam が Contoso に送信する EDI インターチェンジをドロップするファイル フォルダーに関連付けられています。

    Note

    双方向の要請応答受信ポートと場所を使用してメッセージを受信できますが、受信する場合は、受信場所に FILE トランスポートの種類を使用できません。

  • EDI インターチェンジをローカル Contoso フォルダーに送信する送信ポート、997 ACK をローカル Fabrikam フォルダーに送信する送信ポート、および TA1 ACK をローカル Fabrikam フォルダーに送信する送信ポートを作成します。

  • Fabrikam および Contoso の両方にパーティ (取引先) を作成します。

  • 両方の取引先それぞれにビジネス プロファイルを作成します。

  • 受信するメッセージおよび送信する受信確認の EDI プロパティを構成して、2 つのプロファイル間のアグリーメントを作成します。

  • テスト EDI インターチェンジを使用して、このチュートリアルをテストします。

    Note

    テスト メッセージには、EDI インターフェイス開発チュートリアルで使用した SamplePO.txt ファイルを使用できます。 このファイルは、\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\ フォルダーに付属しています。 これは、X12 850 メッセージです。

チュートリアルの構成

ここでは、チュートリアルを構成する手順について説明します。

メッセージ スキーマを展開するには
  1. Visual Studio で、BizTalk プロジェクトを作成または開きます。

    Note

    このトピックは、EDI スキーマ、パイプライン、およびオーケストレーションを含む BizTalk EDI アプリケーションに別のアプリケーションから参照を既に追加していることを前提としています。 そうでない場合は、「BizTalk Server EDI アプリケーションへの参照の追加」を参照してください。

  2. プロジェクトを右クリックし、[ 追加] をポイントして、[ 既存の項目] をクリックします。 スキーマが \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI にあるフォルダーに移動し、スキーマをダブルクリックします。

    Note

    EDI スキーマが \XSD_Schema\EDI フォルダーに解凍されていない場合は、\XSD_Schema\EDI フォルダー内の MicrosoftEdiXSDTemplates.exe ファイルを実行して、スキーマを既定のフォルダーに解凍します。

    Note

    EDI インターフェイス開発者チュートリアルで使用する SamplePO.txt ファイルを使用する場合は、\Program Files (x86)\Microsoft BizTalk Server VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI フォルダーに付属の X12_00401_850.xsd <スキーマを使用する必要があります。 \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema フォルダーで X12 850 スキーマを使用することはできません。

  3. アセンブリ キー ファイルをプロジェクトに追加し、アセンブリをビルドして展開します。

EDI インターチェンジを受信するための一方向の受信ポート (Fabrikam 用) を作成するには
  1. Windows エクスプローラーを使用して、インターチェンジを受信するローカル フォルダーを作成します。

  2. BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [受信ポート] ノードを右クリックし、[新規] をポイントして、[一方向の受信ポート] をクリックします。

  3. 受信ポートに名前を付け、コンソール ツリーの [ 受信場所 ] をクリックします。

  4. [新規作成] をクリックします。

  5. 受信場所に名前を付け、[種類] に [ファイル] を選択し、[構成] をクリックします。

  6. [受信フォルダー] テキスト ボックスの フォルダーを 参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 *.edi や *.txtなどのファイル マスクを入力します。

  7. [OK] をクリックします。

  8. [ 受信パイプライン] で、[ EdiReceive] を選択します。

  9. [受信場所のプロパティ] ダイアログ ボックスで [OK] をクリックします。 [受信ポートのプロパティ] ダイアログ ボックスでもう一度 [OK] をクリックします

  10. コンソール ツリーで、[ 受信場所] をクリックします。 [ 受信場所 ] ウィンドウで、受信場所を右クリックし、[ 有効にする] をクリックします。

EDI インターチェンジを送信するための静的な一方向の送信ポート (Contoso 用) を作成するには
  1. Windows エクスプローラーを使用して、テスト インターチェンジを送信するローカル フォルダーを作成します。

  2. BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的一方向送信ポート] をクリックします。

  3. [ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。

  4. [トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。

  5. [ 宛先フォルダー] で、インターチェンジを受信するフォルダーを参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 [ ファイル マスク] に、 *.edi*.xmlなどのインターチェンジ形式を入力します。

  6. [OK] をクリックします。

  7. [ 送信パイプライン] で、[ EdiSend] を選択します。

  8. コンソール ツリーで、[フィルター] を選択 します。 EDI インターチェンジをサブスクライブするフィルターを入力します。 たとえば、[ プロパティ] に「BTS」と入力 します。MessageType; [演算子] に「」と入力 ==し、[ 値] にインターチェンジのスキーマを入力します (例: http://schemas.microsoft.com/BizTalk/Edi/X12/2006#X12_00401_850)。

    Note

    前のフィルター設定では、この送信ポートに関連付けられたフォルダーに、受信確認ではなくインターチェンジが送信されます。

  9. [OK] をクリックします。

  10. コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。

静的な一方向の送信ポートを作成して 997 受信確認を送信するには
  1. Windows エクスプローラーを使用して、997 受信確認を送信するローカル フォルダーを作成します。

  2. BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的一方向送信ポート] をクリックします。

  3. [ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。

  4. [トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。

  5. [ 宛先フォルダー] で、997 受信確認を受信するフォルダーを参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 [ ファイル マスク] に、 *.edi*.txtなどのインターチェンジ形式を入力します。

  6. [OK] をクリックします。

  7. [ 送信パイプライン] で、[ EdiSend] を選択します。

  8. コンソール ツリーで、[フィルター] を選択 します。 997 受信確認をサブスクライブするフィルターを入力します。 たとえば、[ プロパティ] に「BTS」と入力 します。MessageType; [演算子] に「」と入力 ==し、[ 値] に受信確認のスキーマを入力します (例: http://schemas.microsoft.com/Edi/X12#X12_997_Root)。

  9. [OK] をクリックします。

  10. コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。

静的な一方向の送信ポートを作成して TA1 受信確認を送信するには
  1. Windows エクスプローラーを使用して、TA1 受信確認を送信するローカル フォルダーを作成します。

  2. BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的一方向送信ポート] をクリックします。

  3. [ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。

  4. [トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。

  5. [ 宛先フォルダー] で、TA1 受信確認を受信するフォルダーを参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 [ ファイル マスク] に、 *.edi*.txtなどのインターチェンジ形式を入力します。

  6. [OK] をクリックします。

  7. [ 送信パイプライン] で、[ EdiSend] を選択します。

  8. コンソール ツリーで、[フィルター] を選択 します。 TA1 受信確認をサブスクライブするフィルターを入力します。 たとえば、[ プロパティ] に「BTS」と入力 します。MessageType; [演算子] に「」と入力 ==し、[ 値] に受信確認のスキーマを入力します (例: http://schemas.microsoft.com/Edi/X12#X12_TA1_Root)。

  9. [OK] をクリックします。

  10. コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。

Fabrikam のパーティとビジネス プロファイルを作成するには
  1. BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。

  2. [名前 ] テキスト ボックス にパーティの名前を入力し、[OK] をクリック します

    Note

    [Local BizTalk processes messages received by the Party or supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。

  3. パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。

  4. [プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「Fabrikam_Profile」と入力します。

    Note

    パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。

Contoso のパーティとビジネス プロファイルを作成するには
  1. BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。

  2. [名前 ] テキスト ボックス にパーティの名前を入力し、[OK] をクリック します

    Note

    [Local BizTalk processes messages received by the Party or supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。

  3. パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。

  4. [プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「Contoso_Profile」と入力します。

    Note

    パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。

2 つのビジネス プロファイル間のアグリーメントを作成するには
  1. [Fabrikam_Profile] を右クリックし、[新規] をポイントして、[契約] をクリックします。

  2. [ 全般プロパティ ] ページの [名前 ] テキスト ボックスに、契約の名前を入力します。

  3. [ プロトコル ] ドロップダウン リストから [ X12] を選択します。

  4. [ 2 番目のパートナー ] セクションの [名前 ] ドロップダウン リストから [ Contoso] を選択します。

  5. [ 2 番目のパートナー ] セクションの [ プロファイル ] ドロップダウン リストから、[ Contoso_Profile] を選択します。

    [ 全般 ] タブの横に 2 つの新しいタブが追加されていることがわかります。各タブは一方向アグリーメントを構成するためのものであり、各一方向アグリーメントはメッセージの 1 つの完全なトランザクション (メッセージ転送と受信確認転送を含む) を表します。

  6. [ 全般 ] タブの [ 全般プロパティ ] ページの [ 共通ホスト設定] セクションで、[ レポートをオンにする] を選択し、[ レポート用にメッセージ ペイロードを保存する] を選択します。

  7. [Fabrikam-Contoso] タブで次のタスクを>実行します。

    1. [ 識別子 ] ページの [ インターチェンジの設定] セクションで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5ISA6ISA7ISA8) の値を入力します。

      Note

      BizTalk Server契約解決を実行するには、送信者と受信者の修飾子フィールドと識別子フィールドが必要です。 インターチェンジ ヘッダーの ISA5、ISA6ISA7ISA8値と、契約のプロパティの値が一致します。 BizTalk Serverでは、送信者の修飾子と識別子 (受信者修飾子と識別子なし) を照合することで、契約も解決されます。 BizTalk Server契約を解決できない場合は、フォールバック 契約のプロパティが使用されます。

      Note

      テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、 ISA5ZZISA6THEMISA7 から ZZISA8US に設定します。

    2. [受信確認] ページの [インターチェンジの設定] セクションで、[TA1 Expected] と [997 Expected] をチェックします。

    3. [インターチェンジの設定] セクションの [検証] ページで、[ISA13 の重複を確認する] オプションがオフになっていることを確認します。

      Note

      [ 重複する ISA13 のチェック ] プロパティをオフにすると、同じメッセージの複数のインスタンスを受信できます。

    4. [ 文字セットと区切り記号 ] ページの [ インターチェンジの設定] セクションで、[ CR LF ] オプションを選択します。

    5. [ ローカル ホストの設定] ページの [ インターチェンジの設定] セクションで、[ 要求/応答の受信ポートでパイプラインを送信するルート ACK ] オプションをオフにします。

      Note

      双方向の受信ポートを使用してインターチェンジを受信し、受信確認を返す場合は、route ACK をチェックして、要求/応答受信ポートでパイプラインを送信します。

    6. [ 送信ポート] ページの [ インターチェンジの設定] セクションで、Fabrikam からインターチェンジを受信する送信ポートと、Contoso から受信確認を受信する送信ポートを関連付けます。 [ 送信ポート ] グリッドの [ 名前 ] 列で空のセルをクリックし、ドロップダウン リストから Fabrikam から EDI インターチェンジを受信するために作成された送信ポートを選択します。 TA1 受信確認の受信用に作成した送信ポート、および 997 受信確認の受信用に作成した送信ポートに対してこの手順を繰り返します。

    7. [検証] ページの [トランザクション セットの設定] セクションで、[EDI の種類の検証] をオンのままにし、[拡張検証] をチェックします。

    8. BizTalk Serverに付属する標準スキーマのいずれかを使用している場合は、[ローカル ホストの設定] ページの [トランザクション セットの設定] セクションで、受信インターチェンジの処理に使用するスキーマの名前空間を選択します。 カスタム スキーマを使用する場合は、[ターゲット名前空間のカスタマイズ] グリッドに値を入力して、BizTalk Serverグループとトランザクション セットのヘッダー値を使用して名前空間を決定できるようにします。

    9. [封筒] ページ [ トランザクション セットの設定] セクションで、グリッドの最初の行のすべての列の値を入力します。

      プロパティ 目的
      [Default] [既定値] を選択します。 メモ:この行を既定値として選択すると、トランザクションの種類バージョン/リリース、およびターゲット名前空間の値がメッセージに一致しない場合でも、GS1GS2GS3GS7GS8 の値が使用されます。
      トランザクションの種類 テスト メッセージのメッセージの種類 850 - 発注書を選択します。
      バージョン/リリース EDI バージョン 00401 を入力します。
      ターゲットの名前空間 [http://schemas.microsoft.com/Edi/X12>] を選択します。
      GS1 テスト メッセージのメッセージの種類 ( PO - 発注書 (850)) が選択されていることを確認します。
      GS2 アプリケーション送信者を表す値を入力します。
      GS3 アプリケーション受信者を表す値を入力します。
      GS4 日付の形式を選択します。 メモ: フィールドをクリックして既定値を表示するだけでなく、ドロップダウン リストで値を選択する必要があります。 ドロップダウン リストから値を選択せずにフィールドをクリックしても、値は実際に選択されません。
      GS5 時刻の形式を選択します。
      GS7 [ X - 認定基準委員会 X12] を選択します
      GS8 EDI バージョン 00401 が入力されていることを確認します。

      Note

      BizTalk Serverは、トランザクションの種類バージョン/リリースおよびターゲット名前空間に入力された値に基づいて、送信確認の GS01、GS02、GS03、GS04、GS05、GS07、GS08 の値を設定します。 送信パイプラインは、トランザクション セットの種類、X12 バージョン、およびターゲットの名前空間と、メッセージ ヘッダー内の対応する値との照合を試みます。 成功した場合は、 トランザクションの種類バージョン/リリースおよびターゲット名前空間 の値に関連付けられている GS 値が使用されます。

  8. [Contoso-Fabrikam] タブで次の>タスクを実行します。

    Note

    このチュートリアルでは、必要な値をタブに指定し、アグリーメントを正常に作成できるようにします。 契約を正常に作成するには、両方の一方向アグリーメント タブに ISA5、ISA6ISA7ISA8 に対して定義された値が必要 です

    Note

    受信確認は同じメッセージ トランザクションの一部ですが、受信確認の生成方法に関連するプロパティは [Contoso-Fabrikam>] タブで構成されます。これは、送信者と受信者の修飾子の受信確認コンテキスト プロパティが、Contoso-Fabrikam> タブで指定した値の反対に設定されるために必要です。たとえば、[Fabrikam-Contoso>] タブで送信者と受信者の識別子が THEM と US に設定されている場合、送信者と受信者のコンテキスト プロパティは受信確認で US と THEM に設定されます。 通常、他の一方向のアグリーメント タブでも、送信者および受信者の識別子はそれぞれ US および THEM に設定されます。 そのため、受信確認メッセージは、そのアグリーメントに従って解決され、プロパティの設定が取得されます。 そのため、異なる要素区切り記号を使用する受信確認を行う場合、または CR LF を使用するための受信確認を行う場合は、[Contoso-Fabrikam>] タブでプロパティを指定します。

    概念的には、受信確認のプロパティは、受信確認のコンテキスト プロパティで設定された送信者と受信者の修飾子が同じ一方向アグリーメント タブから選択されます。 ただし、実際に使いやすいように、一般的には、インターチェンジの解決用に作成したアグリーメントのもう 1 つの一方向のアグリーメント タブでこの設定を行います。

    1. [ 識別子 ] ページの [ インターチェンジの設定] セクションで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5ISA6ISA7ISA8) の値を入力します。

      Note

      テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、ISA5ZZ、ISA6 を USISA7 から ZZISA8 を THEM に設定します

  9. [適用] をクリックします。

  10. [OK] をクリックします。 新しく追加された契約は、[パーティとビジネス プロファイル] ウィンドウの [契約] セクションに一覧表示されます。 新しく追加したアグリーメントは既定で有効になります。

チュートリアルのテスト

ここでは、チュートリアルをテストする方法について説明します。

チュートリアルをテストするには
  1. Windows エクスプローラーで、テスト EDI インターチェンジをローカル受信フォルダーにドロップします。

    Note

    テスト メッセージには、EDI インターフェイス開発チュートリアルで使用した SamplePO.txt ファイルを使用できます。 このファイルは、\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial フォルダーに付属しています。 これは、X12 850 メッセージです。 このメッセージを使用する場合は、\Program Files (x86)\Microsoft BizTalk Server VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI フォルダーに付属する X12_00401_850.xsd <スキーマをデプロイしている必要があります。 \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema フォルダーで X12 850 スキーマを使用することはできません。

  2. インターチェンジ用の送信ポートに関連付けられたフォルダーを開き、そのフォルダーに EDI インターチェンジが含まれていることを確認します。

  3. 997 受信確認用の送信ポートに関連付けられたフォルダーを開き、そのフォルダーに 997 受信確認が含まれていることを確認します。

  4. TA1 受信確認用の送信ポートに関連付けられたフォルダーを開き、そのフォルダーに TA1 受信確認が含まれていることを確認します。

参照

BizTalk Server EDI ソリューションの開発と構成