Create a Connection

Before you can build an integration, you have to create the connections to the applications with which you want to share data.

To create a connection in Oracle Integration:

  1. In the left navigation pane, click Home > Integrations > Connections.

  2. Click Create.

    Note:

    You can also create a connection in the integration canvas of:
  3. In the Create Connection — Select Adapter dialog, select the adapter to use for this connection. To find the adapter, scroll through the list, or enter a partial or full name in the Search field and click Search iconSearch.

  4. In the Create Connection dialog, enter the information that describes this connection.

    1. Enter a meaningful name to help others find your connection when they begin to create their own integrations. The name you enter is automatically added in capital letters to the Identifier field. If you modify the identifier name, don't include blank spaces (for example, SALES OPPORTUNITY).
    2. Enter optional keywords (tags). You can search on the connection keywords on the Connections page.
    3. Select the role (direction) in which to use this connection (trigger, invoke, or both). Only the roles supported by the adapter are displayed for selection. When you select a role, only the connection properties and security policies appropriate to that role are displayed on the Connections page. If you select an adapter that supports both invoke and trigger, but select only one of those roles, you'll get an error when you try to drag the adapter into the section you didn't select. For example, let's say you configure a connection for the Oracle Service Cloud (RightNow) Adapter as only an invoke. Dragging the adapter to a trigger section in the integration produces an error.
    4. Enter an optional description of the connection.
  5. Click Create.

    Your connection is created. You're now ready to configure the connection details, such as connection properties, security policies, connection login credentials, and (for certain connections) agent group.

Configure Connection Properties for Invoke Connections

Configure connection security to invoke a protected target service with the REST Adapter.

  1. Go to the Connection Properties section.
    The Connection Properties dialog is displayed.
  2. From the Connection Type list, select the type to use:

    The swagger, RAML, and metadata catalogs are commonly used, language agnostic standards to define the capabilities of a service. The REST Adapter can parse these resource definitions, discover resources, and understand how to interact with these resources with a minimal amount of user intervention. If the target API does not define a resource model in one of these formats, select the REST API Base URL as the connection type, specify the base URL of the service, and model the request and the expected response using the Adapter Endpoint Configuration Wizard.

    • Open API (1.0/2.0/3.0) URL
    • REST API Base URL

    • Metadata Catalog URL

    • Swagger Definition URL

    • RAML Definition URL

    Note:

    The Metadata Catalog URL, Swagger Definition URL, and RAML Definition URL connection types have been deprecated. Oracle recommends that you use a different connection type.
  3. From the TLS Version (Optional) list, it is recommended that you not select a value for the Transport Layer Security (TLS) version of the target server. Oracle Integration automatically uses the latest TLS version for SSL communication. TLSv1 is no longer supported. If you previously configured a connection in a version prior to Oracle Integration Generation 2 to use TLSv1.1, either update the connection by not selecting a value for this field or select TLSv1.2.

    The TLS protocol provides privacy and data integrity between two communicating computer applications.

    • TLSv1.1

    • TLSv1.2

  4. In the Connection URL field, specify the endpoint URL to use based on your selection in Step 2. The connection URL can be both HTTP and HTTPS.
    Type Endpoint Example
    Open API (1.0/2.0/3.0) URL
    https://hostname:port/ic/api/integration/v1/flows/rest/INTEGRATION_NAME/v1/metadata/openapi

    REST API Base URL

    https://hostname:port/ic/api/integration/v1/flows/rest/INTEGRATION_NAME/v01/

    Metadata Catalog URL

    https://hostname:port/Test/mdcatalogmain.json

    Swagger Definition URL

    https://hostname:port/Test/application.json

    RAML Definition URL

    https://hostname:port//Test/fullapi2.raml
  5. If you are configuring the REST Adapter for use with a two-way SSL-enabled server, enter information in the following fields.
    1. In the Enable two way SSL for outbound connections field, select Yes.
    2. In the Identity keystore alias name field, enter the key alias name from the keystore file that you specified when importing the identity certificate.

Configure Connection Security

