MQSSendPipelineComponent (BizTalk Server サンプル)

このサンプルでは、一連の MQSeries プロパティ値を XML ファイルから読み取って、メッセージに適用する、パイプライン コンポーネントの作成方法を示します。

このサンプルの処理

このサンプルは、パイプライン コンポーネント プロジェクトとパイプライン コンポーネントを使用するパイプライン プロジェクトの 2 つの Visual Studio プロジェクトで構成されています。

このサンプルの場所

  • <SamplesPath>\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\SetMQSeriesHeaderPropertyComponent

  • <SamplesPath>\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\SetMQSeriesHeaderPropertyPipeline

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

[最近使ったファイル] 説明
SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.sln、

SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.csproj
パイプライン コンポーネントのプロジェクト ファイルとソリューション ファイルです。
SetMQSeriesHeaderPropertyComponent\CSetMQSeriesHeaderPropertyComponent.cs パイプライン コンポーネントの Visual C#® ソース ファイルです。
SetMQSeriesHeaderPropertyComponent\SetMQSMQMDHdrProps.xml パイプライン コンポーネントによって読み取られ、使用される MQSeries プロパティです。
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.btproj、

SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.sln
BizTalk パイプラインのプロジェクト ファイルとソリューション ファイルです。
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.snk BizTalk パイプライン プロジェクトの厳密な名前のキー ファイルです。
SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.btp BizTalk Server パイプラインです。

このサンプルの使用方法

アプリケーションを作成するには、次の手順を実行します。

  1. アプリケーション用のフォルダーを作成します。

  2. パイプライン コンポーネントの Visual Studio プロジェクトを変更してコンパイルします。

  3. コンパイルしたアセンブリとヘッダー ファイルを適切なフォルダーにコピーします。

  4. BizTalk Server パイプラインの Visual Studio プロジェクトを変更します。

  5. BizTalk Server パイプライン プロジェクトをコンパイルして展開します。

  6. BizTalk Server の受信場所を設定します。

  7. MQSeries キューを作成します。

  8. 送信ポートを設定します。

  9. 受信場所を有効にして送信ポートを開始します。

アプリケーション用のフォルダーの作成

この手順では、アプリケーション用の適切なフォルダーを作成します。

アプリケーション用のフォルダーを作成するには

  1. まだ存在しない場合は、C:\ ドライブに temp という名前のフォルダーを作成します。

  2. Pickup3 という名前の C:\temp ディレクトリの下にフォルダーを作成します。

パイプライン コンポーネント用のプロジェクトの変更とコンパイル

この手順では、パイプライン コンポーネントの Visual Studio プロジェクトを変更してコンパイルします。

パイプライン コンポーネント用にプロジェクトを変更およびコンパイルするには

  1. ソリューション ファイル SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent.sln をダブルクリックして、Visual Studio でソリューションを開きます。

  2. クラス ファイル CSetMQSeriesHeaderPropertyComponent.cs をダブルクリックして、Visual Studio でクラス ファイルを開きます。

  3. 変数 samplesDir を見つけて、この変数が C:\temp の場所に設定されていることを確認します。

  4. ソリューション エクスプローラーでソリューションを右クリックし、[ビルド] をクリックします。 これにより、 プロジェクトが SetMQSeriesHeaderPropertyComponent\SetMQSeriesHeaderPropertyComponent\bin\Debug\ ディレクトリにある dll にコンパイルされます。

適切なフォルダーへのアセンブリとヘッダー ファイルのコピー

この手順では、コンパイルしたアセンブリとヘッダー ファイルを適切なフォルダーにコピーします。

コンパイルしたアセンブリとヘッダー ファイルを適切なフォルダーにコピーするには

  1. コンパイル済みアセンブリ SetMQSeriesHeaderPropertyComponent.dll を BizTalk パイプライン コンポーネント フォルダーにコピーします。 BizTalk パイプライン コンポーネント フォルダーの既定の場所は、\Program Files (x86)\Microsoft BizTalk Server <VERSION>パイプライン コンポーネントです。

  2. SetMQSMQMDHdrProps.xml MQHeader プロパティ ファイルを C:\temp ディレクトリにコピーします。

BizTalk Server パイプライン用のプロジェクトの変更

この手順では、BizTalk Server パイプラインの Visual Studio プロジェクトを変更します。

