Oracle Analytics Cloud and Server Idea Lab

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

Need ability to execute classic dashboards using REST API

Declined
22
Views
1
Comments
Rank 1 - Community Starter

Hi ,

You can run or schedule BI Publisher Reports by following the steps outlined in the blog.

https://blogs.oracle.com/analytics/post/oas-oap-run-schedule-rest-api

Similarly, requesting for an Enhancement to execute OAS classic Dashboards/analysis using REST API.

Tagged:
3
3 votes

Declined · Last Updated

Already available, see comment below

Comments

  • You can run an Agent using a SOAP API.

    You can call a SOAP API via REST.

    See below for more details:

    Summary of web services for Agents in OAC (December 2024)

    The following WSDL is available in OAC and advertises several SOAP web services specific to Agents:

    https://<OAC url>/analytics-ws/saw.dll/wsdl/v12

    The above url is public for public OAC instances.

    General documentation on the OAC web services is still hosted in the OBIEE Integrators Guide here:

      https://docs.oracle.com/middleware/12213/biee/BIEIT/methods.htm#CHDHEHAG

    These web services are session-based. One of the SAWSessionService operations needs to be called first:

    https://docs.oracle.com/middleware/12213/biee/BIEIT/methods.htm#i1009553

    e.g. logon()

    The SOAP envelope looks like this:

    <soapenv:Envelope xmlns:soapenv= xmlns:v12="urn://oracle.bi.webservices/v12">

       <soapenv:Header/>

       <soapenv:Body>

          <v12:logon>

             <v12:name>testuser1</v12:name>

             <v12:password>#####</v12:password>

          </v12:logon>

       </soapenv:Body>

    </soapenv:Envelope>

                    A utility like SOAPui can help with testing.

    The logon() and logonex() operations can either be called using a UID and password in the SOAP message, or you can leave the password blank and instead authenticate by passing an OAuth bearer token.

    Some instructions on how to generate a bearer token are here:

    https://docs.oracle.com/en/cloud/paas/analytics-cloud/acapi/authenticate.html

    The above link also has some information on how to pass the bearer token in the authorization header. You will need to do this (i.e. add an addition -H or –header option with the ‘Authorization: Bearer <access token>’ in order to authenticate using the bearer token.

    You can also call the SOAP endpoint as if it were a REST endpoint. 

    curl -X POST "https://<oac url>/analytics-ws/saw.dll?SoapImpl=nQSessionService" \

    -H 'Content-Type: text/xml' -H 'SOAPAction: "#logonex"' \

    -d @soap.xml

    Where soap.xml contains the SOAP envelope for the logonex operation.

    You can find the URL to post to by looking in SOAPui for the request in raw format.

    POST https://<OAC url>/analytics-ws/saw.dll?SoapImpl=nQSessionService HTTP/1.1

    Accept-Encoding: gzip,deflate

    Content-Type: text/xml;charset=UTF-8

    SOAPAction: "#logonex"

    Content-Length: 1288

    Host: tempinstancesnapshottest-id50qox5jhxf-nt.analytics.ocp.oraclecloud.com

    Connection: Keep-Alive

    User-Agent: Apache-HttpClient/4.5.5 (Java/16.0.2)

    Once you have the session value, you can use it to call the Agent-specific operations.  The doc for these operations is here:

    https://docs.oracle.com/middleware/12213/biee/BIEIT/methods.htm#i1021056

    The easiest way to test these operations is by using a SOAP client such as SOAPui. Code can be written (e.g. Python/Node.js/Other) to call these operations.

Welcome!

It looks like you're new here. Sign in or register to get started.