方法: UDDI カテゴリ検索を利用し、サービス エンドポイントを解決する
目標
このセクションでは、ESB Designer ドメイン固有言語 (DSL) を使用して、ユニバーサル説明、検出、統合 (UDDI) 3 リゾルバーを使用してカテゴリ検索を使用してサービス エンドポイントを検索するスケジュールベースのルーティング スリップを作成する方法について説明します。 このシナリオでは、サービス エンドポイントは UDDI で発行されたファイル エンドポイントになります。
このハウツー トピックでは、次の手順を実行します。
サービス エンドポイントを解決するためのスケジュール ルーティング スリップを作成します。
UDDI 3 リゾルバーを使用してサービス エンドポイントにメッセージをルーティングするようにスケジュールを構成します。
スケジュール テスト クライアント サンプル アプリケーションを使用して、スケジュールをテストします。
前提条件
このハウツー トピックの手順では、 開発アクティビティの前提条件を完了する必要があります。
手順
旅程モデルを作成するには
Visual Studio で、C:\HowTos\Patterns\Patterns.sln を開きます。
ソリューション エクスプローラーで、ItineraryLibrary プロジェクトを右クリックし、[追加] をポイントして、[新しいスケジュール] をクリックします。
[新しい項目の追加] ダイアログ ボックスで、[名前] ボックスに「UDDI3CategorySearch」と入力し、[追加] をクリックします。
スケジュールのプロパティを構成するには
Visual Studio で、 UDDI3CategorySearch.itinerary のデザイン画面をクリックします。 UDDI3CategorySearch プロパティ ウィンドウで、次のプロパティを構成します。
[ モデル エクスポーター ] ドロップダウン リストで、[ XML スケジュール エクスポーター] をクリックします。
[ エクステンダー設定] セクションの [ スケジュール XML ファイル ] プロパティの横にある省略記号ボタン (...) をクリックします。
[XML ファイルの選択] ダイアログ ボックスで、[ファイル名] ボックスに「C:\HowTos\Itineraries\UDDI3CategorySearch」と入力し、[保存] をクリックします。
Note
この手順では、スケジュールを XML としてローカル ファイルの場所にエクスポートできます。 スケジュール をスケジュール データベースではなくローカル ファイルの場所にエクスポートすることで、ESB テスト クライアント アプリケーションを使用して旅程のテストを行えます。 このプロセスは、このハウツー トピックの後半で完了します。
旅程の構造を定義するには
ツールボックスから、 On-Ramp モデル要素をデザイン サーフェイスにドラッグします。 OnRamp1 プロパティ ウィンドウで、次のプロパティを構成します。
Name プロパティをクリックし、「ReceiveNAOrder」と入力します。
[ エクステンダー ] ドロップダウン リストで、[ On-Ramp ESB エクステンダー] をクリックします。
[BizTalk アプリケーション] ドロップダウン リストで、[Microsoft.Practices.ESB] をクリックします。
[ 受信ポート ] ドロップダウン リストで、[ OnRamp.Itinerary] をクリックします。
ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグします。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「CategoryRoute」と入力します。
[ スケジュール サービス エクステンダー ] ドロップダウン リストで、[ メッセージング エクステンダー] をクリックします。
[ コンテナー ] ドロップダウン リストで、[ ReceiveNAOrder] を展開し、[ Receive Handlers]\(ハンドラーの受信\) をクリックします。
[サービス名] ドロップダウン リストで、[Microsoft.Practices.ESB.Services.Routing] をクリックします。
CategoryRoute モデル要素の Resolver コレクションを右クリックし、[新しい競合回避モジュールの追加] をクリックします。 Resolver1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「CategorySearch」と入力します。
[ リゾルバーの実装 ] ドロップダウン リストで、[ Uddi3 Resolver Extension]\(Uddi3 リゾルバー拡張機能\) をクリックします。
[ リゾルバー モニカー ] ドロップダウン リストで、[ UDDI3] をクリックします。
[ カテゴリ検索 ] プロパティをクリックし、省略記号ボタン (...) をクリックします。
[ 名前の値プロパティ エディター ] ダイアログ ボックスで、[ 追加] をクリックします。
Name プロパティをクリックし、「uddi:esb:biztalkapplication」と入力します。
[値] プロパティをクリックし、「GlobalBank.ESB」と入力します。
[ 名前の値プロパティ エディター ] ダイアログ ボックスで、[ 追加] をクリックします。
Name プロパティをクリックし、「uddi:esb:portname」と入力します。
Value プロパティをクリックし、「OrderFileServicev3」と入力します。
[ 名前の値プロパティ エディター ] ダイアログ ボックスで、[ 追加] をクリックします。
Name プロパティをクリックし、「uddi:esb:version」と入力します。
[値] プロパティをクリックし、「1」と入力します。
[ OK] をクリックして 、[ 名前値プロパティ エディター ] ダイアログ ボックスを閉じます。
CategorySearch リゾルバーを右クリックし、[Test Resolver Configuration]\(リゾルバーの構成のテスト\) をクリックします。
Note
[出力] ウィンドウに表示される出力を確認します。
ツールボックスで、[ コネクタ] をクリックします。 ReceiveNAOrder モデル要素から CategoryRoute モデル要素に接続をドラッグします。
ツールボックスから 、Off-Ramp モデル要素をデザインサーフェイスにドラッグし、 CategoryRoute モデル要素の右側に配置します。 OffRamp1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「SendNAOrder」と入力します。
[ エクステンダー ] ドロップダウン リストで、[ Off-Ramp ESB エクステンダー] をクリックします。
[BizTalk アプリケーション] ドロップダウン リストで、[GlobalBank.ESB] をクリックします。
[ 送信ポート ] ドロップダウン リストで、[ DynamicResolutionOneWay] をクリックします。
ツールボックスから、 Itinerary Service モデル要素をデザインサーフェイスにドラッグし、 CategoryRoute モデル要素と SendNAOrder モデル要素の間に配置します。 ItineraryService1 プロパティ ウィンドウで、次のプロパティを構成します。
[名前] プロパティをクリックし、「SendPortFilter」と入力します。
[ スケジュール サービス エクステンダー ] ドロップダウン リストで、[ オフランプ エクステンダー] をクリックします。
[ オフランプ ] ドロップダウン リストで、[ SendNAOrder] を展開し、[ハンドラーの 送信] をクリックします。
ツールボックスで、[ コネクタ] をクリックします。 CategoryRoute モデル要素から SendPortFilter モデル要素に接続をドラッグします。
ツールボックスで、[ コネクタ] をクリックします。 接続を SendPortFilter モデル要素から SendNAOrder モデル要素にドラッグします。
スケジュール テスト クライアントで使用するモデルをエクスポートするには
Visual Studio で、 UDDI3CategorySearch スケジュールのデザイン画面を右クリックし、[ モデルのエクスポート] をクリックします。
Note
スケジュールの XML バージョンが Visual Studio で開きます。
すべてのプロジェクト成果物を保存します。
Windows エクスプローラーで、C:\HowTos\Itineraries に移動し、旅程 XML (UDDI3CategorySearch.xml) の作成に注目します。
旅程をテストするには
開発アクティビティの前提条件 (C:\HowTos\ESB.Itinerary.Test.exe - ショートカット) の間に作成されたショートカットを使用して、Itinerary Test Client サンプル アプリケーションを開きます。
[スケジュール テスト クライアント] で、[WCF サービス チェックを使用する] ボックスをオフにし、[スケジュールの読み込み] をクリックします。
[ スケジュール ファイルを開く ] ダイアログ ボックスで、C:\HowTos\Itineraries に移動します。 [UDDI3CategorySearch.xml] を選択し、[開く] をクリックして旅程を読み込みます。
[ OK] をクリックして 、 スケジュールが正常に読み込まれた というメッセージをクリアします。
[スケジュール テスト クライアント] で、[ メッセージの読み込み ] ボックスの横にある省略記号ボタン (...) をクリックします。
[ 読み込む XML ドキュメントの選択 ] ダイアログ ボックスで、C:\HowTos を参照します。 [NAOrderDoc.xml] を選択し、[ 開く ] をクリックしてテスト メッセージを読み込みます。
[ 要求の送信] ボタンをクリックします。 テストが完了したら、[ OK] をクリックして 、表示される確認を閉じます。
Windows エクスプローラーで、C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\Out に移動し、%MessageID%.xml メッセージがディレクトリに書き込まれたことを確認します。
その他のリソース
詳細については、次の関連項目を参照してください。