Contact Us 1-800-596-4880

Using Anypoint Studio to Configure Salesforce Pub/Sub Connector 1.0 - Mule 4

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:

  1. In Studio, select File > New > Mule Project.

  2. 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:

  1. In Mule Palette, click (X) Search in Exchange.

  2. In Add Dependencies to Project, type Salesforce Pub/Sub in the search field.

  3. Click <Salesforce Pub/Sub> in Available modules.

  4. Click Add.

  5. 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:

  1. In the Mule Palette view, select Subscribe channel listener.

  2. Drag Subscribe channel listener to the Studio canvas.

  3. Optionally change the value of the Display Name field.

  4. Select a Channel Name from the dropdown field.

  5. 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 use Replay id from object store, refer to Store the Replay ID in the Object Store.

  6. Optionally, specify a value for the Batch events size field.

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

  8. In the Security tab, optionally specify the TLS information for the connector.

  9. In the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

  10. Click Test Connection to confirm that Mule can connect with the specified server.

  11. 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:

  1. Add the Subscribe channel listener source, as described in Configure a Source, to the Studio flow.

  2. In the Mule Palette view, select Store from Object Store Connector.

  3. Drag Store to the Studio canvas.

  4. Optionally change the value of the Display Name field.

  5. 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.

  6. 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.

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

  8. 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.

  9. 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:

  1. In Mule Palette, select Salesforce Pub/Sub and then select the desired operation.

  2. 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:

  1. Select the operation in the Studio canvas.

  2. In the General configuration screen for the operation, click the Add icon to access the global element configuration fields.

  3. 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.

  4. In the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

  5. Click Test Connection to confirm that Mule can connect with the specified server.

  6. 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

Enter the configuration name.

Connection

Select Basic Authentication.

The following image shows an example of configuring Basic Authentication:

Basic Authentication is selected in the Connection section and authentication fields are completed in the General tab.

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 v2.0 is selected in the Connection section and authentication fields are completed in the General tab.

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 JWT is selected in the Connection section and authentication fields are completed in the General tab.

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 Username Password is selected in the Connection section and authentication fields are completed in the General tab.

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:

OAuth SAML is selected in the Connection section and authentication fields are completed in the General tab.

Configure Additional Connector Fields

After you configure a global element for Salesforce Pub/Sub Connector, configure the 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.

View on GitHub