CBRSample (BizTalk Server サンプル)
CBRSample サンプルは、フィルタと送信マップを適用して、コンテンツに基づいてインスタンス メッセージを変換およびルーティングする方法を示しています。
このサンプルの処理
このサンプルでは、名前、住所、連絡先情報が含まれたメッセージを、国コードに基づいて 2 つのフォルダのいずれかにルーティングします。 具体的には、このサンプルは以下の処理を行います。
ユーザー ID や氏名による識別情報、国コード付きの住所、電話番号情報など、人物の基本情報を含んでいるサンプル メッセージ形式を定義します。
入力ドキュメントの CountryCode プロパティを昇格させ、ポート フィルターで使用して変換とルーティングを制御できるようにします。
CountryCode が 200 に等しい場合はメッセージをカナダのバージョンに変換し、CountryCodeが 100 に等しい場合は米国バージョンに変換します。 どちらの変換も、中間イニシャル (Initial) を除くすべてのデータを通過します。 カナダのバージョンでは、 State を Province に、 ZipCode を PinCode にマップすることもできます。
米国バージョンのメッセージを US ディレクトリに、カナダ バージョンのメッセージを CAN ディレクトリにルーティングします。
このサンプルのデザイン方法とその理由
このデザインでは、BizTalk Server 内の既定の送受信 XML パイプライン、プロパティの昇格、サブスクリプション フィルタ、送信マップを使用して、メッセージをルーティングします。 次の表は、デザイン要素とその選択理由を示しています。
デザイン要素 | 選択理由 |
---|---|
既定の XML 受信パイプライン | - XMLReceive パイプラインでは、プロパティの昇格がサポートされています。PassThruReceive パイプラインでは実行されません。 - 受信メッセージは既に XML 形式であり、基本的な逆アセンブリとパーティ解決以外の処理は必要ありません。 |
プロパティの昇格 | - BizTalk Server は、ルーティングを行うプロパティ フィールドに依存します。 識別フィールドはオーケストレーションによって使用されるため、ルーティングには使用できません。 |
サブスクリプション フィルター | - サブスクリプション フィルターは、プロパティ フィールドに基づいて 1 つ以上の条件を満たすメッセージをキャプチャすることで、実際のルーティングを実行します。 |
送信マップ | - データをある形式から別の形式に変換します。 このサンプルでは、受信メッセージが米国形式またはカナダ形式にマップされます。 |
XMLTransmit | - 送信 XML メッセージの基本的なアセンブリを実行します。PassThruTransmit パイプラインでは、追加のサポートは提供されません。 |
この基本パターンを拡張して、より複雑なシナリオに使用することができます。
このサンプルの場所
このサンプルは\Messaging\CBRSample\ にあります <Samples Path>
。
次の表は、このサンプルのファイルとその目的を示しています。
ファイル | 説明 |
---|---|
CBRDataCAN.Xml、CBRDataUS.Xml | ファイル CBRInputSchema.xsd で定義されているスキーマに準拠したサンプル入力ファイルです。 |
CBRInput2CANMap.btm、CBRInput2USMap.btm | それぞれカナダ形式と米国形式の変換のマップ ファイルです。 |
CBRInputSchema.xsd、CBROutputSchemaCAN.xsd、CBROutputSchemaUS.xsd | それぞれ入力形式、カナダ出力形式、米国出力形式のスキーマ ファイルです。 |
CBRPromotedPropertySchema.xsd | XML 入力ファイル内の CountryCode 要素に対応する昇格されたプロパティのスキーマ ファイル。 |
CBRSample.btproj、CBRSample.sln | このサンプルの BizTalk プロジェクト ファイルとソリューション ファイルです。 |
Cleanup.bat | アセンブリの展開を解除し、グローバル アセンブリ キャッシュからアセンブリを削除するために使用されます。 送信ポートと受信ポートが削除されます。 必要に応じて、インターネット インフォメーション サービス (IIS) の仮想ディレクトリが削除されます。 |
Setup.bat | このサンプルをビルドおよび初期化するために使用されます。 |
このサンプルの使用方法
このサンプルは、コンテンツに基づいたメッセージのルーティングに必要なアクションの動作例として使用してください。
このサンプルのビルドと初期化
CBRSample サンプルをビルドして初期化するには、このサンプルの BizTalk プロジェクトをビルドして展開し、受信ポートと受信場所を構成して、2 つの異なる送信ポートを構成する必要があります。
このサンプルの BizTalk プロジェクトをビルドして展開するには
コマンド ウィンドウで、次のフォルダーに移動します。
<Samples Path>
\Messaging\CBRSampleSetup.batを実行します。これは、次のアクションを実行します。
このサンプルの入力 (入力) フォルダーと出力フォルダー (US および CAN) を作成します。
このサンプル用に Microsoft Visual Studio プロジェクトをコンパイルおよび展開します。
BizTalk Server の受信場所、送信ポート、および受信ポートを作成しバインドします。
注意
このサンプルでは、ポートを作成してバインドするときに、次の警告が表示されます。
警告: 受信場所 "CBRReceiveLocation" に対して受信ハンドラーが指定されていません。トランスポートの種類が一致する最初の受信ハンドラーを使用して を更新する。
この警告は無視してかまいません。 (インストールでの名前付け方法はユーザーによって異なる可能性があるため、ホスト名と受信ハンドラーはバインド ファイルから除外されています。)
注意
このサンプルを実行する前に、ビルドと初期化のプロセス中に BizTalk Server でエラーが報告されていないことを確認する必要があります。
注意
Setup.bat を実行せずにこのサンプルでプロジェクトを開いてビルドする場合は、まず、.NET Framework厳密名ユーティリティ (sn.exe) を使用して厳密な名前キー ペアを作成する必要があります。 このキー ペアを使用して、結果のアセンブリに署名します。
注意
Setup.bat によって行われた変更を元に戻すには、Cleanup.bat を実行します。 Setup.bat を 2 回目に実行する場合は、その前に Cleanup.bat を実行してください。
受信ポート、受信場所、および送信ポートを構成する準備を行うには
Microsoft SQL Management Studio で、適切な BizTalk 管理データベースを選択します。
注意
BizTalk 管理データベースは、BizTalk 構成データベースとも呼ばれます。
米国用の送信ポートの構成、参加、開始を行うには
BizTalk Server管理コンソールで、[送信ポート] を展開し、[CBRUSSendPort] を右クリックして、[編集] をクリックします。
[静的 One-Way 送信ポートのプロパティ] ダイアログ ボックスの左側にあるフォルダー ツリーで、[フィルター] & [マッピング] |[プロパティ] をCBRSample.CountryCode に設定し、[演算子] 列を に設定し、[値] 列を 100 に==設定して、フィルター処理し、新しい行を追加します。
ダイアログ ボックスの左側にあるフォルダー ツリーで、[マッピング & フィルター] を選択します。送信マップで、プロパティを CBRSample.CBRInput2USMap に適用するように Map を設定し、[OK] をクリックします。 マップを表示するには、スクロール ボタンのクリックが必要な場合があります。
カナダ用の送信ポートの構成、参加、開始を行うには
BizTalk Server管理コンソールで、[送信ポート] を展開し、[CBRCANSendPort] を右クリックし、[編集] をクリックします。
[静的 One-Way 送信ポートのプロパティ] ダイアログ ボックスの左側にあるフォルダー ツリーで、[フィルター] & [マッピング] |[プロパティ] をCBRSample.CountryCode に設定し、[演算子] 列を に設定し、[値] 列を 200 に==設定して、フィルター処理し、新しい行を追加します。
ダイアログ ボックスの左側にあるフォルダー ツリーで、[マッピング & フィルター] を選択します。送信マップで、プロパティを CBRSample.CBRInput2CANMap に適用するように Map を設定し、[OK] をクリックします。
この手順により、送信ポートが受信ポートに接続されます。 このサンプルでは、昇格されたプロパティを使用してドキュメントをルーティングします。
BizTalk Server でこのサンプルを使用する準備ができました。
このサンプルの実行
次の手順に従って、CBRSample サンプルを実行します。
このサンプルを実行するには
入力ファイル ( CBRDataCAN.xml と CBRDataUS.xml) を次の入力フォルダーにコピーします。
<Samples Path>
\Messaging\CBRSample\Inこれらの各ファイルがどのように変換され、 CountryCode 要素の値 (100 と 200) に基づいて次の 2 つの出力フォルダーのいずれかにルーティングされるかを確認します。
BizTalk Serverは、入力ファイル CBRDataCAN.xml を変換してフォルダーにルーティングします。
<Samples Path>
\Messaging\CBRSample\CANBizTalk Serverは、入力ファイル CBRDataUS.xml をフォルダーに変換してルーティングします。
<Samples Path>
\Messaging\CBRSample\US
このサンプルで使用されるクラスまたはメソッド
[なし] :
参照
既定のパイプライン
送信ポートの送信マップを構成する方法
Messaging (BizTalk Server Samples フォルダー)