Enter the configuration name.
Using Anypoint Studio to Configure Salesforce Pub/Sub Connector 1.0
Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files.
To add and configure a connector in Studio:
When you run the connector, you can view the app log to check for problems in real time, as described in View the App Log.
If you are new to configuring connectors in Studio, refer to Using Anypoint Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, refer to the Salesforce Pub/Sub Connector Reference.
Create a Mule Project
In Studio, create a new Mule project in which to add and configure the connector:
-
In Studio, select File > New > Mule Project.
-
Enter a name for your Mule project and click Finish.
Add the Connector to Your Mule Project
Add Salesforce Pub/Sub Connector to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and add the required dependencies to the project’s pom.xml
file:
-
In Mule Palette, click (X) Search in Exchange.
-
In Add Dependencies to Project, type
Salesforce Pub/Sub
in the search field. -
Click <Salesforce Pub/Sub> in Available modules.
-
Click Add.
-
Click Finish.
Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace.
Configure a Source
A source initiates a flow when a specified condition is met. You can configure one of these sources to use with Salesforce Pub/Sub Connector:
-
Subscribe Channel Listener
Subscribes to a streaming channel. This source provides channel-related notification settings for new events that occur after you subscribe.A channel must be published to Salesforce before a subscription to the channel is created. -
HTTP Listener
Initiates a flow each time it receives a request on the configured host and port -
Scheduler
Initiates a flow when a time-based condition is met
For example, to configure a Subscribe channel listener source, follow these steps:
-
In the Mule Palette view, select Subscribe channel listener.
-
Drag Subscribe channel listener to the Studio canvas.
-
Optionally change the value of the Display Name field.
-
Select a Channel Name from the dropdown field.
-
Select a Replay Option from the four types available:
-
Latest
Subscriber receives new events that are broadcast after the client subscribes.
-
Earliest
Subscriber receives all events, including past events that are within the retention window of the server and new events sent after subscription.
-
Custom replay id
Subscriber receives only events with a replay ID higher than the specified value.
-
Replay id from object store
Subscriber receives only events with a replay ID higher than the specified value in object store. If no value is found, it defaults to
Earliest
. Provide values for the Object Store Name and the Object Store Key fields to connect to the desired object store and retrieve the replay ID value. For more information on how to useReplay id from object store
, refer to Store the Replay ID in the Object Store.
-
-
Optionally, specify a value for the Batch events size field.
-
Click the plus sign (+) next to the Connector configuration field to configure a global element that can be used by all instances of the Subscribe channel listener source in the app.
-
In the Security tab, optionally specify the TLS information for the connector.
-
In the Advanced tab, optionally specify reconnection information, including a reconnection strategy.
-
Click Test Connection to confirm that Mule can connect with the specified server.
-
Click OK.
Store the Replay ID in the Object Store
To use the Replay id from object store
option for the Subscribe channel listener source, you must first save the replay ID value in the object store:
-
Add the Subscribe channel listener source, as described in Configure a Source, to the Studio flow.
-
In the Mule Palette view, select Store from Object Store Connector.
-
Drag Store to the Studio canvas.
-
Optionally change the value of the Display Name field.
-
Add a value for the Key field, such as replay ID. This is the key that is used later, when retrieving the replay ID from the object store.
-
Set a value for the Value field. This is the replay ID value that you want to store. In this example, it is
payload.replayId
. -
Optionally, change the default values for the Fail if present and Fail on null value fields. The value for Fail if present must always be
false
as you must use the same key to store a new value for the replay ID. -
Click the plus sign (+) next to the Object store field to configure the object store. This is the object store in which the replay ID value is stored and from where the source retrieves the replay ID value.
-
The values declared here for the Object store and Key fields are the same values that are used for the
Replay id from object store
option on the source.
Add a Connector Operation to the Flow
When you add a connector operation to your flow, you are specifying an action for that connector to perform.
To add an operation for Salesforce Pub/Sub Connector, follow these steps:
-
In Mule Palette, select Salesforce Pub/Sub and then select the desired operation.
-
Drag the operation onto the Studio canvas, next to the input source.
Configure a Global Element for the Connector
When you configure a connector, configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target Salesforce Pub/Sub system. Salesforce Pub/Sub Connector supports Basic Authentication, OAuth v2.0, OAuth JWT, OAuth Username Password, and OAuth SAML.
To configure the global element for Salesforce Pub/Sub Connector, follow these steps:
-
Select the operation in the Studio canvas.
-
In the General configuration screen for the operation, click the Add icon to access the global element configuration fields.
-
In the General tab, in Connection, select the authentication method to configure:
You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, refer to Anypoint Connector Configuration.
-
In the Advanced tab, optionally specify reconnection information, including a reconnection strategy.
-
Click Test Connection to confirm that Mule can connect with the specified server.
-
Click OK.
Basic Authentication
Enter the following information in the General tab of the Global Element Properties screen to configure Basic Authentication:
Field | User Action |
---|---|
Name |
|
Connection |
Select Basic Authentication. |
The following image shows an example of configuring Basic Authentication:
OAuth v2.0
Use OAuth 2.0 to delegate user authentication to the service hosting the user account. For more information, refer to Configuring OAuth 2.0 for Connectors or Configuring OAuth 2.0 for Connectors on CloudHub.
Enter the following information on the General tab of the global element configuration screen to configure OAuth v2.0 authentication:
Field | User Action |
---|---|
Name |
Enter the configuration name. |
Connection |
Select OAuth v2.0. |
Consumer Key |
Enter the OAuth consumer key, as registered with the service provider. |
Consumer Secret |
Enter the OAuth consumer secret, as registered with the service provider. |
Listener Config |
Enter the configuration for the HTTP listener that listens for requests on the access token callback endpoint. |
Callback Path |
Enter the path of the access token callback endpoint. |
Authorize Path |
Enter the path of the local HTTP endpoint that triggers the OAuth dance. |
The following image shows an example of configuring OAuth v2.0 authentication:
OAuth JWT
Enter the following information on the General tab of the global element configuration screen to configure OAuth JWT authentication:
Field | User Action |
---|---|
Name |
Enter the configuration name. |
Connection |
Select OAuth JWT. |
Consumer Key |
Enter the consumer key for the Salesforce connected app. |
Key Store |
Enter the path to the keystore used to sign data during authentication. |
Store Password |
Enter the password of the keystore. |
Principal |
Enter the username of the desired Salesforce user to take action on behalf of. |
The following image shows an example of configuring OAuth JWT authentication:
OAuth Username Password
Enter the following information on the General tab of the global element configuration screen to configure OAuth Username Password authentication:
Field | User Action |
---|---|
Name |
Enter the configuration name. |
Connection |
Select OAuth Username Password. |
Consumer Key |
Enter the consumer key for the Salesforce connected app. |
Consumer Secret |
Enter your application’s client secret (consumer secret in Remote Access Detail). |
Username |
Enter the username used to initialize the session. |
Password |
Enter the password used to authenticate the user. |
Principal |
Enter the username of the desired Salesforce user to take action on behalf of. |
The following image shows an example of configuring OAuth Username Password authentication:
OAuth SAML
Enter the following information on the General tab of the global element configuration screen to configure OAuth SAML authentication:
Field | User Action |
---|---|
Name |
Enter the configuration name. |
Connection |
Select OAuth SAML. |
Consumer Key |
Enter the consumer key for the Salesforce connected app. |
Key Store |
Enter the path to the keystore used to sign data during authentication. |
Store Password |
Enter the password of the keystore. |
Principal |
Enter the username of the desired Salesforce user to take action on behalf of. |
The following image shows an example of configuring OAuth SAML authentication:
Configure Additional Connector Fields
After you configure a global element for Salesforce Pub/Sub Connector, configure the other required fields for the connector. The required fields vary depending on which connector operation you use.
View the App Log
To check for problems, you can view the app log as follows:
-
If you’re running the app from Anypoint Platform, the app log output goes to the Anypoint Studio console window.
-
If you’re running the app using Mule from the command line, the app log output goes to your operating system console.
Unless the log file path is customized in the app’s log file (log4j2.xml
), you can also access the app log in the default location MULE_HOME/logs/<app-name>.log
. You can configure the location of the log path in the app log file log4j2.xml
.