Call Oracle Fusion Applications Business Intelligence Publisher Report Services

Oracle Fusion Applications provides web services for Business Intelligence (BI) Publisher services to execute reports synchronously and get responses using the following services.

  • Public Services: Expects credentials in the payload/body of the SOAP envelope.
    • ReportService: runReport method (See ReportService in Developer's Guide for Oracle Business Intelligence Publisher.)
      • xmlpserver/services/v2/ReportService?wsdl
    • ScheduleService: getDocumentData method (See ScheduleService in Developer's Guide for Oracle Business Intelligence Publisher.)
      • xmlpserver/services/v2/ScheduleService?wsdl
  • Protected Services: Expects credentials as part of headers in the SOAP envelope.

    Note:

    This service is recommended if you have to use synchronous calls for BI reports.
    • ExternalReportWSSService: runReport method
      • xmlpserver/services/ExternalReportWSSService?wsdl
    • ScheduleReportWSSService: getDocumentData method
      • xmlpserver/services/ScheduleReportWSSService?wsdl

When the SOAP Adapter calls an Oracle Fusion Applications business intelligence publisher (BIP) report synchronously, the report data is always returned as a base64-encoded string in the response. These services do not support attachments in the response. In this case, the feature to configure MTOM support in the SOAP Adapter does not work.

Handling the BI Response

The BI response can be parsed in the integration with the following approaches:
  • Recommended: Use the decodeBase64ToReference mapper function to convert the base64 string to a file reference and use the file reference in a stage file action/FTP Adapter read file operation scenario for further processing.
  • Alternative: Write the base64 string using an opaque schema to a file using a stage file action/FTP Adapter write file operation scenario, then read the file using a stage file action/FTP Adapter scenario for further processing.

Note:

Upon calling a BIP report synchronously, the request sent to the BIP web service initiates report generation and sends a response back after the report is generated. This can cause latency issues in an Oracle Integration environment.

For the above reason, calling BI report services synchronously with the SOAP Adapter is recommended for short-running and/or small size reports. Be aware of the payload size restrictions. See Service Limits in Provisioning and Administering Oracle Integration Generation 2.

For anything above those limits (that is, long-running and/or large size reports), the recommended approaches are as follows:

Using Oracle Universal Content Management (UCM)

Using the Oracle ERP Cloud Adapter and SOAP Adapter:

  1. Create a BIP report to schedule/execute and configure the report so that the report response is deposited to UCM.
  2. Create a custom ESS job, then execute the BIP report data sent through step 3.
  3. Create an Oracle ERP Cloud Adapter invoke connection using the ErpIntegrationService and choose the exportBulkData operation. Ensure that the jobName is set to the custom ESS job created in step 2. jobOptions are set with EnableEvent=Y. This enables an event when the job is completed.
  4. Create an Oracle ERP Cloud Adapter trigger connection to subscribe to the ExportBulkDataEvent. This provides a documentId in the event payload that is deposited in UCM.
  5. Create a SOAP Adapter invoke using the UCM web service (GenericSoapService) and GET_FILE command in the operation to get the BIP report response as an attachment.

Using FTP

  1. Configure the BI report to place the report response in FTP.
  2. Create a custom ESS job in Oracle Fusion Applications to execute the BIP report.
  3. Submit the ESS job using the ESS web service. See Implement Oracle Enterprise Scheduler Web Service Calls.
  4. Get the response from FTP as an attachment once the job completes and the callback is received.