BizTalk Server パイプライン用にプロジェクトを変更するには

  1. Visual Studio で、ソリューション ファイル SetMQSeriesHeaderPropertyPipeline\SetMQSeriesHeaderPropertyPipeline.sln をダブルクリックしてソリューションを開きます。

  2. プロジェクトの厳密な名前キー ファイルを作成します。 Live Unit Testing を有効にするには、次の手順を実行します。

    1. Visual Studio 2005 コマンド プロンプトを開きます。

    2. ディレクトリを <SamplesPath>\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent に変更します。

    3. 次のように入力します。

      sn -k MQSSendPipelineComponent.snk

    4. ENTER キーを押します。 これにより、キー ファイルが作成されます。

  3. ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] をクリックしてプロジェクトのプロジェクト Designerを起動します (中央のウィンドウ)。

    1. [プロジェクト] Designerで、[署名] タブをクリックします。

    2. 右側のウィンドウで、[ アセンブリに署名 する] オプションを選択します。

    3. [ 厳密な名前キー ファイルの選択 ] オプションのドロップダウン リストをクリックし、[ 参照] をクリックします。

    4. <SamplesPath>\AdaptersUsage\MQSeriesAdapter\MQSSendPipelineComponent\MQSSendPipelineComponent.snk に移動し、[開く] をクリックします。

  4. 前に作成したパイプライン コンポーネントは、このパイプライン プロジェクトの プレアセンブル ステージに既に追加されています。 このコンポーネントがまだ追加されていない場合は、次の手順に従って追加する必要があります。

    1. Visual Studio IDE で、左側の [ ツールボックス ] タブをクリックします。

    2. ツールボックスを右クリックし、[項目の選択] をクリックします。

    3. [ ツールボックス項目の選択 ] ダイアログ ボックスで、[ BizTalk パイプライン コンポーネント ] タブをクリックし、[ MQseries ヘッダー プロパティを設定するカスタム コンポーネント] コンポーネントを選択し、[OK] をクリック します

    4. [カスタム コンポーネント] を [Set MQseries header properties]\(MQseries ヘッダー プロパティの設定\) コンポーネントを、このパイプラインの [事前アセンブル] ステージにドラッグします。

パイプライン プロジェクトのコンパイルと展開

この手順では、BizTalk Server パイプライン プロジェクトをコンパイルして展開します。

パイプライン プロジェクトをコンパイルおよび展開するには

  1. [ソリューション エクスプローラー] ウィンドウで、ソリューションを右クリックし、[ソリューションの配置] をクリックします。 これにより、ソリューションがビルドされ、アセンブリが BizTalk 管理データベースに展開されます。

  2. 次の手順に従って、アセンブリが BizTalk 管理データベースに展開されたことを確認します。

    1. BizTalk 管理コンソールを開きます。

    2. クリックして BizTalk グループ [<servername>:<management database>] を展開し、[アセンブリ] フォルダーをクリックして展開します。

      デプロイされたパイプライン アセンブリは、[ アセンブリ ] フォルダーの下に表示されます。

受信場所の作成

この手順では、BizTalk Server の受信場所を作成します。

受信場所を作成するには

  1. BizTalk Server管理コンソールで、[受信ポート] を右クリックし、[新規] をポイントして、[一方向の受信ポート] をクリックします。

  2. [ 一方向の受信ポートのプロパティ ] ダイアログ ボックスの [名前 ] ボックスに「MQReply」と入力し、[OK] をクリック します

  3. 左側のウィンドウで、[ 受信場所 ] タブをクリックし、[ 新規] をクリックします。

  4. [ 受信場所のプロパティ ] ダイアログ ボックスの [名前 ] フィールドに「ReceiveFile」と入力します。

  5. [ トランスポートの種類 ] ボックスで、[ファイル] を選択 します

  6. [ 受信ハンドラー ] フィールドで、 BizTalkServerApplication を選択します。

  7. [ 受信パイプライン ] フィールドで、[ Microsoft.BizTalk.DefaultPipelines.PassThruReceive] を選択します。

  8. [ 受信フォルダー ] フィールドに、「C:\temp\Pickup3」と入力します。

  9. [ ファイル マスク ] フィールドに「*.*」と入力します。

  10. [ OK] をクリックし、もう一度 [OK] を クリックして [ 受信場所のプロパティ ] ダイアログ ボックスを終了します。

MQSeries エクスプローラーを使用した MQSeries キューの作成

MQSeries Server for Windows インストールに必要な権限がある場合は、アダプター・ダイアログ・ボックスを使用して MQSeries キューを作成できます。この次の手順はスキップできます。

