---
schema_version: "1"
id: 86087b57792be9ab6a680991f2490ef1c4e0f907a408b422338e72706e1fe9ae
title: Salesforce Composite Connector 2.5 - Mule 4
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/index.md
canonical_url: https://docs.mulesoft.com/jp/salesforce-composite-connector/2.5/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 4781b4ae9be017d4bc77b5097512729338ebaadea5b4d006e387939fe10cbb83
description: MuleSoft Documentation Site
release: "2.5"
latest: false
---
# Salesforce Composite Connector 2.5 - Mule 4

サポートカテゴリ: [選択](https://www.mulesoft.com/legal/versioning-back-support-policy#anypoint-connectors)

Salesforce Composite 用 Anypoint Connector では、Salesforce Batch API および sObject Tree API を操作できます。このコネクタでは、下位要求を準備し、1 つのバッチで実行して、結果を解析するための便利なメソッドが公開されています。また、バッチ操作とは別の操作によって createSobjectTree という SObject ツリーを作成することもできます。このコネクタでは、下位要求を準備し、応答を解析するための DataSense が提供されています。DataSense は、実行用、および sObject ツリーの作成用にも提供されます。

互換性および修正済みの問題については、​[「Salesforce Composite Connector リリースノート」](https://docs.mulesoft.com/jp/release-notes/connector/salesforce-composite-connector-release-notes-mule-4)​を参照してください。

## [](#前提条件)前提条件

このコネクタを使用するには、以下に精通している必要があります。

- Salesforce Composite
- Mule フローの要素やグローバル要素を含め、Mule Runtime Engine (Mule) の概念。
- Anypoint Connector
- Anypoint Studio

対象リソースへの接続をテストするには、ログイン情報が必要です。

## [](#pom-ファイル情報)POM ファイル情報

```xml
<dependency>
  <groupId>com.mulesoft.connectors</groupId>
  <artifactId>mule-salesforce-composite-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
```

コネクタの ​`version`​ が、使用しているバージョンと一致していることを確認します。

最新の ​`pom.xml`​ ファイル情報を取得する手順は、次のとおりです。

1. [Anypoint Exchange](https://www.mulesoft.com/exchange/)​ に移動します。
2. Exchange で、​**\[Login (ログイン)\]**​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
3. Exchange で、コネクタ名を検索します。
4. **\[Dependency Snippets (連動関係スニペット)\]**​ をクリックします。

## [](#design-center-での接続)Design Center での接続

1. HTTP リスナートリガーやスケジューラートリガーなどのトリガーをクリックします。
2. コネクタ用に省略可能なグローバル要素を作成するには、\[Reusable Configurations (再利用可能な設定)\] をクリックします。使用できるのは、OAuth ユーザー名とパスワード認証のみです。
    
    ![OAuth ユーザー名とパスワード認証を選択する](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-choose-global-type.png)
3. プラス記号を選択して、コンポーネントを追加します。
4. コンポーネントとしてコネクタを選択します。
    
    ![コンポーネントとしてコネクタ](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-create-sobject-tree-flow.png)
5. Create SObject Tree 操作用に次の項目を設定します。
    
    - SObject Root Type (sObject ルート種別)  
        作成するツリーのルートの種別。
    - SObject Tree (sObject ツリー)  
        作成するツリーの構造全体。
        
        ![Create SObject Tree 操作](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-create-sobject-tree-operation.png)

### [](#oauth-ユーザー名とパスワード設定の必須パラメーター)OAuth ユーザー名とパスワード設定の必須パラメーター

- Consumer Key (コンシューマーキー)  
    Salesforce 接続アプリケーションのコンシューマーキー。
- Consumer Secret (コンシューマーシークレット)  
    Salesforce にアクセスするコネクタのコンシューマーシークレット。
- Username (ユーザー名)  
    Salesforce ユーザー名。
- Password (パスワード)  
    対応するパスワード。
- Security Token (セキュリティトークン)  
    対応するセキュリティトークン。
    
    ![デザインセンター基本認証](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-dc-basic-auth.png)

## [](#studio-でコネクタに追加する)Studio でコネクタに追加する

1. Studio で Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**\[(X) Search in Exchange ((X) Exchange 内を検索)\]**​ をクリックします。
3. **\[Add Modules to Project (モジュールをプロジェクトに追加)\]**​ で、検索項目に「​`composite`​」と入力します。
4. **\[Available modules (使用可能なモジュール)\]**​ で、このコネクタの名前をクリックします。
5. **\[Add (追加)\]**​ をクリックします。
6. **\[Finish (完了)\]**​ をクリックします。

Studio の更新がある場合、右下隅にメッセージが表示されます。メッセージをクリックすると、更新をインストールできます。

### [](#studio-でコネクタを設定する)Studio でコネクタを設定する

1. コネクタを Studio キャンバスにドラッグします。
2. コネクタのグローバル要素を作成するには、次の項目を設定します。
    
    - OAuth ユーザー名とパスワード認証
        
        - Consumer Key (コンシューマーキー)  
            Salesforce 接続アプリケーションのコンシューマーキー。
        - Consumer Secret (コンシューマーシークレット)  
            Salesforce にアクセスするコネクタのコンシューマーシークレット。
        - Username (ユーザー名)  
            Salesforce ユーザー名。
        - Password (パスワード)  
            対応するパスワード。
        - Security Token (セキュリティトークン)  
            対応するセキュリティトークン。
            
            ![Studio 基本認証](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-studio-basic-auth.png)

## [](#studio-の例)Studio の例

- Listener(HTTP)  
    HTTP 要求からデータを受け取ります。
- Transform Message  
    HTTP 入力を適宜トランスフォームします。
- Salesforce Composite Connector  
    Salesforce に接続し、Create SObject Tree 操作を実行します。
- Transform Message  
    Create SObject Tree 操作の結果を JSON 形式で出力します。
    
    ![Studio のユースケース](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-studio-use-case.png)

### [](#studio-の例の-xml)Studio の例の XML

次の XML コードを Anypoint Studio に貼り付けて、前のセクションで説明したフローを試してください。

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

<mule xmlns:salesforce-composite="http://www.mulesoft.org/schema/mule/salesforce-composite"
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/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-composite
http://www.mulesoft.org/schema/mule/salesforce-composite/current/mule-salesforce-composite.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-composite:composite-config name="Salesforce_Composite_Salesforce_Composite"
   doc:name="Salesforce Composite Salesforce Composite">
		<salesforce-composite:oauth-user-pass-connection
      consumerKey="${consumerKey}"
      consumerSecret="${consumerSecret}"
      username="${username}"
      password="${password}"
      securityToken="${securityToken}"
      tokenEndpoint="${tokenEndpoint}" />
	</salesforce-composite:composite-config>
	<flow name="salesforce-composite-create-sobject-trees">
		<http:listener doc:name="Listener"
      path="/createSObjectTree"
      config-ref="HTTP_Listener_config"/>
		<ee:transform doc:name="Transform HTTP input for Create SObject Tree">
			<ee:message>
				<ee:set-payload><![CDATA[%dw 2.0
output application/java
---
payload.records map ((record , indexOfRecord) -> {
	"attributes": {
		"type": record.attributes.objectType,
		"referenceId": record.attributes.referenceId
	},
	"Name": record.Name,
	"Phone": record.Phone,
	"Website": record.Website,
	"NumberOfEmployees": record.NumberOfEmployees as Number,
	("ChildAccounts": {
		"records": record.ChildAccounts.records map ((record01, indexOfRecord01) -> {
			"attributes": {
				"type": record01.attributes.objectType,
				"referenceId": record01.attributes.referenceId
			},
			"Name": record01.Name,
			"Phone": record01.Phone,
			"Website": record01.Website,
			"NumberOfEmployees": record01.NumberOfEmployees as Number
		})
	}),
	"Contacts": {
		"records": record.Contacts.records map ((record01, indexOfRecord01) -> {
			"attributes": {
				"type": record01.attributes.objectType,
				"referenceId": record01.attributes.referenceId
			},
			"LastName": record01.LastName,
			"Email": record01.Email,
			"Title": record01.Title
		})
	}
})
]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<salesforce-composite:create-sobject-tree
      doc:name="Create SObject tree"
      config-ref="Salesforce_Composite_Salesforce_Composite"
      type="Account"/>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
</mule>
```

### [](#studio-の例の-http-入力)Studio の例の HTTP 入力

前の Studio の例の HTTP 入力の例は次のとおりです。

```json
{
   "records":[
      {
         "ChildAccounts":{
            "records":[
               {
                  "Phone":"4321098765",
                  "Website":"www.salesforce.com",
                  "attributes":{
                     "objectType":"Account",
                     "referenceId":"ref5"
                  },
                  "NumberOfEmployees":"10",
                  "Name":"ChildAccount1"
               }
            ]
         },
         "Contacts":{
            "records":[
               {
                  "Email":"sample@salesforce.com",
                  "Title":"President",
                  "attributes":{
                     "objectType":"Contact",
                     "referenceId":"ref6"
                  },
                  "LastName":"Jones"
               }
            ]
         },
         "Phone":"9876543210",
         "Website":"www.salesforce.com",
         "attributes":{
            "objectType":"Account",
            "referenceId":"ref4"
         },
         "NumberOfEmployees":"101",
         "Name":"CreateSobjectTreeAccount2"
      },
      {
         "Contacts":{
            "records":[
               {
                  "Email":"sample@salesforce.com",
                  "Title":"President",
                  "attributes":{
                     "objectType":"Contact",
                     "referenceId":"ref2"
                  },
                  "LastName":"Smith"
               },
               {
                  "Email":"sample@salesforce.com",
                  "Title":"Vice President",
                  "attributes":{
                     "objectType":"Contact",
                     "referenceId":"ref3"
                  },
                  "LastName":"Evans"
               }
            ]
         },
         "Phone":"1234567890",
         "Website":"www.salesforce.com",
         "attributes":{
            "objectType":"Account",
            "referenceId":"ref1"
         },
         "NumberOfEmployees":"100",
         "Name":"CreateSobjectTreeAccount1"
      }
   ]
}
```

## [](#pre-query-の例)Pre-Query の例

この例では、照会するオブジェクトのメタデータを提供し、このメタデータが含まれる 2 つの下位要求を生成して、下位要求を実行します。次のスクリーンショットは、Pre-Query の例のフローを示しています。

![Studio の Pre-Query フロー](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-prequery-flow.png)

Figure 1. この例のフローには、HTTP Listener コンポーネント、Transform コンポーネント、複数の Salesfore Composite 操作が含まれます。

### [](#http-リスナーを追加してフローの作成を開始する)HTTP リスナーを追加してフローの作成を開始する

`HTTP Listener`​ は、​`executeFlow`​ パスでイベントを検出したときにフローを開始します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ で​**「HTTP」**​を検索し、​**Listener**​ 操作を選択します。
3. **Listener**​ 操作をキャンバスにドラッグします。
4. \[Listener\] プロパティウィンドウで、​**\[Path (パス)\]**​ 項目を ​`/executeFlow`​ に設定します。

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

この ​`Transform Message`​ コンポーネントにより、作成するオブジェクトの名前が設定され、その名前が ​`Pre create`​ 操作に渡されます。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**「Transform Message」**​を検索します。
2. **Transform Message**​ コンポーネントをキャンバスの ​**\[Listener\]**​ の右にドラッグします。
3. 名前 ​`MyNewAccount`​ を入力します。
    
    ```dataweave
    %dw 2.0
    %output application/json
    ---
    {
       Name: "MyNewAccount"
    }
    ```

### [](#pre-create-操作を追加する)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. 次の変数を使用して項目を設定します。
    
    ![Salesforce Composite Connector のグローバル要素の設定](/mulesoft/current/ja-jp/salesforce-composite-connector/2.5/_images/salesforce-composite-global-config.png)
    
    Figure 2. Salesforce Composite Connector の再利用可能なグローバル要素を作成するために、\[General (一般)\] セクションを設定します。
5. \[Pre create\] プロパティウィンドウで、​**\[Type (種別)\]**​ 項目に ​`Account`​ を入力します。
6. プロパティファイル ​`src/main/mule/mule-app.properties`​ で、グローバル要素の変数の値を宣言して入力します。

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

この ​`Transform Message`​ コンポーネントにより、​`ID`​ 項目と ​`Type`​ 項目の値が設定され、これらの値が ​`Pre query`​ 操作に渡されます。

1. 2 つ目の ​**\[Transform Message\]**​ コンポーネントを ​**\[Pre create\]**​ の右にドラッグします。
2. 次の名前-値ペアを入力します。
    
    ```dataweave
    %dw 2.0
    %output application/json
    ---
    {
    "Id": payload.Id,
    "Fields" : ["Id", "Name"],
    "Type": "Account"
    }
    ```

### [](#pre-query-操作を追加する)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\] コンポーネントを追加する

この ​`Transform Message`​ 操作により、​`Pre query`​ 操作の出力が ​`Execute composite batch`​ 操作に渡されます。

1. 3 つ目の ​**\[Transform Message\]**​ コンポーネントを ​**\[Pre query\]**​ の右にドラッグします。
2. 出力を ​`payload`​ に設定します。
    
    ```dataweave
    %dw 2.0
    %output application/java
    ---
    [
    payload
    ]
    ```

### [](#execute-composite-batch-操作を追加する)Execute Composite Batch 操作を追加する

`Execute composite batch`​ 操作により、​`Pre create`​ 操作と ​`Pre query`​ 操作で作成された下位要求が実行されます。

Salesforce Composite の ​**Execute composite batch**​ 操作を 3 つ目の ​**\[Transform Message\]**​ の右にドラッグします。

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

この ​`Transform Message`​ 操作により、出力が JSON 形式に変換されます。

1. 4 つ目の ​**\[Transform Message\]**​ コンポーネントを ​**\[Execute composite batch\]**​ の右にドラッグします。
2. 出力を ​`application/json`​ に設定します。
    
    ```dataweave
    %dw 2.0
    %output application/json
    ---
    payload
    ```

### [](#pre-query-の例の-xml)Pre-Query の例の XML

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

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:salesforce-composite="http://www.mulesoft.org/schema/mule/salesforce-composite" 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/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-composite http://www.mulesoft.org/schema/mule/salesforce-composite/current/mule-salesforce-composite.xsd">
   <http:listener-config name="HTTP\_Listener\_config" doc:name="HTTP Listener config" >
      <http:listener-connection host="0.0.0.0" port="8081" />
   </http:listener-config>
   <salesforce-composite:composite-config name="Salesforce\_Composite\_Config" doc:name="Salesforce Composite Config" >
      <salesforce-composite:oauth-user-pass-connection consumerKey="${consumerKey}" consumerSecret="${consumerSecret}" username="${username}" password="${password}" securityToken="${securityToken}" />
   </salesforce-composite:composite-config>
   <flow name="composite-prequery-exampleFlow" >
      <http:listener doc:name="Listener" config-ref="HTTP\_Listener\_config" path="/executeFlow"/>
      <ee:transform doc:name="Transform Message" >
         <ee:message >
            <ee:set-payload ><!\[CDATA\[%dw 2.0
output application/java
---
{
   Name: "MyNewAccount"
}\]\]></ee:set-payload>
         </ee:message>
      </ee:transform>
      <salesforce-composite:pre-create type="Account" doc:name="Pre create" config-ref="Salesforce\_Composite\_Config">
      </salesforce-composite:pre-create>
      <ee:transform doc:name="Transform Message" >
         <ee:message >
            <ee:set-payload ><!\[CDATA\[output application/java
---
{
   "Id": payload.Id,
   "Fields" : \["Id", "Name"\],
   "Type": "Account"
}\]\]></ee:set-payload>
         </ee:message>
      </ee:transform>
      <salesforce-composite:pre-query doc:name="Pre query" config-ref="Salesforce\_Composite\_Config">
         <salesforce-composite:query >Select Name from Account WHERE Name LIKE '%:name %'
                    </salesforce-composite:query>
         <salesforce-composite:parameters ><!\[CDATA\[#\[output applicaton/java
---
{
   "name" : "MyNewAccount"
}\]\]\]></salesforce-composite:parameters>
      </salesforce-composite:pre-query>
      <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-composite:execute-composite-batch doc:name="Execute composite batch" config-ref="Salesforce\_Composite\_Config"/>
      <ee:transform doc:name="Transform Message" >
         <ee:message >
            <ee:set-payload ><!\[CDATA\[%dw 2.0
output application/json
---
payload\]\]></ee:set-payload>
         </ee:message>
      </ee:transform>
   </flow>
</mule>

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

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [Exchange を使用したコネクタ、テンプレート、およびサンプルの検出](https://docs.mulesoft.com/connectors/introduction/intro-use-exchange)
- [Exchange の Salesforce Composite Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-salesforce-composite-connector/)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)