Configure security for your REST Adapter connection by selecting the security policy and specifying the required details.

  1. Go to the Security section.
  2. Select the security policy to use. If you selected the Invoke role or the Trigger and Invoke role during REST Adapter connection creation, the page is refreshed to display various login credential fields. You must already have created your client application to complete the necessary fields.

    The following security policy restrictions apply when configuring a REST Adapter connection with the trigger and invoke role on the Connections page:

    • If you select Basic Authentication, it can be used as a trigger and an invoke.
    • If you select any other security policy, it can only be used as an invoke. Dragging the connection to the trigger area causes an exception error to be displayed.
    • For existing integrations, the above restrictions do not apply when editing the REST Adapter in the Adapter Endpoint Configuration Wizard.

    Note:

    The following standard OAuth security policies are implemented to work with providers that are implemented as illustrated in RFC 6749.
    • OAuth Resource Owner Password Credentials
    • OAuth Client Credentials
    • OAuth Resource Owner Password Credentials
    In case the standard policy doesn't work, it is recommended that you use the OAuth Custom Two Legged or OAuth Custom Three Legged security policy.

Configure Security Policies for Trigger Connections

Selected Security Policy Description Fields
OAuth2.0
  • Supports HTTP bearer authentication.
  • The client should send the OAuth 2.0 bearer token in the HTTP headers.

See Authenticate Requests for Invoking Oracle Integration Flows.

No fields are displayed.
Basic Authentication
  • Supports HTTP basic authentication.
  • The client should send the username/password in the HTTP headers.
No fields are displayed.
OAuth 2.0 or Basic Authentication The client can use any of the OAuth 2.0 bearer tokens or the HTTP Basic Authentication header. No fields are displayed.

Configure Security Policies for Invoke Connections

Note:

OAuth Authorization Code Credentials, OAuth Custom Three Legged Flow, and OAuth Custom Two Legged Flow security types, the connection is only successful after you click the Provide Consent button. Configuring all the details alone is not sufficient.

Note:

Testing a REST Adapter connection configured with the HTTP basic authentication security policy and a role connection of Trigger and Invoke or Invoke does not validate the credentials and simply opens a connection to the provided URL. To validate the endpoint and credentials, the REST Adapter must invoke an API that is idempotent.
Selected Security Policy Fields

AWS Signature Version 4

  • Access Key — Enter the key obtained when you created your Amazon security credentials.

  • Secret Key — Enter the key obtained when you created your Amazon security credentials.

  • Confirm Secret Key — Enter the key a second time.

  • AWS Region — Select the region in which the AWS server is hosted.

  • Service Name — Select the AWS service to which to connect.

Basic Authentication

  • Username — The name of a user who has access to the destination web service.

  • Password — Enter the password.

  • Confirm Password — Reenter the password.

OAuth Client Credentials

  • Access Token URI — The URL from which to obtain the access token.

  • Client Id — The client identifier issued to the client during the registration process.

  • Client Secret — The client secret.

  • Confirm Client Secret — Reenter the client secret.

  • Scope — The scope of the access request. Scopes enable you to specify which type of access you need. Scopes limit access for the OAuth token. They do not grant any additional permission beyond that which the user already possesses.

  • Auth Request Media Type — The format of the data you want to receive. This is an optional parameter that can be kept blank. For example, if you are invoking Twitter APIs, you do not need to select any type.

  • Client Authentication — You can optionally configure OAuth flows with client authentication. This is similar to the Postman user interface feature for configuring client authentication.

    • Send client credentials as basic auth header: Pass the client ID and client secret in the header as basic authentication.
    • Send client credentials in body: Pass the client ID and client secret in the body as form fields.

OAuth Resource Owner Password Credentials

  • Access Token URI — The URL from which to obtain the access token.

  • Client Id — The client identifier issued to the client during the registration process.

  • Client Secret — The client secret.

  • Confirm Client Secret — Reenter the client secret.

  • Scope — The scope of the access request. Scopes enable you to specify which type of access you need. Scopes limit access for the OAuth token. They do not grant any additional permission beyond that which the user already possesses.

  • Auth Request Media Type — The format of the data you want to receive.

  • Username — The resource owner’s user name.

  • Password — The resource owner’s password.

  • Confirm Password — Reenter the password.

  • Client Authentication — You can optionally configure OAuth flows with client authentication. This is similar to the Postman user interface feature for configuring client authentication.

    • Send client credentials as basic auth header: Pass the client ID and client secret in the header as basic authentication.
    • Send client credentials in body: Pass the client ID and client secret in the body as form fields.
