次の方法で共有


ステップ 3c: SQL Server データベースに営業案件の詳細を挿入する

ここまでに、Salesforce にクエリ要求を送信し、応答を受信するためのオーケストレーションをビルドしました。 このセクションでは、そのオーケストレーションを更新して、Salesforce からの応答をオンプレミスのSQL Server データベース Orders の OrderDetails テーブルに挿入します。 これを達成するには、次のようなさまざまな手順を実行します。

  • オンプレミスのSQL Server データベースの Orders データベースに OrderDetails テーブルを作成します。

  • BizTalk アダプター パックで使用できるアダプター サービス アドインを使用して、 OrderDetails テーブルに対する挿入操作のスキーマを生成します。

  • Salesforce 応答メッセージを、SQL Serverの OrderDetails テーブルに挿入するためのメッセージに変換するマップを作成します。

  • 変換を使用して OrderDetails テーブルに応答メッセージを挿入するようにオーケストレーションを更新します。

SQL Server データベースとテーブルを作成する

データベースとテーブルを作成するには

  1. SQL Server Management Studio を開き、管理者として接続します。

  2. [ データベース ] ノードを右クリックし、[ 新しいデータベース] をクリックします。 データベース名を として Orders 指定し、その他の詳細を指定して新しいデータベースを作成します。

  3. クエリ エディターを開き、次のクエリを実行して、Orders データベースに OrderDetails テーブルを作成します。

    USE [Orders]  
    GO  
    /****** Object:  Table [dbo].[OrderDetails]    Script Date: 07-12-2012 22:15:47 ******/  
    SET ANSI_NULLS ON  
    GO  
    SET QUOTED_IDENTIFIER ON  
    GO  
    SET ANSI_PADDING ON  
    GO  
    CREATE TABLE [dbo].[OrderDetails]([ID] [int] IDENTITY(1,1) NOT NULL,  
    [TITLE] [varchar](200) NULL,  
    [ProductName] [varchar](200) NULL,  
    [Quantity] [float] NULL,  
    [Amount] [float] NULL,  
    PRIMARY KEY CLUSTERED   
    (  
    [ID] ASC  
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]  
    GO  
    SET ANSI_PADDING OFF  
    GO  
    

[OrderDetails] テーブルで挿入操作を行うスキーマを作成する

BizTalk アダプター パックをインストールすると、BizTalk Server プロジェクト内で使用できるアダプター サービス アドインを使用して、OrderDetails テーブルの挿入操作のスキーマを生成できます。 このセクションでは、次のメッセージ スキーマを作成する手順を説明します。

挿入操作を行うスキーマを作成するには

  1. BtsSalesforceIntegration プロジェクトを右クリックし、[追加] をポイントして、[生成された項目の追加] をクリックします。 [ 生成された項目の追加 ] ダイアログ ボックスで、[ アダプター サービスの使用] をクリックし、[ 追加] をクリックします。

  2. [アダプター サービス アドインの使用] の [バインドの選択] ドロップダウンで、[ sqlBinding] をクリックし、[ 構成] をクリックします。

  3. [アダプターの構成] ダイアログ ボックスの [セキュリティ] タブの [クライアント資格情報の種類] で、Windows 認証を使用してデータベースに接続する Windows SQL Server選択します。

  4. [ アダプターの構成 ] ダイアログ ボックスの [ URI のプロパティ ] タブの [ 初期カタログ ] で、接続するデータベース名 (Orders) を指定します。 [サーバー] には、接続先のSQL Serverがインストールされているコンピューター名を指定します。 SQL Server データベースがBizTalk Server プロジェクトと同じコンピューター上にある場合は、ピリオド (.) を入力するだけで済みます。 [OK] をクリックします。

  5. [アダプター サービスアドインの使用] で、[ 接続] をクリックします。 接続が確立されたら、コントラクトの種類として [Client(Outbound operations)]\(クライアント(送信操作)\) を選択します。 [ カテゴリの選択 ] ボックスで、[ テーブル] を展開し、[ OrderDetails テーブル] をクリックし、右側のウィンドウで [ 挿入 ] をクリックし、[ 追加] をクリックします。

  6. 生成されたスキーマの前に識別子を付ける場合は、[ ファイル名プレフィックス] を指定します。 このチュートリアルでは、プレフィックスを InsertOrders として指定し、[OK] をクリック します

    プロジェクトには多数のスキーマが追加されます。 OrderDetails テーブルへのメッセージの挿入に使用するスキーマは、InsertOrdersTableOperation.dbo.OrderDetails.xsd です

Salesforce 応答と挿入スキーマをマップする

スキーマ (Salesforce からの応答と OrderDetails への挿入) の両方が用意されたので、Salesforce からの応答スキーマを OrderDetails の挿入スキーマにマップして、Salesforce からの応答メッセージを SQL Server データベース テーブルに挿入できるようにする必要があります。

スキーマをマップするには

  1. BtsSalesforceIntegration プロジェクトを右クリックし、[追加] をポイントし、[新しい項目] をクリックして、[マップ] をクリックします。 マップ名を として QueryResult_Orders.btm 指定し、[ 追加] をクリックします。

  2. マップ画面で、ソース スキーマの [QueryResult ] を選択し、変換先スキーマとして [InsertOrdersTableOperation.dbo.OrderDetails.xsd ] を選択し、その中で [挿入 ] ノードを選択します。

  3. 次のスクリーンショットに示されているように 2 つのスキーマをマップします。

    Salesforce 応答を [スキーマの挿入にマップする

    マップでは、レコードOrderDetails リンクの間にループ functoid が使用されていることに注意してください。 これにより、 レコード の下にあるノードの 1 つ以上の出現がすべて 、OrderDetails の下の同様のノードの出現にマップされるようになります。

  4. マップの変更を保存します。

SQL Server にメッセージを挿入するオーケストレーションを更新する

このセクションでは、オーケストレーション内のマップを使用して、Salesforce 応答メッセージを SQL Server のテーブルに注文詳細を挿入するためのメッセージに変換します。 さらに、SQL Server にそのメッセージを送信するためのポートも追加します。

オーケストレーションを更新するには

  1. 挿入スキーマのメッセージ変数を作成します。 オーケストレーション ビューで、[ メッセージ ] ノードを右クリックし、[ 新しいメッセージ] をクリックします。 メッセージ名を InsertOrders に、メッセージの種類 を BtsSalesforceIntegration.InsertOrdersTableOperation_dbo_OrderDetails.Insert に設定します。

  2. ReceiveQueryResult 図形の後にメッセージ構築図形を追加します。 図形の名前を に ConstructOrders 設定し、 Messages Constructed プロパティを InsertOrders に設定します。

  3. ConstructOrders 図形内に Transform 図形を追加します。 変換図形をダブルクリックして、[変換の構成] ダイアログ ボックスを開きます。 ダイアログ ボックスで、[ 既存のマップ ] オプションを選択し、ドロップダウンから [BtsSalesforceIntegration.QueryResult_Orders] を選択します。 [ソース][QueryResultMsg] に、[宛先][InsertOrders] に設定し、[OK] をクリックします

  4. ConstructOrders 図形の後に、Send 図形を追加します。 図形 SendOrders に名前を付け、メッセージの種類を InsertOrders に設定します。

  5. Salesforce に注文詳細を挿入するためのポートを追加します。 ポート構成ウィザードで、次のオプションを選択します。

    • ポート名を として SendToSQL指定します。

    • 新しいポート種類を作成するオプションを選択します。

    • [通信パターン][一方向] に設定します。

    • [通信のポート方向] を [このポートで常にメッセージを送信します] に設定し、[ポート バインド] を [後で指定] に設定します。

      ポートの 要求 操作を SendOrders Send 図形に接続して、オーケストレーションを完了します。 次のスクリーンショットは、完了したオーケストレーションをエンド ツー エンドで示します。

      Salesforce 統合BTS_SF_Complete_Orchの完全な切り取り

      厳密な名前のキー ファイルをプロジェクトに追加し、プロジェクトへの変更を保存します。

    このトピックの手順を使用し、Salesforce から営業案件通知を受信し、営業案件に関する詳細について Salesforce にクエリを送信し、クエリ応答を SQL Server データベースに挿入するためのオーケストレーションが完成しました。 次のトピックでは、Salesforce で認証を行い、Salesforce 応答を BizTalk Server で処理するために使用するソリューションのその他の主要なコンポーネントのいくつかをビルドします。

参照

ステップ 3:Visual Studio での BizTalk Server ソリューションの作成