次の方法で共有


メッセージ エンリッチメント のサンプル (BizTalk Server サンプル)

メッセージ エンリッチメント のサンプルでは、X12 および EDIFACT ドキュメントのトランザクション セット メッセージにインターチェンジ ヘッダーを追加する方法を示します。

このサンプルの役割

このサンプルでは、EDIFACT の UNA、UNB、UNG ヘッダー、X12 の ISA ヘッダーをトランザクション セットに追加する方法を示します。 具体的には、このサンプルでは次の処理を行います。

  1. \Message Enrichment\In フォルダーにテスト メッセージをドロップすると、受信ポートによってメッセージが取得され、処理され、メッセージ ボックスにドロップされます。

  2. MessageEnrichmentOrchestration は、受信図形に設定されたフィルター式に基づいてメッセージをサブスクライブするため、MessageBox からテスト メッセージを取得します。

  3. オーケストレーションは、メッセージのコンテキスト プロパティからインターチェンジ ヘッダーを読み取ります。

    UNA ヘッダーと UNG ヘッダーは EDIFACT メッセージでは省略可能であるため、メッセージのコンテキスト プロパティに含まれていない可能性があります。

  4. オーケストレーションは、インターチェンジヘッダーとメッセージ本文の両方を 1 つの新しいメッセージに書き込みます。

  5. オーケストレーションは、ReceivePortNameCorrelationType 関連付け型で設定されている追加のプロパティをメッセージに昇格させます。 これにより、オーケストレーションのユーザーは、サブスクリプションに必要なプロパティの一覧を選択できます。 これらのプロパティは、メッセージの構築図形で記述されます。 元のメッセージに書き込まれたすべてのコンテキスト プロパティが新しいメッセージに書き込まれるわけではありません。

  6. オーケストレーションによって、新しいメッセージが MessageBox にドロップされます。

  7. 送信ポートは新しいメッセージを取得し、FILE アダプターを介して \Message Enrichment\Out フォルダーに送信します。

このサンプルを検索する場所

このサンプルは、BizTalk Server インストール フォルダー \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment にあります。

次の表に、このサンプルのファイルとその目的を示します。

ファイル(複数可) 説明
Cleanup.bat サンプル シナリオのデプロイを解除します。 これを成功させるには、オーケストレーションのアクティブなインスタンスが存在しない必要があります。 アクティブなインスタンスがある場合、ファイルは正しく実行されません。
MessageEnrichment.sln MessageEnrichment プロジェクトと MessageEnrichmentLibrary プロジェクトを格納します。
Setup.bat 受信ポート、送信ポート、オーケストレーションで構成されるシナリオの例を展開します。
EDIFACT_example.edi 入力 EDIFACT メッセージ。
X12_example.edi 入力 X12 メッセージ。
MessageEnrichment.btproj MessageEnrichment オーケストレーションとスキーマを含むプロジェクトです。
MessageEnrichmentBindings.xml オーケストレーション、ポート、およびパーティのバインドを含むファイル。
MessageEnrichmentOrchestration.odx メッセージにヘッダーを追加するオーケストレーション。
MessageEnrichmentOrchestration.odx.cs メッセージにヘッダーを追加するオーケストレーション コード。
EFACT_D98B_APERAK.xsd 入力メッセージの EDIFACT スキーマ。
Enriched_EFACT_D98B_APERAK.xsd 出力メッセージの EDIFACT スキーマ。
X12_00401_864.xsd 入力メッセージの X12 スキーマ。
Enriched_X12_00401_864.xsd 出力メッセージの X12 スキーマ。
Headers.xsd 入力メッセージに追加されたヘッダーのスキーマ。
MessageEnrichmentLibrary.csproj Headers.cs、OrchestrationUtilities.cs、およびParseHeaders.cs ファイルを含むプロジェクト。
Headers.cs ヘッダー データを表すクラスが含まれます。
OrchestrationUtilities.cs オーケストレーションで使用されるユーティリティ メソッドが含まれています。
ParseHeaders.cs 新しいメッセージで使用される UNA の既定値が含まれます。 これらの値は、ParseHeaders.csの SerializeEDIFACTHeaders メソッドから取得されます。

このサンプルを使用する方法

このサンプルは、EDI トランザクション セット メッセージにインターチェンジ ヘッダーを追加するために必要なアクションの作業例として使用します。

このサンプルのビルドと初期化

メッセージ エンリッチメント サンプルをビルドして初期化するには、このサンプルの BizTalk プロジェクトをビルドして展開し、受信ポートと場所を構成し、2 つの異なる送信ポートを構成する必要があります。

このサンプルの BizTalk プロジェクトをビルドして展開するには

  1. Notepad.Exe を使用して、\Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\MessageEnrichment\ を開きます。
    MessageEnrichment\properties\AssemblyInfo.csし、ファイルの下部に次の行を追加します。

    [assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]  
    
  2. 変更したAssemblyInfo.csファイルを保存し、メモ帳を終了します。

  3. コマンド ウィンドウで、次のフォルダーに移動します。

    \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment

  4. 次のアクションを実行するSetup.batを実行します。

    • \MessageEnrichment フォルダーに、このサンプルの受信 (in) フォルダーと send (out) フォルダーを作成します。

    • MessageEnrichmentLibrary\testkey.snk にキー ペアを書き込みます。

    • MessageEnrichmentLibrary.btproj プロジェクトをビルドして配置します。

    • MessageEnrichment.btproj プロジェクトをビルドして配置します。

    • MessageEnrichmentBindings.xmlでバインディング情報を読み取ります。

      このプロジェクトのバインドでは、BizTalk ホストが認証信頼済みとしてマークされている必要があります。 信頼されていないホストでこれを使用するには、MessageEnrichmentBindings.xml を変更し、HostTrusted="true" エントリを HostTrusted="false" に変更します。

    • オーケストレーション バインドを更新します。

    • 送信ポート、送信ポート グループ、および受信ポートを更新します。

    • パーティと参加リストを更新します。

    • 送信ポートを開始します。

    • 受信場所を有効にします。

    • オーケストレーションを参加させ、開始します。

    BizTalk Server は、このサンプルを操作する準備ができました。

このサンプルの実行

メッセージ エンリッチメント サンプルを実行するには、次の手順に従います。

このサンプルを実行するには

  1. \MessageEnrichment\Instances フォルダーから \MessageEnrichment\In フォルダーに EDIFACT_examples.edi ファイルをコピーします。

  2. EDIFACT_examples.edi ファイルが \MessageEnrichment\In フォルダーから消え、\MessageEnrichment\Out フォルダーに表示されることを確認します。

  3. \MessageEnrichment\Out フォルダー内のファイルを開きます。 \MessageEnrichment\Instances フォルダー内の EDIFACT_examples.edi ファイルの XML 表現であり、出力ファイルに EDIFACT UNA、UNB、および UNG ヘッダーがある点を除き、EDIFACT_examples.edi ファイルと同じ内容であることを確認します。

  4. \MessageEnrichment\Instances フォルダーの X12_examples.edi ファイルで手順 1 と 2 を繰り返します。

  5. \MessageEnrichment\Out フォルダー内の新しいファイルを開きます。 \MessageEnrichment\Instances フォルダー内の X12_examples.edi ファイルの XML 表現であり、出力ファイルに X12 ISA ヘッダーがある点を除き、X12_examples.edi ファイルと同じ内容であることを確認します。

このサンプルで使用するクラスまたはメソッド

無し

こちらもご覧ください

EDI および AS2 (BizTalk Server サンプルフォルダー)