OAuth Authorization Code Credentials
  • Client Id — The client identifier issued to the client during the registration process.

  • Client Secret — The client secret.

  • Confirm Client Secret — Reenter the client secret.

  • Authorization Code URI — The URI from which to request the authorization code.

  • Access Token URI — URI to use for the access token.

  • Scope — The scope of the access request. Scopes enable you to specify which type of access you need. Scopes limit access for the OAuth token. They do not grant any additional permission beyond that which the user already possesses.

  • Client Authentication — You can optionally configure OAuth flows with client authentication. This is similar to the Postman user interface feature for configuring client authentication.

    • Send client credentials as basic auth header: Pass the client ID and client secret in the header as basic authentication.
    • Send client credentials in body: Pass the client ID and client secret in the body as form fields.

OAuth Custom Three Legged Flow

See Configure the REST Adapter to Consume a REST API Protected with OAuth Custom Three Legged Flow Token-Based Authentication to learn more about this security policy.

  • Authorization Request — The client application URL to which you are redirected when you provide consent. The authorization server sends a callback to Oracle Integration to obtain an access token for storage. When you create your client application, you must register a redirect URI where the client application is listening.

  • Access Token Request — The access token request to use to fetch the access token. Specify the request using CURL syntax. For example:

    -X POST method -H headers -d string_data access_token_uri?query_parameters
  • Refresh Token Request — The refresh token request to use to fetch the access token. This request refreshes the access token if it expires. Specify the request using CURL syntax. For example

    -X POST method -H headers -d string_data refresh_token_uri?query_parameters
  • Sauth_code — Use regex to identify the authorization code.
    code
  • Saccess_token — Use a regular expression (regex) to retrieve the access token.
    access.[tT]oken
  • Srefresh_token — Use regex to retrieve the refresh token.
    refresh.[tT]oken
  • Sexpiry — Use regex to identify when the access token expires.
    expires_in
  • Stoken_type — Use regex to identify the access token type.

    token.?[tT]ype
  • access_token_usage — Specify how to pass the token as multiple headers or multiple query parameters to access a protected resource. You cannot pass a mix of headers and query parameters.

    For headers:

    -H Authorization: ${token_type} ${access_token} -H validity: 30000 -H signature: ok

    You can optionally specify quotes for headers:

    -H 'Authorization: ${token_type} ${access_token}' -H 'validity: 30000' -H 'signature: ok'

    For query parameters:

    ?token=${access_token}&validity=3000&signature=ok

OAuth Custom Two Legged Flow

See Configure the REST Adapter to Consume a REST API Protected with OAuth Custom Two Legged Token-Based Authentication to learn more about this security policy.

  • Access Token Request — The access token request to use to fetch the access token. Specify the request using CURL syntax. For example:

    -X POST method -H headers -d string_data access_token_uri?query_parameters
  • Refresh Token Request — The refresh token request to use to fetch the access token. This request refreshes the access token if it expires. Specify the request using CURL syntax. For example

    -X POST method -H headers -d string_data refresh_token_uri?query_parameters
  • Saccess_token — Use regex to identify the access token.
    access.[tT]oken
  • Srefresh_token — Use regex to identify the refresh token.
    refresh.[tT]oken
  • Sexpiry — Use regex to identify when the access token expires.
    expires_in
  • Stoken_type — Use regex to identify the access token type.
    token.?[tT]ype
  • access_token_usage — Specify how to pass the token as multiple headers or multiple query parameters to access a protected resource. You cannot pass a mix of headers and query parameters.

    For headers:

    -H Authorization: ${token_type} ${access_token} -H validity: 30000 -H signature: ok

    You can optionally specify quotes for headers:

    -H 'Authorization: ${token_type} ${access_token}' -H 'validity: 30000' -H 'signature: ok'

    For query parameters:

    ?token=${access_token}&validity=3000&signature=ok

