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 Adapterare 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 inbound and message and attachment size limitations:

    • Ensures that incoming (trigger) message requests without attachments do not exceed 10 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 10 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 10 MB in size. If the size of the structured message exceeds 10 MB, an HTTP error code message is returned to the client: 413 Request entity too large.

  • 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).

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) from a client do not exceed 10 MB in size.

  • Support for consuming any REST API described using Swagger 2.0/RAML 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 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 external REST APIs that are protected using transport level security.

  • 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, and Amazon Web Services (AWS) Signature Version 4. There is also support for consuming APIs that are unprotected.

  • 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 Extensibility Support for Multiple OAuth Providers).

  • 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.

    External REST APIs hosted on a two-way SSL server require client side (Oracle Integration) identity. Oracle Integration provides support for exchanging the client side identity with the server hosting the external API. See Create an Integration that Consumes External REST APIs Hosted on a Two-Way SSL-Enabled Server.