Use Studio to Configure Salesforce Commerce Cloud B2C Data Connector - 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, as described in View the App Log.

If you are new to configuring connectors in Studio, see Use Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, see the B2C Data 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 <connector name> to your Mule project to automatically populate the XML code with the connector’s namespace and schema location and to add the required dependencies to the project’s pom.xml file:

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

  2. In the Add Dependencies to Project window, type commerce cloud b2c in the search field.

  3. Click Commerce Cloud B2C Data Connector 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 input sources to use with B2C Data Connector:

  • 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 an HTTP listener, follow these steps:

  1. In the Mule Palette view, select HTTP > Listener.

  2. Drag Listener to the Studio canvas.

  3. On the Listener configuration screen, optionally change the value of the Display Name field.

  4. Specify a value for the Path field.

  5. Click the plus sign (+) next to the Connector configuration field to configure a global element that can be used by all instances of the HTTP listener in the app.

  6. On the General tab, specify the connection information for the connector.

  7. On the TLS tab, optionally specify the TLS information for the connector.

  8. On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

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

  10. Click OK.

Add a Connector Operation to the Flow

When you add a connector operation to your flow, you immediately define a specific operation for that connector to perform.

To add an operation for B2C Data Connector, follow these steps:

  1. In the Mule Palette view, select B2C Data Connector and then select the desired operation.

  2. Drag the operation onto the Studio canvas and to the right of the input source.

Configure a Global Element for the Connector

When you configure a connector, it’s best to 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 Commerce Cloud Data API system. B2C Data Connector supports Oauth2 Application Connection Provider authentication for connections.

To configure the global element for B2C Data Connector, follow these steps:

  1. Select the operation in the Studio canvas.

  2. In the configuration screen for the operation, click the plus sign (+) next to the Connector configuration field to access the global element configuration fields.

  3. On the General tab, in Connection, select the Oauth 2 Application Connection Provider authentication method.

  4. Configure the following fields:

    • Base Uri
      URI that accesses the Data API

    • Client Id
      ID of the client account created with Salesforce Commerce

    • Client Secret
      Secret of the client account created with Salesforce

    • Token URL
      Access token URL

    • Scopes
      Scopes for access to the Data API

      The following image shows an example of the OAuth 2 Application Connection Provider configuration:

      OAuth 2 Application Connection Provider authentication configuration

      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, see Anypoint Connector Configuration.

      This example adds credentials to the application properties file and references it using placeholders.

  5. On the Advanced tab, optionally specify reconnection information, including a reconnection strategy.

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

    Test connection returns a `Test connection successful` message
  7. Click OK.

A successful OAuth2 Application Connection Provider configuration looks like this:

   <commerce-cloud-dataapi:config name="Commerce_Cloud_Data_Connector_Config" doc:name="Commerce Cloud Data Connector Config" >
		<commerce-cloud-dataapi:am-oauth2-connection baseUri="${data.baseUri}" >
			<commerce-cloud-dataapi:oauth-client-credentials clientId="${data.clientId}" clientSecret="${data.clientSecret}" tokenUrl="${data.tokenUrl}" scopes="${data.scopes}"/>
		</commerce-cloud-dataapi:am-oauth2-connection>
   </commerce-cloud-dataapi:config>

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 output is visible in the Anypoint Studio console window.

  • If you’re running the app using Mule from the command line, the app log is visible in your OS console.

Unless the log file path is customized in the app’s log file (log4j2.xml), you can also view the app log in the default location MULE_HOME/logs/<app-name>.log.

Next Step

After you configure a global element and connection information, you can try the example for the connector.