チュートリアル (X12): EDI インターチェンジの送信
このチュートリアルでは、BizTalk Serverを使用して EDI インターチェンジを送信するためのソリューションを作成する一連の手順について説明します。
前提条件
BizTalk Server Administrators または BizTalk Server B2B Operators グループのメンバーとしてログオンする必要があります。
ソリューションにより EDI インターチェンジを送信する方法
このソリューションは次の処理を実行します。
一方向の FILE 受信ポートは、Fabrikam から EDI メッセージを受信します。
EdiReceive パイプラインを使用して、受信ポートはメッセージをチェックし、XML に変換します。 次に、受信ポートはテスト メッセージをメッセージ ボックスにドロップします。
静的な一方向の送信ポートが、メッセージ ボックスから XML メッセージを取得します。
静的な一方向の送信ポートは、メッセージ スキーマと照合し、EDI メッセージを検証して、EDI メッセージを EDI インターチェンジにシリアル化した後、EDI メッセージを取引先である Contoso のローカル フォルダーに送信します。
このソリューションの機能
このチュートリアルでは、以下の機能を使用します。
このチュートリアルでは、受信確認の受信はテストされません。 受信確認を受け取る方法については、「チュートリアル (X12): EDI インターチェンジの受信と受信確認の返送」を参照してください。
このソリューションは、EDIFACT エンコードではなく X12 エンコードを使用するインターチェンジを対象に設計されています。
Note
HIPAA および EDIFACT エンコードに使用される構成は、X12 エンコードに使用される構成によく似ています。
EDI の種類の検証および拡張された検証は、送信インターチェンジに対して実行されます。
このソリューションでは、トランスポートの種類が FILE である静的な一方向の送信ポートが使用されます。
Note
静的な一方向の送信ポートの代わりに、静的な双方向の送信ポートを使用して、インターチェンジの送信および受信確認の受信を行うこともできます。 また、動的な一方向の送信ポートを使用してインターチェンジを送信することもできます。 動的送信ポートの使用の詳細については、「 動的送信ポートを構成して EDI インターチェンジと受信確認を送信する」を参照してください。
Note
HTTP アダプターと AS2 トランスポートを使用できます。 詳細については、「 チュートリアル (AS2): 同期 MDN を使用して AS2 経由で EDI を送信 する」または「 チュートリアル (AS2): 非同期 MDN を使用して AS2 経由で EDI を送信する」を参照してください。
EDI レポートが有効になり、インターチェンジの状態レポートに表示するトランザクション セットが保存されます。
テスト目的の場合、このソリューションではテスト メッセージの受信に受信場所が使用されます。
次の図は、静的な一方向の送信ポートを使用するこのソリューションのアーキテクチャを示しています。
の送信
チュートリアルの構成とテスト
このソリューションに必要な手順は以下のとおりです。
必要なメッセージ スキーマを BizTalk プロジェクトに追加し、プロジェクトをビルドして展開し、送信インターチェンジの処理でBizTalk Serverがスキーマを使用できるようにします。
EDI インターチェンジを受信するBizTalk Serverの受信ポートと場所を作成します。 この受信場所は、Fabrikam が Contoso に送信する EDI インターチェンジをドロップするファイル フォルダーに関連付けられています。 受信場所では EdiReceive 受信パイプラインを使用します。
EDI インターチェンジを Contoso に送信するBizTalk Serverの送信ポートを作成します。 このチュートリアルでは、静的な一方向の送信ポートを作成します。
Fabrikam および Contoso の両方にパーティ (取引先) を作成します。
両方の取引先それぞれにビジネス プロファイルを作成します。
受信するメッセージの EDI プロパティを構成して、2 つのプロファイル間のアグリーメントを作成します。
テスト EDI インターチェンジを使用して、このチュートリアルをテストします。
Note
テスト メッセージには、EDI インターフェイス開発チュートリアルで使用した SamplePO.txt ファイルを使用できます。 このファイルは、\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\ フォルダーに付属しています。 これは、X12 850 メッセージです。
チュートリアルの構成
ここでは、チュートリアルを構成する手順について説明します。
メッセージ スキーマを展開するには
Visual Studio で、BizTalk プロジェクトを作成または開きます。
Note
このトピックは、EDI スキーマ、パイプライン、およびオーケストレーションを含む BizTalk EDI アプリケーションに別のアプリケーションから参照を既に追加していることを前提としています。 そうでない場合は、「BizTalk Server EDI アプリケーションへの参照の追加」を参照してください。
プロジェクトを右クリックし、[ 追加] をポイントして、[ 既存の項目] をクリックします。 スキーマが \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 スキーマを使用することはできません。
アセンブリ キー ファイルをプロジェクトに追加し、アセンブリをビルドして展開します。
EDI インターチェンジを受信するための一方向の受信ポート (Fabrikam 用) を作成するには
Windows エクスプローラーで、インターチェンジを受信するローカル フォルダーを作成します。
BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [受信ポート] ノードを右クリックし、[新規] をポイントして、[一方向の受信ポート] をクリックします。
受信ポートに名前を付け、コンソール ツリーの [ 受信場所 ] をクリックします。
[新規作成] をクリックします。
受信場所に名前を付け、[種類] に [ファイル] を選択し、[構成] をクリックします。
[受信フォルダー] にフォルダーを入力し、ファイル マスクに「*.txt」と入力します。
[OK] をクリックします。
[ 受信パイプライン] で、[ EdiReceive] を選択します。
[OK] をクリックしてから、もう一度 [OK] をクリックします。
コンソール ツリーで、[ 受信場所] をクリックします。 [ 受信場所 ] ウィンドウで、受信場所を右クリックし、[ 有効にする] をクリックします。
EDI インターチェンジを送信するための静的な一方向の送信ポート (Contoso 用) を作成するには
Windows エクスプローラーで、EDI インターチェンジを送信する先のローカル フォルダーを作成します。
BizTalk Server管理コンソールで、BizTalk アプリケーション 1 ノードの下にある [送信ポート] ノードを右クリックし、[新規] をポイントして、[静的一方向送信ポート] をクリックします。
[ 送信ポートのプロパティ ] ダイアログ ボックスで、送信ポートに名前を付けます。
[ トランスポート ] セクションで、[種類] を選択 します (例: FILE)。
ファイルの種類を使用する場合は、[ 構成] をクリックします。 [ 宛先フォルダー] で、インターチェンジを送信するフォルダーを参照します。 [ ファイル名] に 「%MessageID%.edi」と入力します。 [OK] をクリックします。
[ 送信パイプライン] で、[ EdiSend] を選択します。
コンソール ツリーで [ フィルター] を選択し、メッセージのサブスクライブに使用する送信ポートのフィルター式を入力します。 たとえば、元のテスト メッセージを受信する受信場所をフィルター式として使用できます。 これを行うには、[ プロパティ] に「BTS」と入力 します。ReceivePortName; [演算子] に「」と入力 ==し、[ 値] に Fabrikam から XML メッセージを受信するために作成した受信ポートの名前を入力します。
Note
フィルター処理の対象には、別の任意のプロパティ (たとえば BTS.MessageType) を指定することもできます。
[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] を右クリックし、[新規] をポイントして、[契約] をクリックします。
[ 全般プロパティ ] ページの [ 名前 ] テキスト ボックスに、契約の名前を入力します。
[ プロトコル ] ドロップダウン リストから [ X12] を選択します。
[ Second Partner]\(2 番目のパートナー \) セクションで、[Name]\( 名前 \) ドロップダウン リストから [Contoso] を選択 します。
[ 2 番目のパートナー ] セクションの [ プロファイル ] ドロップダウン リストから、[ Contoso_Profile] を選択します。
[ 全般 ] タブの横に 2 つの新しいタブが追加されていることがわかります。各タブは一方向アグリーメントを構成するためのものであり、各一方向アグリーメントはメッセージの 1 つの完全なトランザクション (メッセージ転送と受信確認転送を含む) を表します。
[ 全般 ] タブの [ 全般プロパティ ] ページの [ 共通ホスト設定] セクションで、[ レポートを有効にする] を選択し、[ レポート用にメッセージ ペイロードを格納する] を選択します。
[Fabrikam-Contoso] タブで次のタスクを>実行します。
[インターチェンジの設定] セクションの [識別子] ページで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5、ISA6、ISA7、ISA8) の値を入力します。
Note
BizTalk Server契約解決を実行するには、送信者と受信者の修飾子フィールドと識別子フィールドが必要です。 インターチェンジ ヘッダーの ISA5、ISA6、ISA7、および ISA8 の値と、契約のプロパティの値が一致します。 BizTalk Serverでは、送信者修飾子と識別子 (受信者修飾子と識別子なし) を照合することで、契約も解決されます。 BizTalk Server契約を解決できない場合は、フォールバック アグリーメントのプロパティが使用されます。
Note
テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、 ISA5 を ZZ に、 ISA6 を THEM に、 ISA7 を ZZ に、 ISA8 を US に設定します。
[インターチェンジの設定] セクションの [検証] ページで、[ISA13 の重複を確認する] オプションがオフになっていることを確認します。
Note
[ Check for duplicate ISA13]\(ISA13 の重複チェック \) プロパティをクリアすると、同じメッセージの複数のインスタンスを受信できます。
[ 文字セットと区切り記号 ] ページの [ インターチェンジの設定] セクションで、[ CR LF ] オプションを選択します。
[ 送信ポート] ページの [ インターチェンジの設定] セクションで、Fabrikam から EDI インターチェンジを受信する送信ポートを関連付けます。 [ 送信ポート ] グリッドの [ 名前 ] 列で空のセルをクリックし、ドロップダウン リストから Fabrikam から EDI インターチェンジを受信するために作成された送信ポートを選択します。
[検証] ページの [トランザクション セットの設定] セクションで、[EDI の種類の検証] をオンのままにし、[拡張検証] をチェックします。
BizTalk Serverに付属する標準スキーマのいずれかを使用している場合は、[ローカル ホスト設定] ページの [トランザクション セットの設定] セクションで、受信インターチェンジの処理に使用するスキーマの名前空間を選択します。
プロパティ 目的 [Default] 列のチェック ボックスをオンにします ST1 の場合 [ 850 - 発注書] を選択します。 GS2 「THEM」と入力します。 [ターゲット名前空間] [ http://schemas.microsoft.com/BizTalk/EDI/X12/2006
] を選択します。Note
プロパティを設定すると、BizTalk Serverは受信 850 インターチェンジの処理に使用するスキーマを決定できます。 グリッド内の行に入力された [GS02] と [ST01] の値がインターチェンジに設定されている場合は、同じ行にあるターゲットの名前空間により、使用するスキーマが決定されます。
[封筒] ページ の [ トランザクション セットの設定] セクションで、グリッドの最初の行のすべての列の値を入力します。
プロパティ 目的 [Default] [ 既定 ] 列のチェック ボックスをオンにします。 メモ:この行を既定値として選択すると、トランザクションの種類、バージョン/リリース、およびターゲット名前空間の値がメッセージに一致しない場合でも、GS1、GS2、GS3、GS7、GS8 の値が使用されます。 トランザクションの種類 テスト メッセージのメッセージの種類 850 - 発注書を選択します。 バージョン/リリース EDI バージョン 00401 を入力します。 ターゲットの名前空間 [ http://schemas.microsoft.com/BizTalk/EDI/X12/2006
] を選択します。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 値が使用されます。
[Contoso-Fabrikam] タブで次の>タスクを実行します。
Note
このチュートリアルでは、必要な値をタブに指定し、アグリーメントを正常に作成できるようにします。 契約を正常に作成するには、両方の一方向アグリーメント タブに ISA5、ISA6、ISA7、ISA8 に対して値が定義されている必要があります。
[インターチェンジの設定] セクションの [識別子] ページで、テスト メッセージのヘッダー フィールドの値に対応する修飾子フィールドと識別子フィールド (ISA5、ISA6、ISA7、ISA8) の値を入力します。
Note
テスト メッセージとして "EDI インターフェイス開発者チュートリアル" の SamplePO.txt ファイルを使用している場合は、ISA5 を ZZ に、ISA6 を US に、ISA7 を ZZ に、ISA8 を THEM に設定します。
[適用] をクリックします。
[OK] をクリックします。 新しく追加された契約は、[パーティとビジネス プロファイル] ウィンドウの [契約] セクションに一覧表示されます。 新しく追加したアグリーメントは既定で有効になります。
チュートリアルのテスト
ここでは、チュートリアルをテストする方法について説明します。
チュートリアルをテストするには
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 スキーマを使用することはできません。
Windows エクスプローラーで、送信ポートに指定した送信先のフォルダーを開きます。 アグリーメントのプロパティに入力した値と一致する ISA、GS、および ST ヘッダーを保持する出力 EDI インターチェンジがフォルダーに含まれていることを確認します。