Use Web Services with Oracle Application Express

You can interact with both SOAP and RESTful style web services from Application Express in your Autonomous Transaction Processing instance.

Web services enable applications to interact with one another over the web in a platform-neutral, language independent environment. In a typical web services scenario, a business application sends a request to a service at a given URL by using the HTTP protocol. The service receives the request, processes it, and returns a response. Web services are typically based on Simple Object Access Protocol (SOAP) or Representational State Transfer (REST) architectures.

Using Web Source Modules, Application Express developers can declaratively access data services from a variety of REST endpoints, allowing both read and write operations. In addition to supporting smart caching rules for remote REST data, Oracle Application Express also offers the unique ability to directly manipulate the results of REST data sources using industry standard SQL.

The APEX_WEB_SERVICE package enables you to integrate other systems with Application Express by allowing you to interact with web services anywhere you can use PL/SQL in your application. The package contains procedures and functions to call both SOAP and RESTful style web services, and to simplify implementation of OAuth 2.0 flows.

Note the following when working with web services in Application Express with Autonomous Transaction Processing:

  • All web services must be secured. Only HTTPS services are supported on the default port (443). Your Application Express instance is pre-configured with an Oracle Wallet that contains more than 90 of the most common trusted root and intermediate SSL certificates. The APEX_WEB_SERVICE package automatically takes advantage of this Oracle Wallet without additional configuration from application developers.

  • All web services must be accessible over the internet. The Autonomous Transaction Processing database is unable to reach web services deployed on private subnets or behind on-premises firewalls.

  • Each Autonomous Transaction Processing instance is preconfigured with a network access control list (ACL) to permit outbound web service calls from Application Express. No further configuration by application developers is necessary.

  • Your Application Express instance does not require an outbound web proxy.

  • There is a default limit of 50,000 outbound web service requests per Application Express workspace in a rolling 24-hour period. If the limit of outbound web service calls is reached, the following SQL exception is raised on the subsequent request and the request is blocked:

    ORA-20001: You have exceeded the maximum number of web service requests per workspace. Please contact your administrator.

    You can raise the default limit up to 250,000 outbound web service requests by setting a value for the MAX_WEBSERVICE_REQUESTS parameter. For example, to change the limit to 250,000, connect to your Autonomous Transaction Processing database as ADMIN using a SQL client and execute the following:

    BEGIN
        APEX_INSTANCE_ADMIN.SET_PARAMETER('MAX_WEBSERVICE_REQUESTS', '250000');
        COMMIT;
    END;
    /

To learn more, see: