14External Integration

This chapter contains the following:

Web Services

Use web services to integrate web-based applications into your Oracle Applications Cloud. Web services expose business objects and processes to other applications using open standards-based technologies.

Web services support development environments and clients that comply with these open standards:

  • Extensible Markup Language (XML)

  • Simple Object Access Protocol (SOAP)

  • Business Process Execution Language (BPEL)

  • Web Services Description Language (WSDL)

  • XML Schema Definitions (XSD)

Oracle Applications Cloud has these two types of web services:

  • Application Development Framework (ADF) services

  • Composite services

Let's look at the web service types in detail.

Web Service Type Description

ADF services

ADF services usually represent business objects, such as employees or purchase orders. You can use these services to expose standard operations, such as create, update, and delete. However, for locally-persisted objects, ADF services aren't limited to these operations.

Here are a few examples of ADF services and what they're used for:

  • Worker.changeHireDate - Use to update the hire date of the worker business object.

  • ProjectTask.createTask - Use to adds a task to the project task business object.

Composite services

Composite services usually represent end-to-end business process flows that act on business events produced by the ADF services. You can use these services to manage multiple object-based services, rules services, and human workflows. Here are a few examples of composite services and what they're used for:

  • ProjectStatusChangeApproval.process - Use to accept the change in project status.

  • ScheduleOrchestrationOrderFulfillmentLineService.scheduleOrders - Use to schedule resources used to fulfill an order.

For more information about web services, see the SOAP Web Services guide for your cloud services.

Developer Connect

The Developer Connect portal provides information about the web services deployed to your Oracle Applications Cloud instance. You can use this information to integrate with or extend Oracle Applications Cloud and develop solutions to suit your business requirements.

