---
schema_version: "1"
id: 1ce79b11c827dc4e808dbdf2a8d5474808b73e97be25ec781b2a0c1c102017b1
title: Salesforce Connector 11.4 Additional Configuration Information
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/salesforce-connector/11.4/salesforce-connector-config-topics.md
canonical_url: https://docs.mulesoft.com/salesforce-connector/11.4/salesforce-connector-config-topics
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 30bdd7fbc05cf74ae8c5327356d9523abcafa904c2e1e321cb48fe930e87a7e7
description: MuleSoft Documentation Site
release: "11.4"
latest: false
---
---
product: Salesforce Connector
version: 11.4
---

# Salesforce Connector 11.4 Additional Configuration Information

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Configure Anypoint Connector for Salesforce (Salesforce Connector) to:

- Load data in batches

- Specify a Lead ID for a Lead Convert Request operation

- Update field values to `null`

- Generate an OAuth 2.0 keystore file

- Invoke an APEX Rest method

## Load Data in Batches

The Salesforce Bulk API loads batches of your organization’s data into Salesforce. Salesforce
Connector provides the **Create** and **Create Bulk** operations for working with the Bulk API.

For all bulk operations, Salesforce handles the creation process in the background. The connector
replies with a `BatchInfo` object, which contains the ID of the batch and the ID of the job it
creates to upload the batched objects.

In Salesforce, you can track the status of bulk data load jobs and their associated batches by using
the job ID for Bulk Data Load Jobs:

1.  Click **<YOUR\_NAME > Setup > Monitoring > Bulk Data Load Jobs**.

2.  Click the job ID to view the job detail page.

The job detail page includes a list of all the batches related to the job. The list provides
`View Request` and `View Response` links for each batch. If the batch is a CSV file, the links
return the request or response in CSV format. If the batch is an XML file, the links return the
request or response in XML format.

## Specify a Lead Convert Request ID

To specify a lead ID for a `LeadConvertRequest` operation, use a DataWeave transform message. When
you use a transform message before the operation, you must add the `leadId` field, because the
metadata for the operation doesn’t specify it:

```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>
```

## Update Field Values to Null

To set field values to `null`, use an **Update** or **Upsert** request operation and insert the
names of the fields you want to nullify in the **Transform Message** component’s **fieldsToNull**
field:

![Transform Message properties window for setting a field to null](/mulesoft/current/en-us/salesforce-connector/11.4/_images/salesforce-connector-10-set-fields-to-null.png)

Figure 1. Specify the field names you want to nullify in the **Transform Message** component
**fieldsToNull** field.

## Generate a Keystore File

Salesforce Connector uses the Bouncy Castle cryptographic library to load the certificate from the
keystore and sign the payload for the authentication requests.

The library has a [vulnerability (CVE-2018-5382)](https://nvd.nist.gov/vuln/detail/CVE-2018-5382)
that relates to the BKS-V1 keystore file type. By default, Salesforce Connector uses JKS or PKCS12
keystores. Avoid using BKS-V1 keystore files, as documented in the
[Bouncy Castle proposed solution](https://www.kb.cert.org/vuls/id/306792).

To generate a JKS keystore file:

1.  Go to your Mule workspace and open the command prompt (for Windows) or Terminal (for Mac).

2.  Enter this command:

    ```none
    keytool -genkeypair -alias salesforce-cert -keyalg RSA -keystore salesforce-cert.jks
    ```

3.  Enter the following information:

    - Password for the keystore

    - Your first name and last name

    - Your organization unit

    - Your city and state, and the two-letter code for your country

      The system generates a Java keystore file (JKS format) that contains a private or public key
      pair in your workspace.

4.  Provide the file path for the keystore in your connector configuration.

    Enter this command:

    ```none
    keytool -exportcert -alias salesforce-cert -file salesforce-cert.crt -keystore salesforce-cert.jks
    ```

    The system exports the public key from the keystore into the workspace. This is the public key
    to enter in your Salesforce instance.

5.  Verify that you have both the keystore (`salesforce-cert.jks`) and the public key
    (`salesforce-cert.crt`) files in your workspace.

## Invoke APEX Rest Method

The Invoke APEX Rest operation enables users to invoke a method from an Apex class that is exposed
as a REST service. The following example shows a payload for this operation:

```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>
```

In this example:

- The `body` element contains `URLParameters`, which is a map containing the parameters that replace
  the wildcards in the path of the REST resource described in the Apex class.

  For example, if the REST resource is set to
  `@RestResource(urlMapping='/myResource/*/mySubResource/*')`, the value of `Parameter1` replaces
  the first `*`, and the value of `Parameter2` replaces the second `*`.

- Key names must start with `Parameter`, followed by a number that shows the position of the `*` to
  be replaced.

- After the `URLParameters` block, provide the content of the `body` value to send to the REST
  resource, as shown in the example `account` block.

- The `headers` and `cookies` fields describe the headers and cookies to pass along with the HTTP
  request to the desired service.

- The `queryParameters` field describes the query parameters to use, and the keys and values in this
  map that the specified Apex Class must accept.

## See Also

- [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)

- [Salesforce Help](https://help.salesforce.com)
