製品をチェック

製品の情報と30日間無償トライアル

Salesforce 連携ソリューション 相談したい

チュートリアル:CData Salesforce BizTalk Adapter を使ったアップデートグラムの実行

Bitalk Adapter を使用して、アップデートグラムを実行し、Salesforce からの応答をファイルに書き込む単純なアプリケーションを作成します。

加藤龍彦
ウェブデベロッパー

最終更新日:2021-12-03

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData BizTalk Adapter for Salesforce は、BizTalk のSalesforce でSQL コマンド、アップデートグラム、ストアドプロシージャを実行することを可能にします。ここでは、アップデートグラムを使用して、Salesforce を挿入するアプリケーションのウォークスルーについて説明します。

  1. 一方向のファイル受信場所はアップデートグラムを含むXML ドキュメントをピックアップします。
  2. ドキュメントは、アダプタ用に構成された要請応答送信ポートにルーティングされます。
  3. アダプタはコマンドを実行します。挿入の結果には、新しいレコードのId と、影響を受ける行が含まれています。
  4. Salesforce からの応答は、一方向のファイル送信ポートにルーティングされ、BizTalk メッセージをファイルに書き込みます。

サンプルアプリケーションを作成する

以下のセクションでは、サンプルアプリケーションの作成について説明します。

  1. スキーマとアップデートグラムインスタンスを生成する
  2. 受信ポートを構成する
  3. ファイルの受信場所を構成する
  4. 要請応答送信ポートにアダプタを構成する
  5. ファイルの送信ポートを構成する
  6. アプリケーションを介してBizTalk メッセージをルーティングするフィルタを作成する
  7. ロケーションとポートを登録し、有効にする
  8. アプリケーションログを表示する

スキーマとアップデートグラムインスタンスを生成する

Visual Studio のウィザードを使用することで、スキーマとアップデートグラムインスタンスを生成することができます。

  1. プロジェクトにアダプタを追加する
  2. 挿入スキーマを生成する
  3. アップデートグラムインスタンスを生成する

プロジェクトにアダプタを追加する

[Add Adapter]ウィザードを使用して、プロジェクトにアダプタを追加します。アダプタを使用して、挿入したいテーブルに関する[Account]などのSalesforce メタデータをクエリします。

  1. [Solution Explorer]の[project]で右クリックし、[Add]->[Add Generated Items]と進みます。
  2. [resulting dialog box]の[Add Adapter Metadata]を選択します。
  3. 表示される[Add Adapter]ウィザードで、リストからCData BizTalk Adapter for Salesforce を選択します。
  4. [Port menu]では、選択を空白のままにします。構成済みアダプタの接続文字列を使用したい場合には、BizTalkアプリケーションから送信ポート、または受信場所を選択します。 CData Adapters in the Select Adapter wizard.(Salesforce is shown.)

挿入スキーマを生成する

Salesforce データを挿入するアップデートグラムを作成するためのテンプレートとしてスキーマを使用します。スキーマは、XMLリクエストと応答を定義する.xsd ファイルです。例として、挿入アップデートグラムを生成する方法を説明します。以下の手順に従って、update とdelete のアップデートグラムを生成できます。

  1. [Schema]ウィザードの[Connection String]ページで、認証資格情報とその他の接続プロパティを入力します。 The connection string used by the adapter.(Salesforce is shown.)
  2. 次のステップでは、[Send Port]オプションを選択します。
  3. [One-Way]オプションをオフにします。[One-Way]オプションは、返されたAffectedRows値など、アップデートグラムのアダプタからのすべての応答を無視します。新しく作成されたId の行も返されます。[One-Way]オプションを無効にすることで、Id の取得をサポートするアップデートグラムスキーマを取得できます。
  4. [Command Type] メニューで、アップデートグラムを選択します。 Schema options for a solicit-response send port.(Salesforce is shown.)
  5. [Insert]オプションを選択し、挿入したいテーブルとカラムを選択します。このチュートリアルは、Industry とAnnualRevenue を使用しています。

    Noteアップデートグラムを作成する際、挿入はスキーマに含ませたカラムに限定されます。

    Schema options that specify the table and columns that will be inserted into.(Salesforce is shown.)
  6. 概要ページで、定義した設定を確認し、[Finish]をクリックしてウィザードを閉じます。