このようなアクセス許可を持っていない場合は、次の手順に従って、IBM WebSphere MQ エクスプローラーを使用してキューを作成できます。

MQSeries エクスプローラーを使用して MQSeries キューを作成するには

  1. [スタート] をクリックし、[プログラム] をポイントし、[WebSphere MQ] をポイントして、[WebSphere MQ エクスプローラー] をクリックします。

  2. [キュー マネージャー] をダブルクリックし、既定のキュー マネージャーをダブルクリックします。 通常、既定のキュー マネージャーの名前は QM_<ですmachine_name>machine_nameはコンピューターの名前です。

  3. [ キュー] を右クリックし、[ 新規] をポイントして、[ ローカル キュー] をクリックします。

  4. [ ローカル キューの作成 ] ダイアログ ボックスの [ キュー名] に「 SETHEADER」と入力し、[OK] をクリック します

送信ポートと MQSeries キューの作成

この手順では、出力メッセージ用の送信ポートを作成します。 MQSeries キューは、送信ポートがまだ作成されていない場合に送信ポートを作成したときにも作成されます。

送信ポートと MQSeries キューを作成するには

  1. [ 送信ポート] を右クリックし、[ 新規] をポイントして、[ 静的一方向送信ポート] をクリックします。

  2. [ 送信ポートのプロパティ ] ダイアログ ボックスの [名前 ] ボックスに「MQSolicitResponse」と入力します。

  3. [ トランスポートの種類 ] ボックスで、[ MQSeries] を選択します。

  4. [ 送信パイプライン ] ボックスで、[ SetMQSeriesHeaderPropertyPipeline.SetMQSeriesHeadersSendPipeline] を選択します。

  5. [フィルター] で、次の名前と値のペアを持つ新しいエントリを追加します。

    • プロパティを "BTS" に設定します。ReceivePortName"

    • 演算子を "==" に設定 します

    • を "ReceiveFile" に設定します。

      Note

      これにより、ReceiveFile 受信ポートで受信したメッセージをサブスクライブするように送信ポートが設定されます。

  6. [ トランスポート] をクリックします。

  7. [ アドレス (URI)] フィールドで、省略記号 (...) ボタンをクリックします。

  8. [ MQSeries トランスポートのプロパティ ] ダイアログ ボックスの [ キュー定義 ] フィールドで、省略記号 (...) ボタンをクリックします。

  9. [ キュー定義 ] ダイアログ ボックスの [ サーバー名 ] フィールドに、コンピューター名を入力します。

  10. [ キュー マネージャー ] フィールドで、既定のキュー マネージャーを選択します。

  11. [キュー] フィールドに「SETHEADER」と入力し、[ エクスポート] をクリックします。

  12. [ エクスポート ] ダイアログ ボックスで、[ キューの作成] をクリックし、すべてのダイアログを終了するまで [OK] または [完了 ] をクリックします。

受信場所の有効化と送信ポートの開始

この手順では、受信場所を有効化し、送信ポートを開始します。

受信場所を有効にして送信ポートを開始するには

  1. BizTalk Server管理コンソールで、[受信ポート] をクリックします。

  2. 詳細ペインで、 MQIn 受信場所を右クリックし、[ 有効にする] をクリックします。

  3. 詳細ウィンドウで、 SetMQHeader 送信ポートを右クリックし、[ 開始] をクリックします。

アプリケーションのテスト

この手順では、アプリケーションをテストします。

アプリケーションをテストするには

  1. ファイルを C:\Temp\Pickup3 フォルダーに配置します。

  2. WebSphere MQ エクスプローラーを起動し、SETHEADER キューをダブルクリックして、SETHEADER キュー内のメッセージを検証します。

    SETHEADER キュー内のメッセージのすべてのコンテキスト プロパティを表示するには、次の手順に従います。

    1. SETHEADER キューをダブルクリックして、[メッセージ ブラウザー] ダイアログ ボックスを表示します。

    2. [ メッセージ ブラウザー ] ダイアログ ボックスで、[ ] をクリックして [ メッセージの列の表示/非表示 ] ダイアログ ボックスを表示します。

    3. [ 使用可能な列] で、各エントリをダブルクリックして [ メッセージ ブラウザー ] ダイアログ ボックスに表示し、[OK] をクリック します

  3. 各メッセージのメッセージ コンテキスト プロパティは、[ メッセージ ブラウザー ] ダイアログ ボックスに表示されます。

参照

MQSeries アダプタ サンプル