REST Adapter Capabilities

The REST Adapter can expose integrations as REST APIs by configuring a REST Adapter connection as a trigger. The REST Adapter can also consume any external REST API by configuring a REST Adapter connection as an invoke. This section identifies the capabilities of the REST Adapter when used as a trigger or invoke connection.

Note:

The REST Adapter treats all endpoints as they are exposed. The REST Adapter does not filter or change any of the APIs exposed by the application to which you are connecting. If there is a native adapter for the application to which you are connecting, use that adapter instead. If you choose to use the REST Adapter instead of the native adapter, the API restrictions and deprecation policies apply as specified in the respective application’s documentation.

To connect to the Oracle HCM Cloud SOAP APIs, see Oracle HCM Cloud Adapter Capabilities.

REST Adapter Capabilities When Exposing an Integration as a REST API by Configuring the Connection as a Trigger

  • Support for uploading complex XML schema definitions as a zipped archive to define data definitions for XML content during REST Adapter configuration. See Complex Schema Support.

  • Support for uploading sample XML documents to define data definitions for XML content during REST Adapter configuration. The following XML documents are supported for schema generation:
    • XML with no namespace.

    • XML with a homogenous namespace.

    • XML files up to 3 MB in size.

  • Supports configuration of the following:

    • Relative resource URI.

    • Support for HTTP methods GET, PUT, POST, DELETE, and PATCH.

    • Template and query parameters.

    • Support for a request/response payload.

    • REST APIs exposed using the REST Adapter are secured using Basic Authentication, OAuth token-based authentication, and JWT-based authentication.

    • REST APIs implement the HTTPS protocol, thereby enforcing all incoming requests to have transport level security.

    • REST APIs exposed using the REST Adapter are protected using Basic Authentication and OAuth token-based authentication.

    See Configuration Parameters.

  • Enforces incoming message and attachment size limitations:

    • Ensures that incoming (trigger) message requests without attachments do not exceed 50 MB in size. Messages with attachments (for example, multipart/mixed and multipart/form-data) are not subject to this constraint. If the size of the structured message (for example, XML/JSON) exceeds 50 MB, an HTTP error code message is returned to the client: 413 Request entity too large.

    • Ensures that incoming (trigger) JSON attachments do not exceed 1 GB in size. If the size of the JSON attachment exceeds 1 GB, an HTTP error code message is returned to the client: 413 Request entity too large.

    • Ensures that incoming (trigger) structured message payload requests (any content-type header containing JSON, XML, HTML, YAML, or YML) from a client do not exceed the following:
      • 10 MB in size for HTML, YAML, and YML
      • 50 MB in size for JSON and XML
      If the size of the structured message exceeds these values, an HTTP error code message is returned to the client: 413 Request entity too large.

      For additional details about 50 MB payload support, limits, and best practices, see Service Limits in Provisioning and Administering Oracle Integration Generation 2.

  • Support for consumption and publication of OpenAPI with multipart/mixed and multipart/form-data in REST Adapter trigger connections. See Consume and Publish OpenAPI Documents with Multipart/Mixed and Multipart/Form-Data.
  • Support for standard and custom HTTP headers to model an integration to expose standard and custom HTTP header properties to Oracle Integration for downstream processing (see Standard and Custom Header Support).

  • Support for multipart attachments (content-types: multipart/mixed, and multipart/form-data) in request/response messages while creating an integration to expose a REST endpoint that accepts incoming request messages with multipart attachments and/or sends responses with multipart attachments (see Multipart Attachment Support for Trigger and Invoke Connections).

  • REST APIs exposed using the REST Adapter can be configured to be CORS-compliant (see Cross-Origin Resource Sharing (CORS)).

  • Support for exposing a REST endpoint that can accept the request and process it asynchronously.

  • A Swagger 2.0–compliant document is automatically produced for REST APIs exposed using the REST Adapter. This document describes the metadata for the generated REST APIs (see View the Metadata for the Inbound REST Endpoint in Swagger Format).

  • Support for configuring multiple operation entry points with different resource URIs and HTTP actions/verbs. Each operation represents a different pick action branch in a single orchestrated integration. This feature eliminates the need to create multiple integrations (each with a separate resource URI and verb) to perform different operations. See Receive Requests for Multiple Resources in a Single REST Adapter Trigger Connection of Using Integrations in Oracle Integration Generation 2.
  • Support for generating sample cURL syntax on the Summary page of the Adapter Endpoint Configuration Wizard for the configuration options that you have selected during REST Adapter connection configuration, such as security policy, headers, parameters, and so on. See Summary Page.

REST Adapter Capabilities When Consuming External REST APIs by Configuring the Connection as an Invoke

  • Enforces outgoing message and attachment size limitations:

    • Ensures that responses containing attachments for outbound REST requests do not exceed 1 GB. These attachments can be multipart/mixed, multipart/form-data, or application/octet-stream. If the attachment exceeds 1 GB, an HTTP error code message is returned: 413 Request entity too large

    • Ensures that outgoing (invoke) messages returning an unstructured payload (multipart-formdata and binary/octed-stream) from a client do not exceed 1 GB in size.

    • Ensures that outgoing (invoke) messages returning structured message payloads (any content-type header containing JSON, XML, HTML, YAML, or YML) to a client do not exceed the following:
      • 10 MB in size for HTML, YAML, and YML
      • 50 MB in size for JSON and XML

      For additional details about 50 MB payload support, limits, and best practices, see Service Limits in Provisioning and Administering Oracle Integration Generation 2.

  • Support for consuming any REST API described using Swagger 2.0/RAML/OpenAPI documents and the Oracle Metadata Catalog. The REST Adapter can automatically discover and present the available resources and operations present in the documents for configurations. The metadata regarding operation-specific request and response messages available in the document is automatically made available for mapping and other activities (see Swagger and RAML Document Support for Describing External REST APIs).

  • Supports configuration of the following (see Configuration Parameters):

    • Relative resource URI.

    • Support for HTTP methods GET, PUT, POST, DELETE, and PATCH.

    • Template and query parameters.

    • Support for a request/response payload:

  • Support for uploading sample XML documents to define the data definition for XML content during REST Adapter configuration. The following XML documents are supported for generating the data definition:
    • XML with no namespace.

    • XML with a homogenous namespace.

    • XML files up to 3 MB in size.

  • Support for uploading sample JSON documents to define data definitions during REST Adapter configuration.

  • Support for uploading complex XML schema definitions as a zipped archive to define data definitions for XML content during REST Adapter configuration (see Complex Schema Support).

  • Support for accessing and setting standard and custom HTTP headers exposed by external REST APIs (see Standard and Custom Header Support).

  • Support for multipart attachments (content-type: multipart/mixed, and multipart/form-data ) in request/response messages in an integration while sending a request to an external REST endpoint that accepts incoming request messages with multipart attachments and/or sends responses with multipart attachments (see Multipart Attachment Support for Trigger and Invoke Connections).

  • Support for consuming external REST APIs that are not described using Swagger/RAML/OpenAPI documents. You can declaratively specify the HTTP method and the sample JSON document/XML schema for describing the shape of the request and response messages.

  • Support for consuming REST APIs protected using HTTP Basic Authentication, OAuth Client Credentials (two-legged flow), OAuth Resource Owner Password Credentials (two-legged flow), OAuth Authorization Code Credentials (three-legged flow), OAuth Custom Three Legged Flow, OAuth Custom Two Legged Flow, OAuth 1.0a One Legged Authentication, Amazon Web Services (AWS) Signature Version 4, and Oracle Cloud Infrastructure (OCI) Signature Version 1. There is also support for consuming APIs that are unprotected.

  • Support for invoking external REST endpoints supporting the Amazon Web Services (AWS) Signature Version 4 authentication type.
  • Support for invoking Oracle Cloud Infrastructure cloud service REST APIs such as Oracle functions, streaming, storage and so on as an integral part of Oracle Integration orchestration flows.
  • Support for invoking co-located REST APIs in an optimized manner.

    The Oracle Integration runtime determines if the endpoint being invoked is co-located by checking if the endpoint URL has a load balancer address. If the endpoint URL has a load balancer address, the endpoint is considered co-located and the HTTP request is optimized by accessing the service locally using the non-SSL HTTP protocol.

  • Extensibility support to access plurality of OAuth 2 providers (see Standard and Custom Header Support).

  • Support for dynamically changing the (invoke) outbound endpoint configuration (see Support for Dynamic REST Endpoints).

  • Support for consuming external REST APIs that are protected using transport level security. The REST Adapter supports one-way SSL and two-way SSL. Oracle Integration supports a certificate management user interface to upload public certificates for external APIs that are protected either using lesser known certifying authorities (CA) or self-signed certificates.

    Support for external REST APIs hosted on a two-way SSL server requiring client side (Oracle Integration) identity. Oracle Integration provides support for exchanging the client side identity with the server hosting the external API.

  • Support for publishing of REST-based integrations as OpenAPI documents. OpenAPI support is available when configuring the REST Adapter as an invoke connection. You provide a link to the OpenAPI document to publish or consume.

    OpenAPI support enables you to perform the following tasks:

    • Publish an OpenAPI document describing an Oracle Integration REST endpoint. You can invoke the REST endpoint with the published document using a REST client such as postman.

      See Publish REST-Based Integrations as OpenAPI Documents.

    • Consume an OpenAPI document using the REST Adapter.

    OpenAPI-defined headers are automatically supported except for the standard headers that are currently disabled in the Adapter Endpoint Configuration Wizard.

  • Support for generating sample cURL syntax on the Summary page of the Adapter Endpoint Configuration Wizard for the configuration options that you have selected during REST Adapter connection configuration, such as security policy, headers, parameters, and so on. See Summary Page.