---
schema_version: "1"
id: 8cbf6e40c80b2acdeba7dd3c7410f844d77c95927328829e3d342d36f91507ff
title: Salesforce Connector 10.20 の追加設定情報
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/salesforce-connector/10.20/salesforce-connector-config-topics.md
canonical_url: https://docs.mulesoft.com/jp/salesforce-connector/10.20/salesforce-connector-config-topics
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 99f9fd7541ef80383e8b51c7c644c8a50e59236c8a439eae14ee19dfbf8253b7
description: MuleSoft Documentation Site
release: "10.20"
latest: false
---
# Salesforce Connector 10.20 の追加設定情報

次の目的で Salesforce 用 Anypoint Connector (Salesforce Connector) を設定します。

- データのバッチ読み込み
- Lead Convert Request 操作のリード ID の指定
- `null`​ への項目値の更新
- OAuth 2.0 キーストアファイルの生成
- APEX Rest メソッドの呼び出し

## [](#batchdata)データのバッチ読み込み

Salesforce Bulk API は、組織のデータのバッチを Salesforce に読み込みます。Salesforce Connector には、Bulk API と連動する ​**Create**​ 操作と ​**Create Bulk**​ 操作が用意されています。

一括操作はすべて、Salesforce が作成プロセスをバックグラウンドで処理します。コネクタは ​`BatchInfo`​ オブジェクトで応答します。このオブジェクトにはバッチの ID と、バッチオブジェクトをアップロードするために作成するジョブの ID が含まれます。

Salesforce で、一括データ読み込みジョブのジョブ ID を使用して、一括データ読み込みジョブと関連するバッチの状況を追跡できます。

1. **<​YOUR\_NAME​ > \[Setup (設定)\] > \[Monitoring (監視)\] > \[Bulk Data Load Jobs (一括データ読み込みジョブ)\]**​ をクリックします。
2. ジョブ ID をクリックすると、ジョブの詳細ページが表示されます。

ジョブの詳細ページに、ジョブに関連する全バッチのリストが表示されます。リストには、各バッチの \[​`View Request`​ (要求を表示)\] および \[​`View Response`​ (応答を参照)\] リンクが表示されます。バッチが CSV ファイルの場合は、これらのリンクから CSV 形式の要求や応答が返されます。バッチが XML ファイルの場合は、これらのリンクから XML 形式の要求や応答が返されます。

## [](#leadconvert)リード取引開始要求 ID

`LeadConvertRequest`​ 操作でリード ID を指定するには、DataWeave transform message を使用します。操作の前で transform message を使用するには、操作のメタデータで指定されないため ​`leadId`​ 項目を追加する必要があります。

```example
<ee:transform doc:name="Transform Message" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
    leadId: "LEAD_ID",
    accountId: "ACCOUNT_ID",
    convertedStatus: "Closed - Converted",
    doNotCreateOpportunity: true
} as Object {
    class : "org.mule.extension.salesforce.api.core.LeadConvertRequest"
}]]></ee:set-payload>
            </ee:message>
</ee:transform>
```

## [](#項目値を-null-に更新する)項目値を Null に更新する

項目値を ​`null`​ に設定するには、​**Update**​ または ​**Upsert**​ 要求操作を使用して、null にする項目の名前を ​**Transform Message**​ コンポーネントの ​**fieldsToNull**​ 項目に挿入します。

![項目を null に設定する](/mulesoft/current/ja-jp/salesforce-connector/10.20/_images/salesforce-connector-10-set-fields-to-null.png)

Figure 1. **Transform Message**​ コンポーネントの ​**fieldsToNull**​ 項目で null にする項目の名前を指定します。

## [](#generate-keystore)キーストアファイルの生成

Salesforce Connector は、Bouncy Castle 暗号ライブラリを使用して、キーストアから証明書を読み込み、認証要求のペイロードに署名します。

ライブラリには、BKS-V1 キーストアファイル種別に関連する [脆弱性 (CVE-2018-5382)](https://nvd.nist.gov/vuln/detail/CVE-2018-5382)​ があります。デフォルトでは、Salesforce Connector は JKS または PKCS12 キーストアを使用します。 [Bouncy Castle で提案されるソリューション](https://www.kb.cert.org/vuls/id/306792)​に記載されているように BKS-V1 キーストアファイルを使用することは避けてください。

JKS キーストアファイルを生成する手順は、次のとおりです。

1. Mule ワークスペースに移動し、コマンドプロンプト (Windows) またはターミナル (Mac) を開きます。
2. 次のコマンドを入力します。
    
    ```none
    keytool -genkeypair -alias salesforce-cert -keyalg RSA -keystore salesforce-cert.jks
    ```
3. 次の情報を入力します。
    
    - キーストアのパスワード
    - 自身の姓名
    - 自身の組織単位
    - 都道府県と 2 文字の国コード
        
        システムが、ワークスペースに非公開キーと公開キーのペアが含まれる Java キーストアファイル (JKS 形式) を生成します。
4. コネクタ設定でキーストアのファイルパスを指定します。
    
    次のコマンドを入力します。
    
    ```none
    keytool -exportcert -alias salesforce-cert -file salesforce-cert.crt -keystore salesforce-cert.jks
    ```
    
    システムが、キーストアからワークスペースに公開鍵をエクスポートします。これは、Salesforce インスタンスに入力する公開キーです。
5. ワークスペースにキーストア (​`salesforce-cert.jks`​) と公開キー (​`salesforce-cert.crt`​) の両方のファイルがあることを確認します。

## [](#invoke-apex-rest-method)Invoke APEX Rest Method

Invoke APEX Rest 操作を使用すると、ユーザーは REST サービスとして公開されている Apex クラスからメソッドを呼び出すことができます。次の例は、この操作のペイロードを示しています。

```example
<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[output application/java
---
{
	body: {
		URLParameters: {
			Parameter1: "parameter1Value",
			Parameter2: "parameter2Value"
		},
		account: {
			Name: "Example",
			AccountNumber: "55"
		}
	},
	headers: {
		header1:"header1Value"
	},
	cookies: {
		cookie1:"cookie1Value"
	},
	queryParameters: {
		queryParam1Name:"queryParam1Value",
		queryParam2Name:"queryParam2Value"
	}
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
```

例について説明します。

- `body`​ 要素に含まれる ​`URLParameters`​ は、Apex クラスに記述されている REST リソースのパス内のワイルドカードを置き換えるパラメーターが含まれるマップです。
    
    たとえば、REST リソースが ​`@RestResource(urlMapping='/myResource/\​**/mySubResource/**​')`​ に設定されている場合、​`Parameter1`​ の値で 1 番目の ​`*`​ が置き換えられ、​`Parameter2`​ の値で 2 番目の ​`*`​ が置き換えられます。
- キー名は ​`Parameter`​ で始まり、その後に、置き換える ​`*`​ の位置を示す数値が続く必要があります。
- `URLParameters`​ ブロックの後に、REST リソースに送信する ​`body`​ 値のコンテンツを指定します (例の ​`account`​ ブロックを参照)。
- `headers`​ および ​`cookies`​ 項目では、HTTP 要求と共に目的のサービスに渡すヘッダーと Cookie を記述します。
- `queryParameters`​ 項目では、使用するクエリパラメーターのほか、指定した Apex クラスで受け入れられる必要があるこのマップ内のキーと値を記述します。

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

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