To use the Developer Connect portal, your job role must have the FND_INTEGRATION_SPECIALIST_JOB, FND_APPLICATION_DEVELOPER_JOB, or ZCA_CUSTOMER_RELATIONSHIP_MANAGEMENT_APPLICATION_ADMINISTRATOR_JOB privilege. Alternately, you can grant the ATK_WEB_SERVICE_INFO_ACCESS_PRIV entitlement to your custom role, and then grant the custom role to users who require access. For more information, see the security guide for the appropriate cloud service at Oracle Help Center (https://docs.oracle.com).

To open the Developer Connect portal, from the Navigator menu, select Tools > Developer Connect. This portal displays dynamic information of the web services, and the modifications done to web services to integrate with Oracle Applications Cloud. You can synchronize the Developer Connect portal with your cloud instance to retrieve the latest web service information such as service attributes, operations, business objects, security policies, and WSDL files.

Use the Developer Connect portal to:

  • View the summary of the web service information such as the business object that the service defines, life cycle status, and security policy.

  • Discover the operations available for the selected web service, and the request and response payloads for each operation.

  • View the hierarchy of the service data objects and know information such as the data type and whether it's a required field for user-defined attributes.

  • Review the sample payload XMLs for the operations of the web service. You can add or edit sample payloads, and also delete user-defined sample payloads.

A web service goes through three phases in a life cycle:

  • Active: A service is active when it's delivered the first time, until it's deprecated.

  • Deprecated: A service is deprecated when it's superseded by a newer version, or if there is a planned obsolescence in a future release. A service in this state is still supported and becomes obsolete in a later release.

    Note: You must use the active version of the service. If you were previously using a service that has been deprecated, then migrate to the new, active version.
  • Obsolete: A service is obsolete when it's no longer shipped or supported.

All operations exposed on a business object service have both synchronous and asynchronous message patterns defined. For conciseness, the service documentation includes the definition for the synchronous message pattern only. Both synchronous and asynchronous operations have the same functional behavior, and request and response payloads. Custom object services don't have corresponding asynchronous operations.

Naming Conventions and Examples

The naming convention for the asynchronous operation is:

  • Operation name: Synchronous operation name appended with Async

  • Callback name: Synchronous operation name appended with AsyncResponse

Using Help Topic Abstract Service as an example, if the name of the synchronous operation is getEntityList, the asynchronous operation name and callback name would be getEntityListAsync and getEntityListAsyncResponse.

This example demonstrates how to add and edit a sample payload XML for a web service operation. It also describes how to delete a user-defined sample payload XML.

Adding a Sample Payload XML

Follow these steps to add a sample payload XML for the getEntityList operation of Help Topic Abstract Service:

  1. From the Navigator menu, select Tools > Developer Connect.

  2. On the Web Service overview page, search for Help Topic Abstract Service, and click the service display name.

  3. On the Summary page, click the Sample Payloads tab, and then click Add Sample Payload.

  4. Select getEntityList operation from the list, and enter a brief description.

  5. Enter the payload XML, and click OK.

Editing a Sample Payload XML

The Developer Connect portal displays predefined and user-defined payloads of the web services. You can edit only the user-defined payloads. Follow these steps to edit a user-defined sample payload of the getEntityList operation of Help Topic Abstract Service:

  1. On the Web Service overview page, select Help Topic Abstract Service.

  2. On the Summary page of the web service, click the Sample Payloads tab and select getEntityList operation.

  3. In the Edit Sample Payload dialog box, edit the payload XML and click OK.

Deleting a Sample Payload XML

You can delete only user-defined payloads, and not predefined payloads. Follow these steps to delete a user-defined sample payload of the getEntityList operation of Help Topic Abstract Service:

  1. On the Web Service overview page, select Help Topic Abstract Service.

  2. On the Summary page of the web service, click the Sample Payloads tab and select getEntityList operation.

  3. Click the delete icon for the selected operation and click OK.

This example demonstrates how to use the information in the Developer Connect portal to import value set values to Oracle Applications Cloud.

Suppose a fictional partner application wants to extend it with certain functionality available in another application. Instead of creating the required business objects and attributes in this application, you can import them using a web service. Before you proceed with the import process, enable the access permissions for the web service and review the information in the Developer Connect portal:

  • Synchronize the web services information

  • Review the web service details

  • Update the request payload

Synchronizing Web Services Information

You must synchronize the Developer Connect portal with your Oracle Applications Cloud instance to get the latest web service information. Follow these steps:

  1. From the Navigator menu, select Tools > Developer Connect.

  2. Click Synchronize.

    Note: The Last Refreshed date indicates when the Developer Connect portal was last synchronized with your cloud instance.

Searching And Reviewing Web Service Information

On the Web Services overview page, you can enter Manage File Import and Export in the Find field. You can also use Advanced Search option to find web service names that contain import, and select the relevant service from the search results.

To review the information:

  1. On the Web Services overview page, select Manage File Import and Export Service. The Summary panel shows information such as the display name, business object that the service defines, life cycle status, QName, security policy used, and a brief overview of the service.

  2. Click the Operations tab to view the operations supported by the web service.

  3. Click the uploadFiletoUCM operation and review the result parameter in the response payload. This parameter holds the file ID in the WebCenter Content repository from which the value set values are imported.

  4. Click the valueSetValuesDataLoader operation and review the fileIdAtRepository parameter in the request payload. This parameter holds the file ID in the WebCenter Content repository.

  5. Click WSDL File link of the service to download the web service information.

Updating Request Payload

To add a sample payload to import the value set values:

  1. Click the Sample Payloads tab and then click Add Sample Payload.

  2. Select uploadFiletoUCM from the operation name list.

  3. Enter a brief description of the payload in the description text box.

  4. Add the payload to get the file ID from the WebCenter Content repository:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <ns1:document xsi:type="ns2:DocumentDetails">
      <ns2:contentType>plain/text</ns2:contentType> <ns2:content>
    Q3VzdG9tVmFsdWVBdHRyaWJ1dGUzfEN1c3RvbVZhbHVl QX R0cmlidXRlNH xDdXN0b21WYWx1ZUF0dHJpYnV0ZTV8Q
    Hx8MXx8fHx8fHx8fHx8fHx8fHx8fHx8f Hx 8fHx8fHx8fHw K UkVMN19CNl9WU19OVU1fSU5EfHx8fHwyMDAwfHx8f
    jAxMi0xMC0zMHwxfHx8fHx 8f Hx8fHx8fHx8f H x8fHx8fHx8fHx8fHx8fApSRUw3X0I2X1ZTX0RBVEVfSU5EfHx8f

  5. Click OK.

  6. Select valueSetValuesDataLoader from the operation name list.

  7. Enter a brief description of the payload in the description text box.

  8. Add the payload to read the contents from the file and import the value set values:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Cross-Origin Resource Sharing


Cross-Origin Resource Sharing (CORS) is a mechanism that allows cross-domain communication and lets a browser securely access resources from a different domain. By default, browser-based programming languages, such as JavaScript, can access resources only from the same domain. But with CORS, you can overcome this limitation and manage resources across domains.

Here are the CORS headers you can configure to make that possible.

CORS Header Purpose


Contains a comma-separated list of trusted origins, or domains, that a client application can get resources from.


Specifies how long to store the results of a request in the preflight result cache.


Contains a comma-separated list of HTTP methods allowed in a request.


Contains a comma-separated list of HTTP headers allowed in a request.


Specifies whether a client application can send user credentials with a request.


A client application retrieves resource X from server A, which is what the application runs on. The client application then makes an HTTP request to get resource Y from server B. For this cross-server request to work, you must configure the Access-Control-Allow-Origin header in server B. Otherwise, the request fails and we end up with an error message.

Configure CORS Headers

To enable CORS in Oracle Applications Cloud, configure CORS headers so that client applications in one domain can use HTTP requests to get resources from another domain. Set values for profile options that correspond to the CORS headers. To view the profile option, go to the Setup and Maintenance work area and use the Manage Applications Core Administrator Profile Values task in the Application Extensions functional area.

CORS Profile Options

This table lists the profile options you can set for CORS headers.

CORS Header Profile Option Name (Profile Option Code) Profile Option Values



Here's what you can enter to indicate which origins are allowed:

  • URL of the specific origin. For example, http://www.exampledomain.com.

  • Space-separated list of origins. For example,http://www.exampledomain.com http://us.example.com http://software.example.com.

  • An asterisk (*) to allow access to resources from all origins.

  • Blank (no value) or 'self' to restrict access to resources from the same origin.

  • The value 'none' to prevent access to resources from any origin.

Note: These are some key points to remember while using the profile values:
  • You must set a value for this header to enable CORS.

  • Prefix the value 'self' to a specific URL or multiple URLs. For example,'self' http://www.exampledomain.com, or 'self' http://www.exampledomain.com http://us.example.com.

  • Always specify 'self' and 'none' in single quotation marks.

  • Never enclose URL and asterisk in quotation marks.

  • Domain names must contain only valid URL characters.



Default value for caching preflight request is 3600 seconds.



Default values for allowed methods are OPTIONS, HEAD, GET, POST, PUT, PATCH, and DELETE.



Default values for allowed headers are Accept, Accept-Encoding, Authorization, Cache-Control, Content-Encoding, Content-MD5, Content-Type, Effective-Of, If-Match, If-None-Match, Metadata-Context, Origin, Prefer, REST-Framework-Version, REST-Pretty-Print, Upsert-Mode, User-Agent, X-HTTP-Method-Override, and X-Requested-By.



Select True or False to allow or prevent sending user credentials with the request. The default is False.

View Details About Predefined Scheduled Processes

To use web services to run predefined scheduled processes, you require details about the processes. View job definitions that the processes are based on, for example to get information about parameters. You might also need to find security requirements for running the scheduled process.

Job Definitions

A job definition contains the metadata that determines how a scheduled process works and what options are available during submission.

To view job definitions:

  1. Go to the Setup and Maintenance work area.

  2. From the Application Extensions functional area, open any of these tasks as appropriate:

    • Manage Enterprise Scheduler Job Definitions and Job Sets for Financial, Supply Chain Management, and Related Applications

    • Manage Enterprise Scheduler Job Definitions and Job Sets for Human Capital Management and Related Applications

    • Manage Enterprise Scheduler Job Definitions and Job Sets for Customer Relationship Management and Related Applications

  3. In the Manage Job Definitions tab, select your job definition and click Edit.

    Note: Predefined job definitions are marked with an asterisk.
  4. Cancel after you get the information you need.


Privileges provide the access required to run specific scheduled processes. Privileges are granted to duty roles, which are granted to job roles. To see which job roles inherit the required privileges, use the Security Console or the security reference manuals for the appropriate product family.

You can use deep links to open pages without using menus or navigating through pages. Deep links come in handy if you want users to go directly from various locations to Oracle Applications Cloud. You can add deep links to a business intelligence report, an email notification, or a company website hosted on Oracle Cloud. For example, you can enable direct navigation to the My Team page. If users click your deep link URL from the company website, but aren't yet signed in to Oracle Applications Cloud, they're automatically redirected to the Sign In page. To see a complete list of the available deep links, use the Deep Links work area (Navigator > Tools > Deep Links). For access to this work area, you need to have the View Administration Link (FND_VIEW_ADMIN_LINK_PRIV) privilege.

How It Works

You can copy a URL from the Deep Links page and use it to create a link, for example on your company website. You can use deep links as is, to take users to a high level page, for example an overview or search page. Or, you can edit the URL so that it opens a page where the user can take action, for example to create something. For more information, refer to your product-specific documents.

URL Pattern of Deep Links

Here's a typical URL pattern of a deep link.


To direct users to a product-specific action page, you need to add specific parameters to the deep link URL. This table describes the parameters and gives you some examples of parameter values.

Parameter Description Example of Parameter Values


The host name.



The object type, such as work areas.



The object identifier.

Supplier Number


The action that users can do on the page that the URL opens up, for example to edit something.

Here are a few things to know:

  • If you don't add any value for the action parameter, this value is considered as NONE by default. So users will be taken to a high-level page, such as an overview page or a search page.

  • If the value you added for the action parameter doesn't match with any action on the UI, or the user doesn't have the privileges to access that action, they will be taken to a high-level page.






The application URL where users will be automatically redirected to when they try to return to the previous page, or after they complete their task.

If you're using a third party URL, make sure the application name is registered using the Manage Integration of Additional Applications page in the Setup and Maintenance work area.



Parameters for the return application URL.