Salesforce Composite Connector 2.18 - 例 - Mule 4

SObject Tree 操作の例

この例では、次の操作を使用して SObject ツリーを作成し、Salesforce に接続して結果を JSON 形式に変換して出力します。

  • HTTP ​Listener

    HTTP 要求からデータを受け入れる

  • Transform Message

    HTTP 入力を変換します。

  • Create sobject tree

    Salesforce に接続し、SObject ツリーを作成します。

  • Transform Message

    Create sobject tree​ 操作の結果を JSON 形式で出力します。

HTTP Listener コンポーネント、Transform コンポーネント、Create 操作を含む Studio フロー

HTTP Listener を追加する

HTTP ​Listener​ ソース操作は、​createSObjectTree​ パスでイベントを検出したときにフローを開始します。リスナーを追加してフローをトリガーする手順は、次のとおりです。

  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで「​http​」を検索し、​[Listener]​ 操作を選択します。

  3. Listener​ 操作をキャンバスにドラッグします。

  4. [Listener] プロパティウィンドウで、​[Path (パス)]​ 項目を ​/createSObjectTree​ に設定します。

最初の [Transform Message] コンポーネントを追加する

最初の Transform Message コンポーネントは、入力データを使用して次の Create 操作の HTTP 入力を変換します。コンポーネントを追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​「Transform Message」​を検索します。

  2. Transform Message​ コンポーネントをキャンバスの ​[Listener]​ の右にドラッグします。

  3. 名前 ​Transform HTTP input for Create SObject Tree​ を入力します。

次に、Transform Message コンポーネントの HTTP 入力の例を示します。

Create SObject Tree 操作を追加する

Create SObject Tree 操作を追加して Salesforce に接続し、SObject ツリーを作成します。操作を追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで「​salesforce​」を検索し、​[Create sobject tree]​ を選択します。

  2. [Create sobject tree]​ 操作を ​[Transform Message]​ の右にドラッグします。

  3. [Connector configuration (コネクタ設定)]​ の右にある緑のプラス記号 (​+​) をクリックし、Salesforce Composite グローバル要素設定項目にアクセスします。

  4. [Create sobject tree]​ プロパティウィンドウで、​[SObject Root Typ (sObject ルート種別)]​ 項目に「​Account​」と入力します。

  5. プロパティファイル ​src/main/mule/mule-app.properties​ で、グローバル要素の変数の値を宣言して入力します。

2 つ目の [Transform Message] コンポーネントを追加する

2 つ目の Transform Message コンポーネントは出力結果を JSON に変換します。コンポーネントを追加する手順は、次のとおりです。

  1. もう一度 ​[Transform Message]​ コンポーネントを ​[Create sobject tree]​ の右にドラッグします。

  2. 次の情報を入力します。

    %dw 2.0
    %output application/json
    payload
    ---
    {
    "Id": payload.Id,
    "Fields" : ["Id", "Name"],
    "Type": "Account"
    }
    dataweave

SObject Tree 操作フローの XML

次の XML コードを Anypoint Studio キャンバスの ​[Configuration XML (設定 XML)]​ タブに貼り付けて、フローを試してください。

Pre-Query の例

この例では、照会するオブジェクトのメタデータを提供し、このメタデータが含まれる 2 つの下位要求を生成して、下位要求を実行します。

  • HTTP ​Listener

    HTTP 要求からデータを受け入れる

  • Transform Message

    オブジェクトの名前を指定します。

  • Pre create

    作成するオブジェクトのメタデータを提供し、実行で使用される下位要求を生成します。

  • Transform Message

    項目の値を指定します。

  • Pre query

    照会するオブジェクトのメタデータを提供し、実行で使用される下位要求を生成します。

  • Transform Message

    Pre query​ 操作から出力を渡します。

  • Execute composite batch

    1 つのバッチですべての下位要求を送信します。

  • Transform Message

    結果を JSON 形式で出力します。

HTTP Listener コンポーネント、Transform コンポーネント、複数の Salesfore Composite 操作を含む Studio フロー

HTTP Listener を追加する