アップデートグラムを生成する

このステップでは、後のステップでアダプタに送られるXML メッセージを作成します。[Solution Explorer]にある.xsd ファイルを右クリックし、[Generate Instance]をクリックしてアップデートグラムを作成します。アップデートグラムが保存される場所は、[Output]タブに表示されます。

アップデートグラムは、Salesforce から求められる応答を定義するよう構成されています。アップデートグラムの例や詳細については、アダプタのヘルプドキュメントをご覧ください。

The resulting updategram.(Salesforce is shown.)

受信ポートを構成する

アプリケーションに受信場所を追加するには、まず受信ポートを追加する必要があります。受信ポートは複数の受信場所からのデータを受け取ることができます。

  1. [BizTalk Server Administration Console]でアプリケーションを開きます。
  2. [Receive Ports]を右クリックし、[New]->[One-Way Receive Port]と進みます。受信ポートプロパティのダイアログが表示されます。
  3. 受信ポートの名前を入力します。
The Receive Port Send Port properties dialog.(Salesforce is shown.)

ファイル受信場所を構成する

静的な一方向のファイル受信場所は、アップデートグラムを含むBizTalk メッセージを作成します。

  1. [Receive Locations]を右クリックし、[New]->[One-Way Receive Location]と進みます。
  2. 新しい受信場所がメンバとなる受信ポートを選択します。[Receive Location Properties]ダイアログが表示されます。
  3. 受信場所の名前を入力します。
  4. [Transport Type]メニューで、[FILE]を選択します。
  5. [Configure]をクリックします。[File Transport Properties]ダイアログが表示されます。
  6. [Receive Folder]ボックスに、[DemoOutbound]のようなフォルダへのパスを入力します。受信場所はこのフォルダをスキャンし、[File mask]ボックスの条件に一致するファイルを探します。
  7. [Receive Location Properties]ダイアログの[Receive Pipeline]メニューで、デフォルトオプションの[PassThruReceive]を選択します。
The File Receive Location configured in the Receive Location properties dialog.

要請応答送信ポートで、Salesforce アダプタを構成する

コンフィギュレーションは、以下のステップで構成されています。

  1. 要請応答送信ポートを作成、構成する
  2. アダプタを構成する
  3. Salesforce への接続を構成する

要請応答送信ポートを作成、構成する

要請応答送信ポートを使用して、 アップデートグラムコマンドの結果を取得します。このチュートリアルでは、新しく挿入されたレコードのId がBizTalkで返されます。

  1. [BizTalk Administration Console]でアプリケーションを開きます。
  2. [Send Ports]を右クリックし、[New]->[Static Solicit-Response Send Port]を選択すると、送信ポートプロパティのダイアログが表示されます。
  3. 送信ポートの名前を入力します。
  4. [Transport Type]メニューで、CData.Salesforce を選択します。
The solicit-response send port after it has been configured.(Salesforce is shown.)

CData Salesforce アダプタを構成する

[Adapter Transport Properties]ダイアログで、アダプタが実行するコマンドを定義します。

  1. 送信ポートのプロパティで、[Configure]ボタンをクリックします。[Adapter Transport Properties]ダイアログが表示されます。
  2. [CommandType]プロパティで、アップデートグラムを選択します。
プロパティとその機能についての説明は、ヘルプドキュメントの[Adapter Configuration]を参照してください。 The Adapter configured to execute an updategram.(Salesforce is shown.)

Salesforce への接続を構成する

