Contact Us 1-800-596-4880

Using Anypoint Studio to Configure Microsoft Dynamics 365 Connector 2.6 - 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 Using Anypoint Studio to Configure a Connector. If, after reading this topic, you need additional information about the connector fields, see the Microsoft Dynamics 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 Microsoft Dynamics 365 Connector 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 dynamics 365 in the search field.

  3. Click Microsoft Dynamics 365 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 Microsoft Dynamics 365 Connector:

  • On new object
    starts your app when an object is created

  • On modified object
    Starts your app when an object is modified

  • On deleted object
    Starts your app when an object is deleted

  • 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 On New Object source, follow these steps:

  1. In the Mule Palette view, select Dynamics 365 > On new object.

    On New Object source selected in Mule Palette view
  2. Drag On new object to the Studio canvas.

  3. On the On new object General configuration screen, optionally change the value of the Display Name field.

  4. Specify a value for the Entity type field, for example account.
    The entity type string describes business data that is defined in the Microsoft Dynamics 365 instance.

    General configuration fields for On New Object source
  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 On new object source 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 Microsoft Dynamics 365 Connector, follow these steps:

  1. In the Mule Palette view, select Dynamics 365 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 Microsoft Dynamics 365 system. Microsoft Dynamics 365 Connector supports the OAuth connection, OAuth client credentials, and OAuth username and password authentication types.

To configure the global element for Microsoft Dynamics 365 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 authentication method to configure:

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

OAuth 2.0 Authentication

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.

OAuth 2.0 delegates user authentication to the service hosting the user account.

To configure OAuth 2.0 authentication:

  1. Enter the following required information on the General tab of the Global Element Properties screen:

    • Resource
      Resource URL for accessing the Microsoft Dynamics 365 instance

    • Consumer Key
      OAuth consumer key registered with the service provider

    • Consumer Secret
      OAuth consumer secret registered with the service provider

    • Listener Config
      A reference to the listener that catches the access token callback endpoint

    • Callback Path
      The path of the access token callback endpoint

    • Authorize Path
      The path of the local HTTP endpoint that triggers the OAuth dance

      The following image shows an example OAuth Connection configuration using property placeholder values:

      Global element configuration for OAuth Connection

      For the Authorization url and Access token url, replace the variables <authorization-url> and <access-token> with your own authorization and access URL tokens.

  2. Call the /authorize path by pasting it into a web page.

  3. On the returned web page, perform the authorization steps by providing your credentials, and so on.

After you complete the proper authorization steps, the web page is automatically redirected to the path you configured inside the Callback Path field, for example, /oauth2callback. This redirect contains additional properties, including an access code for the connector to use.

Once the app is authorized, the connector refreshes the token automatically. However, in the event of a restart, you must call the /authorize path again and perform the authorization steps.

OAuth 2.0 Client Credentials Authentication

With OAuth 2.0 client credentials authentication, clients authenticate themselves by using a client ID and client secret.

To configure OAuth 2.0 client credentials authentication, enter the following required information on the General tab of the Global Element Properties screen:

  • Endpoint

    Location where to send the requests

  • Client id

    The OAuth client ID, as registered with the service provider

  • Client secret

    The OAuth client secret, as registered with the service provider

The following image shows an example OAuth client credentials configuration using property placeholder values:

Global element configuration for OAuth 2.0 client credentials

OAuth 2.0 Username and Password Authentication

With OAuth 2.0 username and password authentication, the app makes a POST request that includes a username and password. If the credentials are valid, the server returns an access token.

To configure OAuth 2.0 username and password authentication, enter the following information on the General tab of the Global Element Properties screen:

  • Username
    User name used to initialize the session.

  • Password
    Password used to authenticate against the proxy

  • Resource
    Application ID URI of the web API’s secured resource

  • Client ID
    Application ID assigned to your app when you registered it with Azure AD. You can find this in the Azure Portal:

    1. Go to the Azure portal.

    2. Click Active Directory, and select the directory.

    3. Click the application, and then click Configure.

  • Client Secret
    App secret that you created in the app registration portal for your app

    The app secret should not be used in a native app, because client secrets cannot be reliably stored on devices. It is required for web apps and web APIs, which have the ability to store the client secret securely on the server side.

  • Token Request Endpoint
    URL of the OAuth token request server

The following image shows an example OAuth username and password configuration using property placeholder values:

Global element configuration for OAuth 2.0 username and password

Run a Flow

  1. In Package Explorer, right-click your project’s name and click Run As > Mule Application.

  2. Check the console to see when the application starts. You should see messages such as these if no errors occur:

************************************************************
INFO  2019-10-14 22:12:42,003 [main] org.mule.module.launcher.DeploymentDirectoryWatcher:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Mule is up and kicking (every 5000ms)                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO  2019-10-14 22:12:42,006 [main] org.mule.module.launcher.StartupSummaryDeploymentListener:
**********************************************************
*  - - + DOMAIN + - -               * - - + STATUS + - - *
**********************************************************
* default                           * DEPLOYED           *
**********************************************************

************************************************************************
* - - + APPLICATION + - -   * - - + DOMAIN + - -  * - - + STATUS + - - *
************************************************************************
* myapp                     * default             * DEPLOYED           *
************************************************************************

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, see the Examples topic for more configuration information.

View on GitHub