HTTP ​Listener​ ソース操作は、​executeFlow​ パスでイベントを検出したときにフローを開始します。リスナーを追加してフローをトリガーする手順は、次のとおりです。

  1. Studio で新しい Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)]​ ビューで「​http​」を検索し、​[Listener]​ 操作を選択します。

  3. Listener​ 操作をキャンバスにドラッグします。

  4. [Listener] プロパティウィンドウで、​[Path (パス)]​ 項目を ​/executeFlow​ に設定します。

最初の [Transform Message] コンポーネントを追加する

最初の Transform Message コンポーネントは、作成されるオブジェクトの名前を指定し、​Pre create​ 操作の名前を渡します。コンポーネントを追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで、​「Transform Message」​を検索します。

  2. [Transform Message]​ をキャンバスの ​[Listener]​ の右にドラッグします。

  3. 名前 ​MyNewAccount​ を入力します。

    %dw 2.0
    %output application/java
    ---
    {
       Name: "MyNewAccount"
    }
    dataweave

Pre Create 操作を追加する

Pre Create 操作は、​NewAccount​ と呼ばれるオブジェクトを作成するためのメタデータを提供し、​executeCompositeBatch​ 操作の下位要求を生成します。操作を追加する手順は、次のとおりです。

  1. [Mule Palette (Mule パレット)]​ ビューで「​salesforce​」を検索し、Salesforce Composite の ​[Pre create]​ 操作を選択します。

  2. Pre create​ 操作を ​[Transform Message]​ の右にドラッグします。

  3. [Connector configuration (コネクタ設定)]​ 項目の右にある緑のプラスアイコン (​+​) をクリックし、Salesforce Composite グローバル要素設定項目にアクセスします。

  4. [Pre create]​ プロパティウィンドウで、​[Type (種別)]​ 項目に「​Account​」と入力します。

  5. プロパティファイル ​src/main/mule/mule-app.properties​ で、グローバル要素の変数の値を宣言して入力します。

Salesforce Composite Connector グローバル要素設定ウィンドウ

2 つ目の [Transform Message] コンポーネントを追加する

2 つ目の Transform Message コンポーネントは、​[ID]​ 項目と ​[Type (種別)]​ 項目の値を指定し、これらの値を ​Pre query​ 操作に渡します。コンポーネントを追加する手順は、次のとおりです。

  1. 2 つ目の ​[Transform Message]​ コンポーネントを ​[Pre create]​ の右にドラッグします。

  2. 次の名前-値ペアを入力します。

    %dw 2.0
    %output application/java
    ---
    {
       "Id": payload.Id,
       "Fields" : ["Id", "Name"],
       "Type": "Account"
    }
    dataweave

Pre Query 操作を追加する

Pre Query 操作により、照会するオブジェクトのメタデータが提供されます。​Execute composite batch​ 操作の下位要求が生成されます。操作を追加する手順は、次のとおりです。

  1. Salesforce Composite の ​Pre query​ 操作を 2 つ目の ​[Transform Message]​ の右にドラッグします。

  2. [Query (クエリ)]​ 項目に、以下を入力します。

    Select Name from Account WHERE Name LIKE '%:name %'

3 つ目の [Transform Message] コンポーネントを追加する

3 つ目の Transform Message 操作は、​Pre query​ 操作の出力を ​Execute composite batch​ 操作に渡します。コンポーネントを追加する手順は、次のとおりです。

  1. 3 つ目の ​[Transform Message]​ コンポーネントを ​[Pre query]​ の右にドラッグします。

  2. 出力を ​payload​ に設定します。

    %dw 2.0
    %output application/java
    ---
    [
    payload
    ]
    dataweave

Execute Composite Batch 操作を追加する

Execute Composite Batch 操作により、Pre Create 操作と Pre Query 操作で作成された下位要求が実行されます。

操作を追加するには、Salesforce Composite の ​[Execute composite batch]​ 操作を 3 つ目の ​[Transform Message]​ の右にドラッグします。

4 つ目の [Transform Message] コンポーネントを追加する

4 つ目の Transform Message 操作は、出力を JSON 形式に変換します。コンポーネントを追加する手順は、次のとおりです。

  1. 4 つ目の ​[Transform Message]​ コンポーネントを ​[Execute composite batch]​ の右にドラッグします。

  2. 出力を ​application/json​ に設定します。

    %dw 2.0
    %output application/json
    ---
    payload
    dataweave

Pre-Query の例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを XML エディターに貼り付けます。必要に応じて、環境に合わせて値を変更します。