Salesforce への接続に必要な資格情報とその他のプロパティを設定します。

  1. [Adapter Transport]プロパティダイアログで、[Connection String]プロパティのボタンをクリックします。[Connection String Options]ダイアログが表示されます。
  2. 接続プロパティを入力してください。

    下は一般的な接続文字列です。

    User=username;Password=password;SecurityToken=Your_Security_Token;

    Salesforce 接続プロパティの取得・設定方法

    Salesforce への接続には通常のログインの他、OAuth やSSO を利用できます。ログイン方式では、ユーザー名、パスワード、セキュリティトークンを使って接続します。Salesforce セキュリティトークンの取得についてはこちらの記事をご確認ください。

    ユーザー名、パスワードを使用しない、またはできない場合、OAuth 認証を利用できます。

    SSO (シングルサインオン) は、SSOProperties、SSOLoginUrl、TokenUrl プロパティを設定することでID プロバイダー経由で利用できます。詳細はヘルプドキュメントの「はじめに」を参照してください。

  3. [Test Connection]をクリックして値を確認します。
接続プロパティとその機能の説明については、ヘルプドキュメントの[Connection String Options]チャプターを参照してください。 The connection properties for the adapter.(Salesforce is shown.)

ファイル送信ポートを構成する

ファイル送信ポートは、インサートから返されるId をファイルに書き込みます。以下のステップに従って一方向送信ポートを構成し、受信メッセージをファイルに書きこみます。

  1. [Send Ports]を右クリックし、[Static One-Way Send Port]をクリックします。
  2. [Type]メニューで、[FILE]を選択します。
  3. [Configure]をクリックします。
  4. [DemoInbound]のような、メッセージが書き込まれるフォルダへのパスを[Destination Folder]ボックスに入力します。
The file send port properties dialog.

アプリケーションを介してBizTalk メッセージをルーティングするフィルタを作成する

以下のステップに従って、アプリケーションで次の関連を定義するフィルタルールを作成します。

  • 要請応答送信ポートを、アップデートグラムを含むBizTalk メッセージと関連付けます。
  • ファイル送信ポートを、アップデートグラムの実行結果によって作成されたBizTalk メッセージと関連付けます。

  1. 要請応答送信ポートのプロパティで、[Filters]をクリックし、以下の値を設定します。

    • プロパティ…メニューから、[BTS.InboundTransportLocation]を選択します。
    • 値…一方向の受信場所のURLを入力します。(この例では、["C:\DemoOutbound\*.xml]を使用しています。)
    Filters for a solicit-response send port.
  2. 一方向送信ポートのプロパティで、[Filters]をクリックし、以下の値を設定します。

    • プロパティ…メニューから、[BTS.SPName]を選択します。
    • 値…要請応答送信ポートの(URL ではなく)名前を入力します。
    Filters for the one-way send port.

ロケーションとポートをエンリストして有効にする

BizTalk アプリケーションを起動するときに以下の手順に従い、アップデートグラムが受信場所によって確実に取得されるようにします。

  1. 要請応答送信ポートを右クリックし、[Start]をクリックします。これにより、送信ポートも登録されます。
  2. 一方向送信ポートを右クリックし、[Start]をクリックします。これにより、送信ポートも登録されます。
  3. 受信場所を右クリックし、[Enable]をクリックします。

受信場所用に構成したフォルダに、アップデートグラムを複製することができます。

一方向送信ポート用に構成したフォルダを開きます。このフォルダは、XML file の新しいId を含みます。メッセージは次の例のようになります。

<table xmlns="http://www.cdata.com/SalesforceProvider" AffectedRows="1"> <row> <Id>0014000001XERBUAA5</Id> </row> </table>

アプリケーションログを表示する

アプリケーションログでエラーメッセージを表示することで、アプリケーションが正常に初期化されたことを素早く確認できます。ログを開くには、[Administration Console]のナビゲーションツリーで[Event Viewer (Local)]ノードを展開します。Windows ログを展開し、[Applications]を選択します。

発生したエラーのリストはここから入手可能です。ここには、システム上のすべてのアプリケーションのエラ-メッセージが含まれるため、エラーメッセージのソースを確認することが必要です。受信場所では、ソースが[CData BizTalk Salesforce Receive Adapter]である必要があります。エラーメッセージの詳細から、エラーの理由を知ることができます。

エラー解消のガイダンスについては、support@cdata.com/jp にお問い合わせください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。