SOAP API
Use Simple Object Access Protocol (SOAP) web services to integrate different applications within the enterprise or expose business functions to Oracle Cloud partners and customers.
Access SOAP API
Before you schedule extracts, here’s how you can access SOAP API and submit SOAP requests.
-
WSDL Server URL : For all supported operations, use https://servername.fa.us2.oraclecloud.com/bi/ess/esswebservice?wsdl
-
SOAP Requests: To submit SOAP requests, use https://servername.fa.us2.oraclecloud.com/bi/ess/esswebservice
Global Extract with Given Data Stores
Let’s learn how to use the ESS web service to schedule a job for running the BI cloud extracts.
ESS web service is a SOAP web service that provides operations to submit requests and request status for the submitted jobs. Here’s what you need to do to schedule an extract:
-
Configure the data stores in BICC console.
-
Create global extract for specified data stores.
SOAP Headers | Procedure |
---|---|
Security |
|
SOAP Body | Provide details for the following attributes in the SOAP
Body.
|
Sample Request (submitRequest)
<soapenv:Envelope
xmlns:sch="http://xmlns.oracle.com/scheduler"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:typ="http://xmlns.oracle.com/scheduler/types">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Timestamp wsu:Id="TS-A2DF758C7B92C0123015204688873404">
<wsu:Created>2018-03-08T00:28:07.339Z</wsu:Created>
<wsu:Expires>2018-03-08T00:30:07.339Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken wsu:Id="UsernameToken-A2DF758C7B92C0123015204688787403">
<wsse:Username>xxxxxxx</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxxxx</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">yPFbN92Ojg6qYmGZHuKZSQ==</wsse:Nonce>
<wsu:Created>2018-03-08T00:27:58.740Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<sch:submitRequest>
<sch:description>Test ESS Web Service</sch:description>
<sch:jobDefinitionId>
<!--Optional:-->
<typ:name>BICloudConnectorJobDefinition</typ:name>
<!--Optional:-->
<typ:packageName>oracle.apps.ess.biccc</typ:packageName>
<!--Optional:-->
<typ:type>JOB_DEFINITION</typ:type>
</sch:jobDefinitionId>
<sch:application>oracle.biacm</sch:application>
<sch:requestedStartTime/>
<sch:requestParameters>
<!--0 to 1000 repetitions:-->
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>SYS_className</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>oracle.esshost.impl.CloudAdaptorJobImpl</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>SYS_application</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>BI Cloud Adaptor</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>EXTRACT_JOB_TYPE</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>VO_EXTRACT</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>DATA_STORE_LIST</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>CrmAnalyticsAM.PartiesAnalyticsAM.Location,CrmAnalyticsAM.PartiesAnalyticsAM.Organization,CrmAnalyticsAM.PartiesAnalyticsAM.PartyContactEmail</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>EXTERNAL_STORAGE_LIST</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>storage1</typ:value>
</typ:parameter>
</sch:requestParameters>
</sch:submitRequest>
</soapenv:Body>
</soapenv:Envelope>
Sample Response (submitRequest) - Returns an ESS Job Id
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:Action>submitRequest</wsa:Action>
<wsa:MessageID>urn:uuid:b612af67-4769-4eac-9abc-f2bd8b0ed1bf</wsa:MessageID>
<wsa:RelatesTo>uuid:073d2715-5e6c-4968-a4f5-e1d88da1897b</wsa:RelatesTo>
</env:Header>
<env:Body>
<ns0:submitRequestResponse
xmlns:ns0="http://xmlns.oracle.com/scheduler">
<requestId
xmlns:ns2="http://xmlns.oracle.com/scheduler/types">49318
</requestId>
</ns0:submitRequestResponse>
</env:Body>
</env:Envelope>
SOAP Request to Get the Job State (getRequestState)
Pass the Request ID from the submitted job.
Sample Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sch="http://xmlns.oracle.com/scheduler">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1">
<wsse:UsernameToken wsu:Id="UsernameToken-096D9A2FA5EEE63DC514744911304045">
<wsse:Username>faadmin</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxxx</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">96M4RBdl+afFA6MUufbbAQ==</wsse:Nonce>
<wsu:Created>2016-09-21T20:52:10.404Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<sch:getRequestState>
<sch:requestId>49318</sch:requestId>
</sch:getRequestState>
</soapenv:Body>
</soapenv:Envelope>
Sample Response - Returns the Job State
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:Action>getRequestState</wsa:Action>
<wsa:MessageID>urn:uuid:b44f932b-2b21-41c0-b748-1ec5007fe05f</wsa:MessageID>
<wsa:RelatesTo>uuid:374006ab-6fc5-4073-950a-dd6018d1308c</wsa:RelatesTo>
</env:Header>
<env:Body>
<ns0:getRequestStateResponse
xmlns:ns0="http://xmlns.oracle.com/scheduler">
<state
xmlns:ns2="http://xmlns.oracle.com/scheduler/types">RUNNING
</state>
</ns0:getRequestStateResponse>
</env:Body>
</env:Envelope>
SOAP Request to Get the Request Detail (getRequestDetail)
Pass the Request ID from the submitted job.
Sample Request
<soapenv:Envelope
xmlns:sch="http://xmlns.oracle.com/scheduler"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-096D9A2FA5EEE63DC514744918990386">
<wsse:Username>faadmin</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxxxxx</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">5WwwW1fii5/6DKpgBafreQ==</wsse:Nonce>
<wsu:Created>2016-09-21T21:04:59.038Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<sch:getRequestDetail>
<sch:requestId>49318</sch:requestId>
</sch:getRequestDetail>
</soapenv:Body>
</soapenv:Envelope>
Sample Response - Returns the Job Definition and Status
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<wsa:Action>getRequestDetail</wsa:Action>
<wsa:MessageID>urn:uuid:bc779307-1819-4667-8cec-b246405011a1</wsa:MessageID>
<wsa:RelatesTo>uuid:055a802b-ab9e-46f5-9a87-b54bcde19a4a</wsa:RelatesTo>
</env:Header>
<env:Body>
<ns0:getRequestDetailResponse
xmlns:ns0="http://xmlns.oracle.com/scheduler">
<requestDetail
xmlns:ns2="http://xmlns.oracle.com/scheduler/types">
<ns2:requestId>49318</ns2:requestId>
<ns2:description>Test_ESS</ns2:description>
<ns2:jobDefinitionId>
<ns2:type>JOB_DEFINITION</ns2:type>
<ns2:packageName>/oracle.apps.ess.biccc</ns2:packageName>
<ns2:name>BICloudConnectorJobDefinition</ns2:name>
</ns2:jobDefinitionId>
<ns2:dispatcherNode>bi_server1</ns2:dispatcherNode>
<ns2:processorNode>bi_server1</ns2:processorNode>
<ns2:workAssignmentId>
<ns2:type>WORK_ASSIGNMENT</ns2:type>
<ns2:packageName>/oracle/as/ess/essapp/internal</ns2:packageName>
<ns2:name>defaultWA</ns2:name>
</ns2:workAssignmentId>
<ns2:workshiftId>
<ns2:type>WORKSHIFT</ns2:type>
<ns2:packageName>/oracle/as/ess/essapp/internal</ns2:packageName>
<ns2:name>defaultWS</ns2:name>
</ns2:workshiftId>
<ns2:isCancellable>true</ns2:isCancellable>
<ns2:isHoldable>false</ns2:isHoldable>
<ns2:retried>0</ns2:retried>
<ns2:executionAttempt>1</ns2:executionAttempt>
<ns2:submitter>FAAdmin</ns2:submitter>
<ns2:runAsUser>FAAdmin</ns2:runAsUser>
<ns2:submissionTime>2016-09-21T21:00:38.563Z</ns2:submissionTime>
<ns2:requestedStartTime>2016-09-21T21:00:38.563Z</ns2:requestedStartTime>
<ns2:scheduledTime>2016-09-21T21:00:38.563Z</ns2:scheduledTime>
<ns2:actualStartTime>2016-09-21T21:00:53.362Z</ns2:actualStartTime>
<ns2:state>RUNNING</ns2:state>
<ns2:priority>4</ns2:priority>
<ns2:cause>Request in non-terminal state</ns2:cause>
<ns2:parentRequestId>0</ns2:parentRequestId>
<ns2:stepId>0</ns2:stepId>
<ns2:requestType>SINGLETON</ns2:requestType>
<ns2:requestParameters>
<ns2:parameter>
<ns2:dataType>INTEGER</ns2:dataType>
<ns2:name>SYS_priority</ns2:name>
<ns2:scope/>
<ns2:value>4</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>EXTRACT_JOB_TYPE</ns2:name>
<ns2:scope/>
<ns2:value>VO_EXTRACT</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_userName</ns2:name>
<ns2:scope/>
<ns2:value>FAAdmin</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>INTEGER</ns2:dataType>
<ns2:name>SYS_retries</ns2:name>
<ns2:scope/>
<ns2:value>0</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_className</ns2:name>
<ns2:scope/>
<ns2:value>oracle.esshost.impl.CloudAdaptorJobImpl</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>LONG</ns2:dataType>
<ns2:name>SYS_request_timeout</ns2:name>
<ns2:scope/>
<ns2:value>0</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_groupName</ns2:name>
<ns2:scope/>
<ns2:value>ESS_DefaultIsolationGroup</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_submittingApplication</ns2:name>
<ns2:scope/>
<ns2:value>oracle.biacm</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>BOOLEAN</ns2:dataType>
<ns2:name>SYS_EXT_userFileDirShared</ns2:name>
<ns2:scope/>
<ns2:value>false</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>INTEGER</ns2:dataType>
<ns2:name>SYS_requestExpiration</ns2:name>
<ns2:scope/>
<ns2:value>0</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_application</ns2:name>
<ns2:scope/>
<ns2:value>oracle.biacm</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>STRING</ns2:dataType>
<ns2:name>SYS_userFileDir</ns2:name>
<ns2:scope/>
<ns2:value>${ESS_ENV:jrfServerLogPath}/ess_request</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>INTEGER</ns2:dataType>
<ns2:name>SYS_reprocessDelay</ns2:name>
<ns2:scope/>
<ns2:value>5</ns2:value>
</ns2:parameter>
<ns2:parameter>
<ns2:dataType>BOOLEAN</ns2:dataType>
<ns2:name>SYS_executePast</ns2:name>
<ns2:scope/>
<ns2:value>true</ns2:value>
</ns2:parameter>
</ns2:requestParameters>
<ns2:ecid>5aa4a1152ec38837:-422f90c2:157393de3be:-8000-000000000006e4bc</ns2:ecid>
<ns2:processPhase>ExecuteFinalize</ns2:processPhase>
</requestDetail>
</ns0:getRequestDetailResponse>
</env:Body>
</env:Envelope>
Schedule a Job
Let’s look at how to submit schedules for existing jobs using ESS request. You can get the job Id from the Manage Jobs page.
SOAP Headers | Procedure |
---|---|
Security |
|
SOAP Body | Provide details for the following attributes in the SOAP
Body.
|
Sample Request
<sch:submitRequest>
<sch:description>job schedule test 1</sch:description>
<sch:jobDefinitionId>
<!--Optional:-->
<typ:name>BICloudConnectorJobDefinition</typ:name>
<!--Optional:-->
<typ:packageName>oracle.apps.ess.biccc</typ:packageName>
<!--Optional:-->
<typ:type>JOB_DEFINITION</typ:type>
</sch:jobDefinitionId>
<sch:application>oracle.biacm</sch:application>
<sch:requestedStartTime/>
<sch:requestParameters>
<!--0 to 1000 repetitions:-->
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>SYS_className</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>oracle.esshost.impl.CloudAdaptorJobImpl</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>SYS_requestCategory</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>JobSchedule</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>SYS_application</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>BI Cloud Adaptor</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>EXTRACT_JOB_TYPE</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>VO_EXTRACT</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>LONG</typ:dataType>
<!--Optional:-->
<typ:name>JOB_ID</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>142</typ:value>
</typ:parameter>
<typ:parameter>
<!--Optional:-->
<typ:dataType>STRING</typ:dataType>
<!--Optional:-->
<typ:name>EXTERNAL_STORAGE_LIST</typ:name>
<!--Optional:-->
<typ:scope/>
<!--Optional:-->
<typ:value>UCM</typ:value>
</typ:parameter>
</sch:requestParameters>
</sch:submitRequest>
Troubleshooting
If the ESS web service fails and displays the error message "Security Token Is Not Valid", verify that the timestamp in the SOAP header is valid and hasn’t expired. If expired, generate a new timestamp and resubmit the request.
<wsu:Timestamp wsu:Id="TS-A2DF758C7B92C0123015204688873404">
<wsu:Created>2018-03-08T00:28:07.339Z</wsu:Created>
<wsu:Expires>2018-03-08T00:30:07.339Z</wsu:Expires>
</wsu:Timestamp>