チュートリアル (EDIFACT): EDI インターチェンジの受信と受信確認の送信
このチュートリアルでは、BizTalk Serverを使用して EDIFACT インターチェンジを受信するためのソリューションを作成する一連の手順について説明します。 このソリューションでは、ある取引先 (Fabrikam) から別の取引先 (Contoso) に EDIFACT インターチェンジが送信されます。
前提条件
BizTalk Server Administrators または B2B Operators グループのメンバーとしてログオンBizTalk Server必要があります。
ソリューションにより EDIFACT インターチェンジを受信する方法
このソリューションは次の処理を実行します。
Note
この一覧のイベントは、示されている順序で発生するとは限りません。
Fabrikam という取引先から EDIFACT フラット ファイル インターチェンジを受信します。
EDIFACT インターチェンジをそのスキーマに対して検証し、メッセージを XML に逆アセンブルして、メッセージ XML を MessageBox にドロップします。
受信した EDI インターチェンジに対する技術確認 (メッセージの受信) を生成して、MessageBox にドロップします。
機能確認 (受信した EDI インターチェンジの受理または拒否) を生成して、MessageBox にドロップします。
一方向の FILE 送信ポートでメッセージ XML を取得し、メッセージ EDI インターチェンジをアセンブルします。
EDI インターチェンジを Contoso ローカル フォルダーに送信します。
一方向の FILE 送信ポートで技術確認を取得し、インターチェンジをアセンブルします。
技術確認を Fabrikam ローカル フォルダーに送信します。
一方向の FILE 送信ポートで機能確認を取得し、インターチェンジをアセンブルします。
機能確認を Fabrikam に送信します。
このソリューションの機能
このチュートリアルを実行するために、以下の機能を有効にします。
ソリューションは EDIFACT エンコードを使用したインターチェンジ用に設計されています。
Note
X12 インターチェンジ用に同様のソリューションを作成する方法については、「 チュートリアル (X12): EDI インターチェンジの受信と受信確認の送信」を参照してください。
EDI の種類の検証および拡張された検証は、受信インターチェンジに対して実行されます。
インターチェンジの送信者に返す技術確認および機能確認が生成されます。
このソリューションでは、トランスポートの種類が FILE である一方向の受信場所が使用されます。
Note
双方向の送信請求応答の受信ポートと受信場所を使用してメッセージを受信できますが、この方法で受信する場合、種類が FILE のトランスポートは受信場所に対して使用できません。 詳細については、「 EDI メッセージと受信確認を受信するためのポートの構成」を参照してください。
EDI レポートが有効になり、インターチェンジの状態レポートに表示するトランザクション セットが保存されます。
テストを実行するために、ソリューションは 3 つの送信ポートを使用して、作成した EDIFACT インターチェンジと ACK をローカル フォルダーに送信します。
次の図は、このソリューションのアーキテクチャを示しています。
チュートリアルの構成とテスト
このソリューションに必要な手順は以下のとおりです。
BizTalk プロジェクトに必要なメッセージ スキーマを追加してビルドおよび展開し、受信したインターチェンジを BizTalk サーバーで処理するときにそのスキーマを利用できるようにします。
BizTalk Serverが取引先から EDIFACT インターチェンジを受信し、受信確認を生成するための一方向の受信ポートを作成します。 この受信場所は、Fabrikam が Contoso に送信する EDIFACT インターチェンジをドロップするローカル フォルダーに関連付けられています。
Note
双方向の要請応答の受信ポートと場所を使用してメッセージを受信できますが、受信場所に FILE トランスポートの種類を使用することはできません。
EDI インターチェンジをローカル Contoso フォルダーに送信する送信ポート、技術確認と機能確認をローカル Fabrikam フォルダーに送信する送信ポートを作成します。
Note
X12 の確認とは異なり、機能確認と技術確認の両方でメッセージの種類は同じです。 そのため、コンテキスト プロパティを使用して
BTS.MessageType
作成された送信ポート フィルターは、受信確認と同じフォルダーへの配信の両方をフィルター処理します。Fabrikam および Contoso の両方にパーティ (取引先) を作成します。
両方の取引先それぞれにビジネス プロファイルを作成します。
受信するメッセージおよび送信する受信確認の EDI プロパティを構成して、2 つのプロファイル間のアグリーメントを作成します。
テスト EDIFACT インターチェンジを使用して、このチュートリアルをテストします。 このチュートリアルでは、以下の内容をコピーしてテキスト ファイルに貼り付けることができます。 このファイルのスキーマは EFACT_D98A_APERAK.xsd です。
UNA:+,?*' UNB+UNOB:1+7654321:ZZZ+1234567:ZZZ+353501:3023+UNB5' UNG+INVOIC+UNG2.1:ZZZ+UNG3.1:ZZZ+060413:2314+UNG5+UN+D:98B' UNH+UNH1+APERAK:D:98A:UN++13+UNH5.1+UNH6.1+UNH7.1' BGM+1+C10601' DTM+10' FTX+AAA++C10701+C10801' CNT+1:14' RFF+AAA' DTM+10' NAD+AA+C08201+C05801+C08001+C05901' CTA++C05601' COM+C07601:AA' ERC+C90101' FTX+AAA++C10701+C10801' RFF+AAA' FTX+AAA++C10701+C10801' UNT+15+UNH1' UNE+1+UNG5' UNZ+1+UNB5'
チュートリアルの構成
ここでは、チュートリアルを構成する手順について説明します。
メッセージ スキーマを展開するには
Visual Studio で、BizTalk プロジェクトを作成または開きます。
Note
このトピックは、EDI スキーマ、パイプライン、およびオーケストレーションを含む BizTalk EDI アプリケーションに別のアプリケーションから参照を既に追加していることを前提としています。 そうでない場合は、「BizTalk Server EDI アプリケーションへの参照の追加」を参照してください。
プロジェクトを右クリックし、[ 追加] をポイントして、[ 既存の項目] をクリックします。 スキーマが \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI\EDIFACT\D98A にあるフォルダーに移動し、スキーマ (EFACT_D98A_APERAK.xsd) をダブルクリックします。
Note
このトピックで提供されているサンプル テスト メッセージを使用している場合は、 EFACT_D98A_APERAK.xsd スキーマを使用する必要があります。
Note
EDI スキーマが \XSD_Schema\EDI フォルダーに解凍されていない場合は、\XSD_Schema\EDI フォルダー内の MicrosoftEdiXSDTemplates.exe ファイルを実行して、スキーマを既定のフォルダーに解凍します。
アセンブリ キー ファイルをプロジェクトに追加し、アセンブリをビルドして展開します。
EDI インターチェンジを受信するための一方向の受信ポート (Fabrikam 用) を作成するには
Windows エクスプローラーを使用して、インターチェンジを受信するローカル フォルダーを作成します。
BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [受信ポート] ノードを右クリックし、[新規] をポイントして、[一方向の受信ポート] をクリックします。
受信ポートに名前を付け、コンソール ツリーの [ 受信場所 ] をクリックします。
[新規作成] をクリックします。
受信場所に名前を付け、[種類] に [ファイル] を選択し、[構成] をクリックします。
[受信フォルダー] テキスト ボックスの フォルダー を参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 *.edi や *.txtなどのファイル マスクを入力します。
[OK] をクリックします。
[ 受信パイプライン] で、[ EdiReceive] を選択します。
[受信場所のプロパティ] ダイアログ ボックスで [OK] をクリックします。 [受信ポートのプロパティ] ダイアログ ボックスでもう一度 [OK] をクリックします。
コンソール ツリーで、[ 受信場所] をクリックします。 [ 受信場所 ] ウィンドウで、受信場所を右クリックし、[ 有効にする] をクリックします。
EDI インターチェンジを送信するための静的な一方向の送信ポート (Contoso 用) を作成するには
Windows エクスプローラーを使用して、テスト インターチェンジを送信するローカル フォルダーを作成します。
BizTalk Server管理コンソールで、[BizTalk アプリケーション 1] ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的な一方向の送信ポート] をクリックします。
[ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。
[トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。
[ 宛先フォルダー] で、インターチェンジを受信するフォルダーを参照します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 [ファイル マスク] に、*.edi や *.txtなどのインターチェンジ形式を入力します。
[OK] をクリックします。
[ パイプラインの送信] で、[ EdiSend] を選択します。
コンソール ツリーで、[フィルター] を選択 します。 EDI インターチェンジをサブスクライブするフィルターを入力します。 たとえば、[ プロパティ] に「BTS」と入力 します。MessageType; [演算子] に「」と入力 ==し、[ 値] にインターチェンジ
http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006#EFACT_D98A_APERAK
のスキーマを入力します。Note
前のフィルター設定では、この送信ポートに関連付けられたフォルダーに、受信確認ではなくインターチェンジが送信されます。
[OK] をクリックします。
コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。
静的な一方向の送信ポートを作成して確認を送信するには
Windows エクスプローラーで、技術確認と機能確認の送信先となるローカル フォルダーを作成します。
BizTalk Server管理コンソールで、[BizTalk アプリケーション 1] ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的な一方向の送信ポート] をクリックします。
[ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。
[トランスポート] セクションで、[種類] に [ファイル] を選択し、[構成] をクリックします。
[ 宛先フォルダー] で、フォルダーを参照して 2 つの受信確認を受信します。 このフォルダーは、この手順のステップ 1. で作成したフォルダーです。 [ファイル マスク] に、*.edi や *.txtなどのインターチェンジ形式を入力します。
[OK] をクリックします。
[ パイプラインの送信] で、[ EdiSend] を選択します。
コンソール ツリーで、[フィルター] を選択 します。 確認をサブスクライブするフィルターを入力します。 たとえば、[ プロパティ] に「BTS」と入力 します。MessageType; [演算子] に「」と入力 ==し、[ 値] に受信確認
http://schemas.microsoft.com/Edi/Edifact#Efact_Contrl_Root
のスキーマを入力します。[OK] をクリックします。
コンソール ツリーで、[ 送信ポート] をクリックします。 [ 送信ポート ] ウィンドウで、送信ポートを右クリックし、[ 開始] をクリックします。
Fabrikam のパーティとビジネス プロファイルを作成するには
BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。
[名前] テキスト ボックスにパーティの 名前 を入力し、[OK] をクリック します。
Note
[Local BizTalk processes messages received by the Party OR supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。
パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。
[プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「Fabrikam_Profile」と入力します。
Note
パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。
Contoso のパーティとビジネス プロファイルを作成するには
BizTalk Server管理コンソールで [パーティ] ノードを右クリックし、[新規] をポイントして、[パーティ] をクリックします。
[名前] テキスト ボックスにパーティの 名前 を入力し、[OK] をクリック します。
Note
[Local BizTalk processes messages received by the Party OR supports messages from this party チェック] ボックスを選択すると、作成するパーティが、BizTalk Serverをホストしているのと同じorganization用であることを指定できます。 その指定に基づいて、アグリーメントを作成するときに一部のプロパティが有効または無効になります。 ただし、このチュートリアルでは、このチェック ボックスはオンのままでかまいません。
パーティ名を右クリックし、[ 新規] をポイントして、[ ビジネス プロファイル] をクリックします。
[プロファイルのプロパティ] ダイアログ ボックスの [全般] ページで、[名前] テキスト ボックスに「Contoso_Profile」と入力します。
Note
パーティを作成すると、プロファイルも作成されます。 新しいプロファイルを作成する代わりに、そのプロファイルの名前を変更して使用できます。 プロファイルの名前を変更するには、プロファイルを右クリックし、[プロパティ] を選択 します。 [ 全般 ] ページで、プロファイルの名前を指定します。
2 つのビジネス プロファイル間のアグリーメントを作成するには
[Fabrikam_Profile] を右クリックし、[新規] をポイントして、[契約] をクリックします。
[ 全般プロパティ ] ページの [ 名前 ] テキスト ボックスに、契約の名前を入力します。
[ プロトコル ] ドロップダウン リストから、[ EDIFACT] を選択します。
[ Second Partner]\(2 番目のパートナー \) セクションで、[Name]\( 名前 \) ドロップダウン リストから [Contoso] を選択 します。
[ 2 番目のパートナー ] セクションの [ プロファイル ] ドロップダウン リストから、[ Contoso_Profile] を選択します。
[ 全般 ] タブの横に 2 つの新しいタブが追加されていることがわかります。各タブは一方向アグリーメントを構成するためのものであり、各一方向アグリーメントはメッセージの 1 つの完全なトランザクション (メッセージ転送と受信確認転送を含む) を表します。
[ 全般 ] タブの [ 全般プロパティ ] ページの [ 共通ホスト設定] セクションで、[ レポートを有効にする] を選択し、[ レポート用にメッセージ ペイロードを格納する] を選択します。
[Fabrikam-Contoso] タブで次のタスクを>実行します。
[インターチェンジの設定] セクションの [識別子] ページで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (UNB2.1、UNB2.2、UNB3.1、UNB3.2) の値を入力します。
Note
BizTalk Server契約解決を実行するには、送信者と受信者の修飾子フィールドと識別子フィールドが必要です。 インターチェンジ ヘッダーの UNB2.1、UNB2.2、UNB3.1、UNB3.2 の値と、契約のプロパティの値と一致します。 BizTalk Serverでは、送信者修飾子と識別子 (受信者修飾子と識別子なし) を照合することで、契約も解決されます。 BizTalk Server契約を解決できない場合は、フォールバック アグリーメントのプロパティが使用されます。
Note
このトピックで前に説明したサンプル メッセージをテスト メッセージとして使用している場合は、 UNB2.1 を 7654321 に、 UNB2.2 を ZZZ - 相互に定義し、 UNB3.1 を 1234567に、 UNB3.2 を ZZZ - 相互に定義します。
[受信確認] ページの [インターチェンジの設定] セクションで、メッセージの受信 (CONTRL) が必要で、受信確認 (CONTRL) が必要チェック。
[エンベロープ] ページの [インターチェンジの設定] セクションで、[UNA セグメントの適用 (文字列サービスアドバイス)] と [Apply UNG segments (Functional group header)]\(UNG セグメントの適用(機能グループ ヘッダー)\) をチェックします。
[インターチェンジの設定] セクションの [検証] ページで、インターチェンジ制御番号 (UNB5) オプションがオフになっていることを確認します。
Note
インターチェンジ制御番号 (UNB5) プロパティをクリアすると、同じメッセージの複数のインスタンスを受信できます。
[インターチェンジの設定] セクションの [文字セットと区切り記号] ページで、[UNA6 サフィックス] の [CR LF] オプションを選択します。
[ ローカル ホストの設定] ページの [ インターチェンジの設定] セクション で、[要求/応答受信ポートでパイプラインを送信する ACK をルーティングする ] オプションをオフにします。
Note
双方向の受信ポートを使用してインターチェンジを受信し、受信確認を返す場合は、要求/応答受信ポートでパイプラインを送信するようにルート ACK をチェックします。
[インターチェンジの設定] セクションの [送信ポート] ページで、Fabrikam からインターチェンジを受信する送信ポートと、Contoso から受信確認を受信する送信ポートを関連付けます。 [ 送信ポート ] グリッドの [ 名前 ] 列で空のセルをクリックし、ドロップダウン リストから Fabrikam から EDI インターチェンジを受信するために作成された送信ポートを選択します。 技術確認と機能確認の受信用に作成した送信ポートに対してこの手順を繰り返します。
[検証] ページの [トランザクション セットの設定] セクションで、[EDI の種類の検証] をオンのままにし、[拡張型の検証] をチェックします。
BizTalk Serverに付属する標準スキーマのいずれかを使用している場合は、[ローカル ホスト設定] ページの [トランザクション セットの設定] セクションで、受信インターチェンジの処理に使用するスキーマの名前空間を選択します。 カスタム スキーマを使用する場合は、[ターゲット名前空間のカスタマイズ] グリッドに値を入力して、BizTalk Serverグループとトランザクション セットのヘッダー値を使用して名前空間を決定できるようにします。
[封筒] ページ の [ トランザクション セットの設定] セクションで、グリッドの最初の行のすべての列の値を入力します。
プロパティ 目的 [Default] [既定値] を選択します。 メッセージの種類として UNH2.1 テスト メッセージ APERAK のメッセージの種類を選択します。 [UNH2.2] EDI バージョン D を入力します。 UNH2.3 リリース番号 98A を入力します。 [UNH2.5] 空白のままにできます。 ターゲットの名前空間 [ http://schemas.microsoft.com/Edi/Edifact
] を選択します。UNG1 機能グループ ID INVOIC を指定します。 [UNG2.1] アプリケーション送信者 ID を表す値を入力します。 [UNG2.1] アプリケーション送信側コード修飾子の値 ( ZZZ など) を入力します。 [UNG3.1] アプリケーション受信者 ID を表す値を入力します。 [UNG3.2] ZZZ などのアプリケーション レシーバー コード修飾子の値を入力します。 UNG6 管理機関の値を入力します。 たとえば、 UN です。 UNG7.1 メッセージの種類のバージョン番号を入力します。 例: D。 [UNG7.2] メッセージの種類のリリース番号を入力します。 例: 98A。 UNG7.3 空白のままにできます。 UNG8 空白のままにできます。
[Contoso-Fabrikam] タブで次の>タスクを実行します。
Note
このチュートリアルでは、必要な値をタブに指定し、アグリーメントを正常に作成できるようにします。 契約を正常に作成するには、両方の一方向アグリーメント タブに UNG2.1、UNG2.2、UNG3.1、UNG3.2 の値が定義されている必要があります。
Note
受信確認は同じメッセージ トランザクションの一部ですが、受信確認の生成方法に関連するプロパティは、[Contoso-Fabrikam>] タブで構成されます。これは、送信者と受信者の修飾子の受信確認コンテキスト プロパティが[Contoso-Fabrikam]\(Contoso-Fabrikam>\) タブで指定した値とは逆に設定されるため、必須です。たとえば、送信者と受信者の識別子が [Fabrikam-Contoso>] タブで7654321および1234567に設定されている場合、送信者と受信者のコンテキスト プロパティは受信確認で1234567および7654321に設定されます。 通常、もう一方の一方向アグリーメントに関するタブでも、送信者 ID と受信者 ID がそれぞれ 1234567 と 7654321 に設定されます。 そのため、受信確認メッセージは、そのアグリーメントに従って解決され、プロパティの設定が取得されます。 そのため、異なる要素区切り記号を使用する受信確認を行う場合、または CR LF を使用する受信確認を行う場合は、[Contoso-Fabrikam>] タブでプロパティを指定します。
概念的には、受信確認のプロパティは、受信確認のコンテキスト プロパティで設定されたものと同じ送信者と受信者の修飾子を持つ一方向アグリーメント タブから選択されます。 ただし、実際に使いやすいように、一般的には、インターチェンジの解決用に作成したアグリーメントのもう 1 つの一方向のアグリーメント タブでこの設定を行います。
[インターチェンジの設定] セクションの [識別子] ページで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (UNG2.1、UNG2.2、UNG3.1、UNG3.2) の値を入力します。
Note
このトピックで前述したサンプル メッセージをテスト メッセージとして使用している場合は、 UNB2.1 を 1234567 に設定し、 UNB2.2 を ZZZ – 相互に定義し、 UNB3.1 を 7654321に、 UNB3.2 を ZZZ - 相互に定義します。
[適用] をクリックします。
[OK] をクリックします。 新しく追加された契約は、[パーティとビジネス プロファイル] ウィンドウの [契約] セクションに一覧表示されます。 新しく追加したアグリーメントは既定で有効になります。
チュートリアルのテスト
ここでは、チュートリアルをテストする方法について説明します。
チュートリアルをテストするには
Windows エクスプローラーで、テスト EDI インターチェンジをローカル受信フォルダーにドロップします。
Note
このトピックの前半に示したサンプル メッセージをテスト メッセージとして使用できます。 メッセージをテキスト ファイルにコピーし、拡張子を .txt にしてファイルを保存します。 このメッセージを使用する場合は、EFACT_D98A_APERAK.xsd スキーマを展開しておく必要があります。 スキーマを使用するには、 (\XSD_Schema \EDI フォルダー内の)MicrosoftEdiXSDTemplates.exeファイルを実行して、スキーマを既定のフォルダーに解凍します。 EFACT_D98A_APERAK.xsd スキーマは、\Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI\EDIFACT\D98A で使用できます。
インターチェンジ用の送信ポートに関連付けられたフォルダーを開き、そのフォルダーに EDI インターチェンジが含まれていることを確認します。
受信確認用の送信ポートに関連付けられたフォルダーを開き、そのフォルダーに技術確認と機能確認が含まれていることを確認します。