---
schema_version: "1"
id: d5feaa16f4a772000aad784115772e13a5b4189db8039486964cd815f169d639
title: Salesforce Connector 10.22 の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/salesforce-connector/10.22/salesforce-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/salesforce-connector/10.22/salesforce-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 6b37d08006f0aa65a4ebddc8310bd6cd02becfd5a724036d980e46847584a1ed
description: MuleSoft Documentation Site
release: "10.22"
latest: false
---
# Salesforce Connector 10.22 の例

Salesforce Connector の Mule フローの例を示します。

- [データの受け入れと変換](#accandtrans)
- [親子リレーション内にあるオブジェクトの作成または更新](#parentchild)
- [取引先の削除](#delete-accounts)
- [重複する取引先の検索](#find-duplicate-accounts)

## [](#accandtrans)データの受け入れと変換

この例は、新規 Salesforce 取引先の作成と新規取引先の照会を行うように Salesforce Connector を設定する方法と、​[File Connector](https://docs.mulesoft.com/jp/file-connector/latest/)​ を使用して新規取引先データをファイルに書き込む方法を示しています。この例には次の 3 つのフローが含まれます。

- 最初のフロー: 新規取引先のデータを提供するために使用する HTML 入力フォームのテンプレートを設定します。
- 2 番目のフロー: HTML 入力フォームの情報に基づいて新規 Salesforce 取引先を作成します。
- 3 番目のフロー: 新規取引先を名前で照会し、新規取引先データを CSV ファイルに書き込みます。

![データの受け入れと変換のフロー](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/accept-and-transform-data-flows.png)

### [](#最初のフローを設定する)最初のフローを設定する

新規取引先の作成に使用されるデータを提供する HTML テンプレートを設定する最初のフローを設定します。最初のフローを作成するには、​**Listener**​ コンポーネントと ​**Parse Template**​ コンポーネントを設定する必要があります。

#### [](#http-リスナーを設定する)HTTP リスナーを設定する

`/account`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/account`​ に設定します。

#### [](#parse-template-コンポーネントを追加する)Parse Template コンポーネントを追加する

HTML フォーム (​`form.html`​) のテンプレートを作成する ​**Parse Template**​ コンポーネントを追加します。これはメインリソースフォルダーに配置され、新規取引先を作成するための情報を伝達するために使用されます。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Parse Template\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コンポーネントの名前 (​<code>Parse Template</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Location (場所)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>form.html</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Parse Template**​ 設定の例を示しています。
    
    ![Parse Template プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/parse-template-properties-window.png)

### [](#2-番目のフローを設定する)2 番目のフローを設定する

HTTP 入力フォームのデータに基づいて新規 Salesforce 取引先を作成する 2 番目のフローを設定します。2 番目のフローを作成するには、​**Listener**​ コンポーネント、​**Transform Message**​ コンポーネント、​**Create**​ 操作、2 つ目の ​**Transform Message**​ コンポーネントを設定する必要があります。

#### [](#http-リスナーを設定する-2)HTTP リスナーを設定する

`/createAccount`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. デフォルトを受け入れます。
4. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/createAccount`​ に設定します。

#### [](#最初の-transform-message-コンポーネントを追加する)最初の \[Transform Message\] コンポーネントを追加する

HTTP 入力フォームの値を Java 形式に変換して ​**Create**​ 操作への入力として使用できるようにする最初の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    [{
    
      Name: payload.Name,
      AccountNumber: payload.AccountNumber,
      BillingCity: payload.BillingCity
    }]
    ```

#### [](#create-操作を追加する)Create 操作を追加する

**Transform Message**​ コンポーネントにより渡された項目値を使用して新規 Salesforce アカウントを作成する ​**Create**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Create\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Create**​ 設定の例を示しています。
    
    ![Create グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/create-global-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type (型)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Account</code>​</p>
<p class="tableblock"><strong>[Type (型)]</strong>​ には変数を正常に渡すことができますが、Runtime がその変数の値を適切に解決できないと入力メタデータを表示する際に問題が発生する場合もあります。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Records (レコード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Create**​ 設定の例を示しています。
    
    ![Create プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/create-properties-window.png)

#### [](#2-つ目の-transform-message-コンポーネントを追加する)2 つ目の \[Transform Message\] コンポーネントを追加する

項目値を JSON 形式に変換して ​[File Connector](https://docs.mulesoft.com/jp/file-connector/latest/)​ で使用できるようにする 2 つ目の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Create\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload map {
      id:$.id,
      errors:$.errors,
      success:$.success
    
    }
    ```

### [](#3-番目のフローを設定する)3 番目のフローを設定する

新規 Salesforce 取引先を名前で照会し、一致する取引先データを Java ファイルに書き込む 3 番目のフローを設定します。3 番目のフローを作成するには、​**On New Object**​ ソース、​**Query result list**​ 操作、​**Query result stream by id**​ 操作、​**Transform Message**​ コンポーネント、​**Write**​ 操作を設定する必要があります。

#### [](#on-new-object-ソースを設定する)On New Object ソースを設定する

`/account`​ パスに新規取引先が作成されたときに Mule フローを開始するように ​**On New Object**​ ソースを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[On New Object\]**​ ソースをキャンバスにドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type (型)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Account</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**On New Object**​ 設定の例を示しています。
    
    ![On New Object プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/on-new-object-properties-window.png)

#### [](#query-result-list-操作を追加する)Query Result List 操作を追加する

結果 ID のリストを返す ​**Query result list**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Query result list\]**​ 操作を ​**\[On New Object\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Query result list**​ 設定の例を示しています。
    
    ![Query result list グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/query-result-list-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Batch info (バッチ情報)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Query result list**​ 設定の例を示しています。
    
    ![Query result list プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/query-result-list-properties-window.png)

#### [](#query-result-stream-by-id-操作を追加する)Query Result Stream by Id 操作を追加する

最終クエリ結果を取得する ​**Query result stream by id**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Query result stream by id\]**​ 操作を ​**\[Query result list\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Query result stream by id**​ 設定の例を示しています。
    
    ![Query result stream by id グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/query-result-stream-by-id-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Batch info (バッチ情報)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Query result stream by id**​ 設定の例を示しています。
    
    ![Query result stream by id プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/query-result-stream-by-id-properties-window.png)

#### [](#transform-message-コンポーネントを追加する)\[Transform Message\] コンポーネントを追加する

項目値を JSON 形式に変換して ​[File Connector](https://docs.mulesoft.com/jp/file-connector/latest/)​ で使用できるようにする ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Query result stream by id\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload map {
        AccountNumber:$.AccountNumber,
        BillingAddress:$.BillingAddress,
        Id:$.Id,
        Name:$.Name
    }
    ```

#### [](#write-操作を追加する)Write 操作を追加する

新規取引先データを CSV ファイルに書き込む ​**Write**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[File (ファイル)\]**​ を選択して ​**\[Write\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Working Directory (作業ディレクトリ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[Connection (接続)]</strong>​ が選択されている場合、このコネクタで使用するすべての相対パスのルートとみなされるディレクトリ。指定しない場合、デフォルトの ​<code>user.home</code>​ システムプロパティの値になります。このシステムプロパティが設定されていない場合、コネクタは初期化に失敗します。</p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Write**​ 設定の例を示しています。
    
    ![Write グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/write-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Path (パス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>/account</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Content (コンテンツ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Write**​ 設定の例を示しています。
    
    ![Write プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/write-properties-window.png)

### [](#この例の-xml)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
  xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
  xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
  xmlns:http="http://www.mulesoft.org/schema/mule/http"
  xmlns="http://www.mulesoft.org/schema/mule/core"
  xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
  http://www.mulesoft.org/schema/mule/core/current/mule.xsd
  http://www.mulesoft.org/schema/mule/http
  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
  http://www.mulesoft.org/schema/mule/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/salesforce
  http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
  http://www.mulesoft.org/schema/mule/file
  http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
  <configuration-properties file="mule-app.properties"/>
  <http:listener-config name="HTTP_Listener_config"
   doc:name="HTTP Listener config" >
  <http:listener-connection host="localhost" port="8081" />
  </http:listener-config>
  <salesforce:sfdc-config name="Salesforce_Sfdc_config"
   doc:name="Salesforce SFDC config">
    <salesforce:basic-connection
    username="${salesforce.username}"
    password="${salesforce.password}"
    securityToken="${salesforce.securityToken}" />
  </salesforce:sfdc-config>
  <file:config name="File_Config" doc:name="File Config" doc:id="a62aaa19-2bab-4717-8758-ec09caec2a51" >
		<file:connection />
	</file:config>
	<flow name="crud_app_template">
    <http:listener config-ref="HTTP_Listener_config"
     path="/" doc:name="Listener" />
    <parse-template location="form.html" doc:name="Parse Template"  />
  </flow>
  <flow name="create_accountFlow" >
    <http:listener config-ref="HTTP_Listener_config"
     path="/createAccount" doc:name="Listener"  />
    <ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{

  Name: payload.Name,
  AccountNumber: payload.AccountNumber,
  BillingCity: payload.BillingCity
}]]]></ee:set-payload>
      </ee:message>
    </ee:transform>
    <salesforce:create doc:name="Create" type="Account"
     config-ref="Salesforce_Sfdc_config"/>
    <ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
  id:$.id,
  errors:$.errors,
  success:$.success

}]]></ee:set-payload>
      </ee:message>
    </ee:transform>
  </flow>
  <flow name="query_accountFlow" >
    <salesforce:new-object-listener objectType="Account" doc:name="On New Object" doc:id="8b5dec5e-31a2-4b78-9188-b681891898be" config-ref="Salesforce_Sfdc_config">
			<scheduling-strategy >
				<fixed-frequency />
			</scheduling-strategy>
		</salesforce:new-object-listener>
		<salesforce:query-result-list doc:name="Query result list" doc:id="79da7485-339c-4ab6-956a-0684210b2ded" config-ref="Salesforce_Sfdc_config"/>
		<salesforce:query-result-stream-by-id doc:name="Query result stream by id" doc:id="bdf16fc8-017f-439b-b1fc-3bff23d881d8" config-ref="Salesforce_Sfdc_config"/>
    <ee:transform doc:name="Transform Message"  >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
    AccountNumber:$.AccountNumber,
    BillingAddress:$.BillingAddress,
    Id:$.Id,
    Name:$.Name
}]]></ee:set-payload>
      </ee:message>
    </ee:transform>
		<file:write doc:name="Write" doc:id="83f39edd-bc18-4738-92c0-d3c427108ac4" config-ref="File_Config" path="/account"/>
  </flow>
</mule>
```

## [](#parentchild)親子リレーション内にあるオブジェクトの作成または更新

この例は、Salesforce Connector を使用して更新/挿入を実行するために必要なオブジェクトリレーション構造を Salesforce 内に作成する方法を示しています。

![親子リレーション内にあるオブジェクトの作成または更新フロー](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/create-update-flow.png)

### [](#フローを設定する)フローを設定する

Salesforce オブジェクトは、オブジェクト間で標準リレーションまたはカスタムリレーションを持つことができます。通常、オブジェクト間リレーションは一対多の (親-子) リレーションですが、Salesforce に存在する 2 つのオブジェクトをどのような形でも結び付けることができます。

この例では親-子リレーションを持つ 2 つのカスタム Salesforce オブジェクト種別を使用しています。

- `Plane__c`​: Salesforce に存在する必要がある親オブジェクト
- `Component__c`​: Salesforce Connector を使用して更新/挿入するオブジェクト

2 つのカスタムオブジェクト間のリレーションは ​`Plane__r`​ 項目で表されます。この項目の値は、2 つの項目を含むオブジェクトです。

- 参照先のオブジェクト種別の名前を値として持つ ​`type`​ 項目。
    
    この例では、​`type`​ の値は ​`Plane_c`​ です。
- 参照する親オブジェクトのインスタンスを識別する項目。
    
    この例では、​`Name`​ 項目は ​`Plane__c`​ の ​`Cobra`​ インスタンスを参照します。

`Component__c`​ を更新/挿入すると、Salesforce Connector に入力として送信される POJO は次のようになります。

```linenums
 ----
 [{
 	// Component__c's fields ...
 	Plane__r: {
 		"type": "Plane__c",
 		"Name": "Cobra"
 	}
 }]
----
```

このフローを作成するには、​**Listener**​ コンポーネント、​**Transform Message**​ コンポーネント、​**Upsert**​ 操作、2 つ目の ​**Transform Message**​ コンポーネントを設定する必要があります。

#### [](#http-リスナーを設定する-3)HTTP リスナーを設定する

`/`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/`​ に設定します。

#### [](#最初の-transform-message-コンポーネントを追加する-2)最初の \[Transform Message\] コンポーネントを追加する

HTTP 入力フォームの値を Java 形式に変換して ​**Upsert**​ 操作への入力として使用できるようにする最初の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    [{
    	Name: "NewPlaneComponent",
    	Plane__r: {
    		"type": "Plane__c",
    		"Name": "Cobra"
    	}
    }]
    ```

#### [](#upsert-操作を追加する)Upsert 操作を追加する

親-子リレーション内にある Salesforce オブジェクトを作成または更新する ​**Upsert**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Upsert\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Upsert**​ 設定の例を示しています。
    
    ![Upsert グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/upsert-global-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Object type (オブジェクト種別)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Component_c</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">External id field name (外部 ID 項目名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Id</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Records (レコード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Upsert**​ 設定の例を示しています。
    
    ![Upsert プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/upsert-properties-window.png)

#### [](#2-つ目の-transform-message-コンポーネントを追加する-2)2 つ目の \[Transform Message\] コンポーネントを追加する

値を Java 形式から JSON 形式に変換する 2 つ目の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Upsert\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload
    ```

### [](#この例の-xml-2)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
  http://www.mulesoft.org/schema/mule/http
  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
  http://www.mulesoft.org/schema/mule/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/salesforce
  http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="4c035a4e-77bc-4deb-ba9e-9cb2a7ba3c44" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<salesforce:sfdc-config name="Salesforce_Config" doc:name="Salesforce Config" doc:id="936529ce-271b-49ac-be36-ca6a2b3d62ea" >
		<salesforce:basic-connection username="user" password="pass" securityToken="token" />
	</salesforce:sfdc-config>
	<flow name="Copy_of_idp-policy-benefitsFlow" doc:id="44a544bf-f94e-4d3d-827d-0882f4771df5" >
		<http:listener doc:name="Listener" doc:id="39aed35b-0147-49f1-a258-26f0cabc854b" config-ref="HTTP_Listener_config" path="/" />
		<ee:transform doc:name="Transform Message" doc:id="82fe7e7d-43f3-433a-bc08-6a0ffb78275e" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[{
	Name: "NewPlaneComponent",
	Plane__r: {
		"type": "Plane__c",
		"Name": "Cobra"
	}
}]]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<salesforce:upsert objectType="Component__c" doc:name="Upsert" doc:id="0c3ca1fa-8ea1-4a99-b9b8-68f9db14d99f" config-ref="Salesforce_Config" externalIdFieldName="Id"/>
		<ee:transform doc:name="Transform Message" doc:id="e98409ad-e6cc-4d33-872a-f5e11cf7b869" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
</mule>
```

## [](#delete-accounts)取引先の削除

次の例は、Salesforce Connector を使用して Salesforce 取引先を削除する方法を示しています。

![取引先の削除フロー](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/delete-accounts-flow.png)

### [](#フローを設定する-2)フローを設定する

このフローを作成するには、​**Listener**​ コンポーネント、​**Transform Message**​ コンポーネント、​**Delete**​ 操作、2 つ目の ​**Transform Message**​ コンポーネントを設定する必要があります。

#### [](#http-リスナーを設定する-4)HTTP リスナーを設定する

`/`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/`​ に設定します。

#### [](#最初の-transform-message-コンポーネントを追加する-3)最初の \[Transform Message\] コンポーネントを追加する

HTTP 入力フォームの値を Java 形式に変換して ​**Delete**​ 操作への入力として使用できるようにする最初の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    [payload.Id]
    ```

#### [](#delete-操作を追加する)Delete 操作を追加する

Salesforce 取引先を削除する ​**Delete**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Delete\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Delete**​ 設定の例を示しています。
    
    ![Delete グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/delete-global-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Records to Delete Ids (削除するレコードの ID)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Delete**​ 設定の例を示しています。
    
    ![Delete プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/delete-properties-window.png)

#### [](#2-つ目の-transform-message-コンポーネントを追加する-3)2 つ目の \[Transform Message\] コンポーネントを追加する

値を Java 形式から JSON 形式に変換する 2 つ目の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Delete\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    payload map {
      id:$.id,
      errors:$.errors,
      success:$.success
    }
    ```

### [](#この例の-xml-3)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
  xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
  xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
  xmlns:http="http://www.mulesoft.org/schema/mule/http"
  xmlns="http://www.mulesoft.org/schema/mule/core"
  xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
  http://www.mulesoft.org/schema/mule/core/current/mule.xsd
  http://www.mulesoft.org/schema/mule/http
  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
  http://www.mulesoft.org/schema/mule/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/salesforce
  http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
  http://www.mulesoft.org/schema/mule/file
  http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
  <configuration-properties file="mule-app.properties"/>
  <http:listener-config name="HTTP_Listener_config"
   doc:name="HTTP Listener config" >
  <http:listener-connection host="localhost" port="8081" />
  </http:listener-config>
  <salesforce:sfdc-config name="Salesforce_Sfdc_config"
   doc:name="Salesforce SFDC config">
    <salesforce:basic-connection
    username="${salesforce.username}"
    password="${salesforce.password}"
    securityToken="${salesforce.securityToken}" />
  </salesforce:sfdc-config>

  <flow name="delete-account" >
		<http:listener doc:name="Listener" doc:id="9744668a-66e4-4d69-8f1d-f3bfbd3e77be" config-ref="HTTP_Listener_config" path="/Delete"/>
		<ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[payload.Id]]]></ee:set-payload>
      </ee:message>
    </ee:transform>
    <salesforce:delete doc:name="Delete" doc:id="e4ad1f41-8409-42b6-ba90-e6a26e60a7ba" config-ref="Salesforce_Sfdc_config"/>
		<ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload map {
  id:$.id,
  errors:$.errors,
  success:$.success
}]]></ee:set-payload>
      </ee:message>
    </ee:transform>
  </flow>
</mule>
```

## [](#find-duplicate-accounts)重複する取引先の検索

次の例は、Salesforce Connector を使用して重複する Salesforce 取引先を検索する方法を示しています。

![重複する取引先の検索フロー](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/find-duplicates-accounts-flow.png)

### [](#フローを設定する-3)フローを設定する

このフローを作成するには、​**Listener**​ コンポーネント、​**Transform Message**​ コンポーネント、​**Find duplicates**​ 操作、2 つ目の ​**Transform Message**​ コンポーネントを設定する必要があります。

#### [](#http-リスナーを設定する-5)HTTP リスナーを設定する

`/findDuplicates`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/findDuplicates`​ に設定します。

#### [](#最初の-transform-message-コンポーネントを追加する-4)最初の \[Transform Message\] コンポーネントを追加する

HTTP 入力フォームの値を Java 形式に変換して ​**Delete**​ 操作への入力として使用できるようにする最初の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    [
      payload
    ]
    ```

#### [](#find-duplicates-操作を追加する)Find Duplicates 操作を追加する

重複する Salesforce 取引先を検索する ​**Find duplicates**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Salesforce\]**​ を選択して ​**\[Find duplicates\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 接続に応じてグローバル要素を設定します。次に例を示します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Username (ユーザー名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.username}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Password (パスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.password}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Security (セキュリティ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${salesforce.securityToken}</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Authorization URL (認証 URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>https://login.salesforce.com/services/Soap/u/53.0</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Find duplicates**​ 設定の例を示しています。
    
    ![Find Duplicates グローバル要素設定ウィンドウ](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/find-duplicates-global-config.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type (型)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Account</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Criteria (条件)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、プロパティウィンドウでの ​**Find duplicates**​ 設定の例を示しています。
    
    ![Find Duplicates プロパティウィンドウ設定](/mulesoft/current/ja-jp/salesforce-connector/10.22/_images/find-duplicates-properties-window.png)

#### [](#2-つ目の-transform-message-コンポーネントを追加する-4)2 つ目の \[Transform Message\] コンポーネントを追加する

値を Java 形式から JSON 形式に変換する 2 つ目の ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Find duplicates\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    {
      success: payload.success,
      duplicateResults: {
        (payload.duplicateResults map {
          matchRecords: $.matchResults
        }
        )
      },
      duplicateRuleEntityType: payload.duplicateRuleEntityType,
      duplicateRule: payload.duplicateRule,
      allowSave: payload.allowSave,
      errorMessage: payload.errorMessage
    }
    ```

### [](#この例の-xml-4)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:file="http://www.mulesoft.org/schema/mule/file"
  xmlns:salesforce="http://www.mulesoft.org/schema/mule/salesforce"
  xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
  xmlns:http="http://www.mulesoft.org/schema/mule/http"
  xmlns="http://www.mulesoft.org/schema/mule/core"
  xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core
  http://www.mulesoft.org/schema/mule/core/current/mule.xsd
  http://www.mulesoft.org/schema/mule/http
  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
  http://www.mulesoft.org/schema/mule/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/salesforce
  http://www.mulesoft.org/schema/mule/salesforce/current/mule-salesforce.xsd
  http://www.mulesoft.org/schema/mule/file
  http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd">
  <configuration-properties file="mule-app.properties"/>
  <http:listener-config name="HTTP_Listener_config"
   doc:name="HTTP Listener config" >
  <http:listener-connection host="localhost" port="8081" />
  </http:listener-config>
  <salesforce:sfdc-config name="Salesforce_Sfdc_config"
   doc:name="Salesforce SFDC config">
    <salesforce:basic-connection
    username="${salesforce.username}"
    password="${salesforce.password}"
    securityToken="${salesforce.securityToken}" />
  </salesforce:sfdc-config>
  <flow name="find_duplicates_for_account_flow" >
    <http:listener config-ref="HTTP_Listener_config"
     path="/findDuplicates" doc:name="Listener" />
    <ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
[
  payload
]]]></ee:set-payload>
      </ee:message>
    </ee:transform>
    <salesforce:find-duplicates config-ref="Salesforce_Sfdc_config"
     type="Account"
    doc:name="Find duplicates" />
    <ee:transform doc:name="Transform Message" >
      <ee:message >
        <ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
  success: payload.success,
  duplicateResults: {
    (payload.duplicateResults map {
      matchRecords: $.matchResults
    }
    )
  },
  duplicateRuleEntityType: payload.duplicateRuleEntityType,
  duplicateRule: payload.duplicateRule,
  allowSave: payload.allowSave,
  errorMessage: payload.errorMessage
}]]></ee:set-payload>
      </ee:message>
    </ee:transform>
  </flow>
</mule>
```

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)