Using Anypoint Studio to Configure ServiceNow Connector 6.16 - 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 ServiceNow 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 ServiceNow 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:
-
In the Mule Palette view, click (X) Search in Exchange.
-
In the Add Dependencies to Project window, type
servicenow
in the search field. -
Click ServiceNow Connector 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 ServiceNow 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:
-
In the Mule Palette view, select HTTP > Listener.
-
Drag Listener to the Studio canvas.
-
On the Listener configuration screen, optionally change the value of the Display Name field.
-
Specify a value for the Path 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 HTTP Listener in the app.
-
On the General tab, specify the connection information for the connector.
-
On the TLS tab, optionally specify the TLS information for the connector.
-
On 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.
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 ServiceNow Connector, follow these steps:
-
In the Mule Palette view, select ServiceNow and then select the desired operation.
-
Drag the operation onto the Studio canvas and to the right of the 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 ServiceNow system. ServiceNow Connector supports the Basic and OAuth2 authentication types.
To configure the global element for ServiceNow Connector, follow these steps:
-
Select the operation in the Studio canvas.
-
In the configuration screen for the operation, click the plus sign (+) next to the Connector configuration field to access the global element configuration fields.
-
On 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, see Anypoint Connector Configuration.
-
On 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
-
In the ServiceNow Config General tab, select Basic Authentication from the Connection drop-down list.
-
Provide the following values for Basic authentication:
Field Description Username
Name used to log in to ServiceNow
Password
Password that corresponds to the user name
Service Address
The WSDL endpoint
ServiceNow Version
The ServiceNow version to use
User table list
Custom tables for a user who is logged in
-
Click OK.
Basic Authentication HTTP Message Dispatcher Provider
-
Click the Transport tab.
-
From Transport Configuration, select Basic auth http message dispatcher provider.
-
Enter the following required values:
Field | Description |
---|---|
User Name |
Name used to log in to ServiceNow |
Password |
Password that corresponds to the user name |
Basic Authentication HTTP Requester Based Transport Provider
-
Click the Transport tab.
-
From Transport Configuration, select Http requester based transport provider.
-
Select the Requester config or click the green plus sign to create a new one.
-
Specify the required values:
Field | Description |
---|---|
Host |
The WSDL endpoint |
Username |
User name for logging in to ServiceNow |
Password |
Password that corresponds to the user name |
OAuth2.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.
To set up OAuth 2.0 authentication:
-
In the ServiceNow Config General tab, select OAuth 2.0 Authorization Code from the Connection drop-down list.
-
Specify the values for the OAuth connection:
Field | Description |
---|---|
Service Address |
ServiceNow’s instance endpoint |
Consumer key |
Client ID from the registered application |
Consumer secret |
Client secret from the registered application |
Authorization url |
Endpoint for initiating the OAuth dance |
Access token url |
Endpoint for retrieving the access token |
Resource owner id |
OAuth client ID configured in your instance’s application registries |
Listener config |
HTTP Listener configuration |
Callback path |
Path of the access token callback endpoint |
Authorize path |
Path of the local HTTP endpoint that triggers the OAuth dance |
External callback url |
If the callback endpoint is behind a proxy or should be accessed through a non-direct URL, use this parameter to specify the URL the OAuth provider should use to access the callback. |
To reach ServiceNow endpoints using an OAuth 2.0 connection, you must manually perform the OAuth dance after starting your Mule app:
-
Start the OAuth dance by doing either of the following:
-
If the Resource owner id parameter is set in the OAuth configuration, use the following URL in the browser. Substitute
<resourceOwnerId>
with the correct value:http://localhost:8081 authorize?resourceOwnerId=<resourceOwnerId>
-
If the Resource owner id parameter is not set in the OAuth configuration, use the following URL:
http://localhost:8081/authorize
-
-
On the Login screen, enter the login details for the ServiceNow instance and click Login .
-
On the Authorize screen, click Allow.
You should see a confirmation that the OAuth dance succeeded and the access token was retrieved.
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 configuring ServiceNow Connector in Studio, see the Examples to experiment with the connector.