次の方法で共有


手順 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. [ソース スキーマ] ウィンドウで、[ オープン ソース スキーマ] をクリックします。

    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. [ソース スキーマ] ウィンドウで、[ オープン ソース スキーマ] をクリックします。

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

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

    5. [宛先スキーマ] ウィンドウで、[ 宛先スキーマを開く] をクリックします。

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

    7. [ ターゲット スキーマのルート ノード ] ダイアログ ボックスで、[ InsertResponse] を選択し、[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 つの要素がどのようにマップされるかを示しています。

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

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

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

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

  6. ソリューションをデプロイします。 ソリューションを右クリックし、[ソリューションの デプロイ] をクリックします。

次のステップ

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

こちらもご覧ください

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