API Key Based Authentication

See Configure the REST Adapter to Consume a REST API Protected with the API Key to learn more about this security policy.

  • API Key — Specify the generated API key used to identify the client making the request.

  • Confirm API Key — Reenter the API key.

  • API Key Usage — Specify the URI syntax for how to pass the API key to access a protected resource.

    To pass the API key as a query parameter at runtime to access the protected resource:

    ?key=${api-key}

    To pass the API key as a header at runtime to access the protected resource.

    -H Authorization: Bearer ${api_key}
    For example:
    -H Authorization: Bearer AASDFADADX

OAuth 1.0 One Legged Authentication

  • Consumer Key — Specify the key that identifies the client making the request.

  • Consumer Secret — Specify the consumer secret that authorizes the client making the request.

  • Confirm Consumer Secret — Specify the secret a second time.

  • Token — Specify the token that accesses protected resource.

  • Token Secret — Specify the token secret that generates the signature for the request.

  • Confirm Token Secret — Specify the secret a second time.

  • Realm — Specify the realm that identifies the account.

  • Signature Method — Specify the signature encryption algorithm.
    • HMAC-SHA1: The default value used for most signature encryptions.
    • HMAC-SHA256: The signature encryption algorithm required for Netsuite SHA-256 signing with the REST Adapter starting with the May 2021 release of Oracle Integration.

      All connections in releases prior to the May 2021 release automatically used the default value of HMAC-SHA1. HMAC-SHA1 is no longer supported for integrating with Oracle NetSuite. Create all new connections for integrating with Oracle NetSuite by selecting HMAC-SHA256. Update existing connections to use HMAC-SHA256, then test and save your connection. After making the update, integration reactivation is not required.

OCI Signature Version 1 Specify the values you created when satisfying the prerequisites for using this security policy. See Prerequisites for Creating a Connection.
  • Tenancy OCID — Specify the value you copied from the Oracle Cloud Infrastructure Console.
  • User OCID — Specify the value you copied from the Oracle Cloud Infrastructure Console.
  • Private Key — Click Upload to select the key you created. Ensure that the key is in RSA (PKCS1) format. If you need to convert to this format, see Convert a Private Key from PKCS8 to RSA (PKCS1) Format for the OCI Signature Version 1 Security Policy.
  • Finger Print — Enter the finger print that was generated when you created the key in the Oracle Cloud Infrastructure Console.
  • Pass Phrase — Enter the pass phrase you created when creating the key.
  • Confirm Pass Phrase — Enter the pass phrase a second time.

No Security Policy

If you select this security policy, no additional fields are displayed.

Configure an Agent Group

Configure an agent group for accessing the service hosted on your premises behind the fire wall.

  1. Click Configure Agents.
    The Select an Agent Group page appears.
  2. Click the name of the agent group.
  3. Click Use.
To configure an agent group, you must download and install the on-premises connectivity agent. See Download and Run the Connectivity Agent Installer and About Connectivity Agents and Integrations Between On-Premises Applications and Oracle Integration in Using Integrations in Oracle Integration Generation 2.

Test the Connection

Test your connection to ensure that it's configured successfully.

  1. In the page title bar, click Test. What happens next depends on whether your connection uses a Web Services Description Language (WSDL) file.
    If Your Connection... Then...

    Doesn't use a WSDL

    The test starts automatically and validates the inputs you provided for the connection.

    Uses a WSDL

    A dialog prompts you to select the type of connection testing to perform:

    • Validate and Test: Performs a full validation of the WSDL, including processing of the imported schemas and WSDLs. Complete validation can take several minutes depending on the number of imported schemas and WSDLs. No requests are sent to the operations exposed in the WSDL.

    • Test: Connects to the WSDL URL and performs a syntax check on the WSDL. No requests are sent to the operations exposed in the WSDL.

  2. Wait for a message about the results of the connection test.
    • If the test was successful, then the connection is configured properly.
    • If the test failed, then edit the configuration details you entered. Check for typos, verify URLs and credentials, and download the diagnostic logs for additional details. Continue to test until the connection is successful.
  3. When complete, click Save.