How Do I Resolve Connection Issues to Oracle Integration 3 Services?
If you have any connections to service endpoints on Oracle Integration 3 using the Basic Auth authentication type, the connection will fail because Oracle Integration 3 does not accept Basic Auth. You will need to switch the connection to use a supported authentication type, such as OAuth.
The OAuth 2.0 Resource Owner Password authentication type is supported by Oracle Integration 3, and is similar to Basic Auth.
Prerequisites
Before switching the connection to OAuth 2.0 Resource Owner Password, you need these details about the Oracle Integration REST API:
- valid client id/secret
- token URL
- scope
- valid username/password
You can find details on how to retrieve the details in Use OAuth 2.0 Grants in Identity Domain Environments in Using the REST Adapter with Oracle Integration 3, or consult with the Oracle Integration team.
Note:
To access the catalog, the user might need both the "ServiceDeveloper" and the "ServiceInvoker" user roles.
To switch the service connection from Basic Auth to OAuth 2.0 Resource Owner Password:
- Confirm that you can access the service.
-
Use postman or CURL to obtain the OAuth token. You can find details on how obtain the token in Use OAuth 2.0 Grants in Identity Domain Environments in Using the REST Adapter with Oracle Integration 3.
-
After obtaining the token (
access_token
), confirm that the REST API works by passing the token in the Authorization header asBearer <access_token>
:curl --location --request GET 'https://OIC host/OIC endpoint' \ --header 'Authorization: Bearer <access_token>'
Check that the token also works with other Oracle Integration APIs (
<OIC URL>/ic/api/integration/v1/integrations
).
-
- Change your Oracle Integration Applications backend to use OAuth 2.0 Resource Owner Password.
- Open the Backends tab from the Services tab in the Navigator, and then select Integration Applications.
- Enable Override Backend, if not set already.
- In the Servers tab, click
to open the Edit Server dialog.
- Select OAuth 2.0 Resource Owner Password Credentials in the Authentication dropdown list, and provide the details from the Pre-requisites step above.
- Select Always Use Proxy in the Connection Type dropdown list.
You can keep the Instance URL, which will be something like
vb-catalog://backends.tenant/ics
. - Create a service connection from a specification.
- In the Services pane, click Add Service Connection, and then select the Define by Specification tile.
- Select OpenAPI / Swagger in the API Type dropdown list.
- Enter the Swagger URL for the Integration that you want to consume.
The URL should be something like
https://<integration-instance>/ic/api/integration/v1/flows/rest_oraclecommercecloud/OCC_OSC_SS/1.0/metadata/swagger
. You can find the URL in the endpoint metadata menu for the Integration in Oracle Integration 3. - In the Metadata Retrieval Option dropdown list, select Copy full Open API to source.
- (Optional) Configure your application for deployment.
When you are ready to deploy your application to the Visual Builder runtime, you might want to use a different OAuth 2.0 Resource Owner password. You can create a specific "deployment" application profile that is used for deployment.
- In your workspace's Settings page, open the Application Profiles tab and create a new "deployment" profile.
- Open Integration Applications in the Backends tab, and then add another server in the Servers tab.
- Select the "deployment" application profile in the Edit Server dialog box.
In the Instance URL, select
vb-catalog://backends.tenant/ics
, and let the other settings be inherited from the backend. The entry will look something like this in the Source tab:{ "url":"vb-catalog://backends.tenant/ics", "description":"New Server" }
When you want to deploy the visual app, let's say to an instance VBCS_TEST1, use the "deployment" application profile in your pipeline job. This will have the effect of the visual app using the Integration Applications backend in the Tenant Settings of VBCS_TEST1 when deployed. Similarly, when you deploy to VBS_DEV2, the visual app will use the Integration Applications backend in Tenant Settings of VBS_DEV2.