SOAP API
Simple Object Access Protocol (SOAP) Webサービスを使用して自社の別のアプリケーションを統合したり、ビジネス機能をOracle Cloudパートナや顧客に公開します。
SOAP APIへのアクセス
抽出をスケジュールする前に、SOAP APIにアクセスする方法およびSOAP要求を送信する方法を次に示します。
-
WSDLサーバーURL : サポートされているすべての操作について、https://servername.fa.us2.oraclecloud.com/bi/ess/esswebservice?wsdlを使用します
-
SOAP要求: SOAP要求を送信するには、https://servername.fa.us2.oraclecloud.com/bi/ess/esswebserviceを使用します
特定のデータ・ストアを使用するグローバル抽出
ESS Webサービスを使用して、BIクラウド抽出を実行するジョブをスケジュールする方法を学習します。
ESS Webサービスは、要求を送信し、送信されたジョブのステータスを要求する操作を提供するSOAP Webサービスです。 抽出をスケジュールするには、次のことを行う必要があります。
-
BICCコンソールでデータ・ストアを構成します。
-
指定したデータ・ストアのグローバル抽出を作成します。
SOAPヘッダー | 手順 |
---|---|
セキュリティ |
|
SOAP本文 | SOAP本文で次の属性の詳細を指定します。
|
要求のサンプル(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>
応答のサンプル(submitRequest) - ESSジョブ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要求(getRequestState)
送信されたジョブの要求IDを渡します。
要求のサンプル
<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>
応答のサンプル - ジョブの状態を返す
<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要求(getRequestDetail)
送信されたジョブの要求IDを渡します。
要求のサンプル
<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>
応答のサンプル - ジョブの定義とステータスを返す
<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>
ジョブのスケジュール
ESS要求を使用して既存のジョブのスケジュールを送信する方法を説明します。 「ジョブの管理」ページからジョブIDを取得できます。
SOAPヘッダー | 手順 |
---|---|
セキュリティ |
|
SOAP本文 | SOAP本文で次の属性の詳細を指定します。
|
要求のサンプル
<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>
トラブルシューティング
ESS Webサービスが失敗し、セキュリティ・トークンが有効でないというエラー・メッセージが表示された場合、SOAPヘッダーのタイムスタンプが有効であり、失効していないことを確認します。 失効している場合は、新しいタイムスタンプを生成し、要求を再送信してください。
<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>