手順 1: SQL アダプターを使用して vPrev BizTalk プロジェクトを変更する

手順 1/3

完了までの時間: 10 分

目的: この手順では、既存の vPrev BizTalk プロジェクトに次の変更を加えます。

  • WCF ベースの SQL アダプターを使用して、Customer テーブルに対する挿入操作のメタデータを生成します。

  • vPrev SQL アダプターを使用して挿入操作を実行するための要求メッセージを、WCF ベースの SQL アダプターを使用して挿入操作を実行するための要求メッセージにマップします。

  • WCF ベースの SQL アダプターを使用して受信した応答メッセージを、vPrev SQL アダプターを使用して受信した応答メッセージにマップします。

前提条件

SQL Server データベースの Customer テーブルに対して挿入操作を実行するには、vPrev BizTalk プロジェクトが必要です。

vPrev BizTalk プロジェクトを変更するには

  1. WCF ベースの SQL アダプターを使用して、Customer テーブルに対する挿入操作のメタデータを生成します。 アダプター サービス BizTalk プロジェクト アドインを使用してメタデータを生成できます。

    メタデータを生成する方法については、「SQL アダプターを使用して Visual Studio でSQL Server操作のメタデータを取得する」を参照してください。 スキーマが生成されると、 TableOperation.dbo.Customer.xsd のような名前のファイルが BizTalk プロジェクトに追加されます。 このファイルには、WCF ベースの SQL アダプターを使用して、SQL Server データベースの Customer テーブルに対して挿入操作を実行するメッセージを送信するためのスキーマが含まれています。

  2. 挿入操作のメタデータを生成すると、ポート バインド ファイルも作成されます。 次の手順では、このバインド ファイルを使用して、SQL Server データベースにメッセージを送信する WCF-Custom 送信ポートを作成します。 操作の SOAP アクションは、メタデータを生成した操作にも設定されます。 たとえば、挿入操作のメタデータを生成する場合、送信ポートの SOAP アクションの操作名は "Insert" になります。 ただし、オーケストレーションの一部として作成する論理送信ポートの操作名は、"Operation_1" のように異なる場合があります。 その結果、送信ポートを使用してSQL Server データベースにメッセージを送信すると、エラーが発生します。 これを防ぐには、オーケストレーションの論理送信ポートの操作名が、メタデータを生成した操作名と同じであることを確認します。

    そのため、このチュートリアルでは、挿入操作のメタデータを生成するため、論理送信ポート操作の名前を "挿入" に変更します。

  3. 要求メッセージの場合は、vPrev SQL データベース アダプターを使用して生成されたスキーマを、WCF ベースの SQL アダプターを使用して生成されたスキーマにマップします。

    1. BizTalk マッパーを BizTalk プロジェクトに追加します。 BizTalk プロジェクトを右クリックし、[ 追加] をポイントして、[ 新しい項目] をクリックします。

      [ 新しい項目の追加 ] ダイアログ ボックスの左側のウィンドウで、[ マップ ファイル] を選択します。 右側のウィンドウで、[ マップ] を選択します。 マップの名前 ( RequestMap.btm など) を指定します。 [追加] をクリックします。

    2. [ソース スキーマ] ペインで、[ Open Source Schema]\(ソース スキーマを開く\) をクリックします。

    3. [ BizTalk 型ピッカー ] ダイアログ ボックスで、プロジェクト名を展開し、[ スキーマ] を展開して、vPrev SQL アダプターの要求メッセージのスキーマを選択します。 このチュートリアルでは、[ New_Migration.InsertCustomerService] を選択し、[OK] をクリック します

    4. [ ソース スキーマのルート ノード ] ダイアログ ボックスで、[ 挿入] を選択し、[OK] をクリック します

    5. [変換先スキーマ] ペインで、[ 変換先スキーマを開く] をクリックします。

    6. [ BizTalk 型ピッカー ] ダイアログ ボックスで、プロジェクト名を展開し、[ スキーマ] を展開して、WCF ベースの SQL アダプターの要求メッセージのスキーマを選択します。 このチュートリアルでは、[ New_Migration.TableOperation.dbo.Customer] を選択し、[OK] をクリック します

    7. [ ターゲット スキーマのルート ノード ] ダイアログ ボックスで、[ 挿入] を選択し、[OK] をクリック します

    8. 次の図に示すように、両方のスキーマのそれぞれの要素をマップします。

      要求スキーマ をマップする

    9. マップを保存します。

  4. 応答メッセージの場合は、vPrev SQL アダプターを使用して生成されたスキーマを、WCF ベースの SQL アダプターを使用して生成されたスキーマにマップします。

    1. BizTalk マッパーを BizTalk プロジェクトに追加します。 BizTalk プロジェクトを右クリックし、[ 追加] をポイントして、[ 新しい項目] をクリックします。

      [ 新しい項目の追加 ] ダイアログ ボックスの左側のウィンドウで、[ マップ ファイル] を選択します。 右側のウィンドウで、[ マップ] を選択します。 ResponseMap.btm などのマップの名前を指定し、[追加] をクリックします。

    2. [ソース スキーマ] ペインで、[ Open Source Schema]\(ソース スキーマを開く\) をクリックします。

    3. [ BizTalk 型ピッカー ] ダイアログ ボックスで、プロジェクト名を展開し、[ スキーマ] を展開して、WCF ベースの SQL アダプターの応答メッセージのスキーマを選択します。 このチュートリアルでは、[ New_Migration.TableOperation.dbo.Customer] を選択し、[OK] をクリック します

    4. [ ソース スキーマのルート ノード ] ダイアログ ボックスで、[ 挿入][応答] の順に選択し、[OK] をクリック します

    5. [変換先スキーマ] ペインで、[ 変換先スキーマを開く] をクリックします。

    6. [ BizTalk 型ピッカー ] ダイアログ ボックスで、プロジェクト名を展開し、[ スキーマ] を展開して、vPrev SQL アダプターの応答メッセージのスキーマを選択します。 このチュートリアルでは、[ New_Migration.InsertCustomerService] を選択し、[OK] をクリック します

    7. [ ターゲット スキーマのルート ノード ] ダイアログ ボックスで、[ 挿入][応答] の順に選択し、[OK] をクリック します

    8. 2 つのアダプターによって生成される の応答スキーマには、いくつかの違いがあります。 これらの違いは、次のように説明できます。

      • WCF ベースの SQL アダプターを使用して、主キー (および ID フィールド) を含むテーブルにレコードを挿入すると、挿入操作の応答は、挿入された行の ID フィールドの値を返します。 そのため、WCF ベースの SQL アダプターに準拠する応答メッセージのスキーマには、追加の InsertResult 要素が含まれています。 この要素には配列が含まれています。配列には、挿入された行の ID フィールドが含まれます。

      • vPrev SQL アダプターを使用して、テーブルにレコードを挿入すると、アダプターは応答メッセージの一部として空の "Success" 要素のみを返します。

        そのため、スキーマは、ID フィールドの値を含む WCF ベースの SQL アダプターからの応答が、vPrev SQL アダプターからの応答メッセージの一部である "Success" 要素の一部として "コピー" されるようにマップされます。 一括コピー Functoid を使用して、あるスキーマから別のスキーマに要素をコピーできます。

        マス コピー Functoid を使用するには、[ ツールボックス] から [マス コピー] Functoid をドラッグし、マッパー グリッドにドロップします。 ソース スキーマの InsertResult 要素を Functoid に接続します。 同様に、変換先スキーマの Success 要素を functoid に接続します。 次の図は、Functoid を介して 2 つの要素がどのようにマップされるかを示しています。

        応答スキーマ をマップする

      Note

      一括コピー Functoid の詳細については、「 一括コピー Functoid」を参照してください。

    9. マップを保存します。

  5. BizTalk ソリューションを保存してビルドします。 ソリューションを右クリックし、[ソリューションの ビルド] をクリックします。

  6. ソリューションを展開する。 ソリューションを右クリックし、[ソリューションの 配置] をクリックします。

次の手順

手順 2: SQL アダプターを使用して管理コンソールでオーケストレーションを構成する」の説明に従って、WCF カスタム送信ポートを作成し、この手順で作成したマップを使用するように構成BizTalk Server。

参照

チュートリアル 1: BizTalk プロジェクトを SQL アダプターに移行する