Showing posts with label OIC. Show all posts
Showing posts with label OIC. Show all posts

Monday, 12 September 2022

iCal Expressions

 


FREQ=DAILY;BYHOUR=4,5,6,7,8,9,10,11,12,13,14,15,16,17,18;BYMINUTE=0,10,20,30,40,50;BYSECOND=0;

FREQ=MONTHLY;BYMONTHDAY=1,10,15;BYHOUR=5,10,15,20;BYMINUTE=15;

FREQ=YEARLY;INTERVAL=3;BYMONTH=3;BYDAY=2,22;

<Every Three years on May 2nd and 22nd >


BYYEARDAY

BYWEEKNO

BYMONTH

BYSETPOS

WKST


FREQ= “SECONDLY” / “MINUTELY” / “HOURLY” / “DAILY”/ “WEEKLY” / “MONTHLY” / “YEARLY”

hour = 1DIGIT / 2DIGIT ;0 to 23

weekday = “SU” / “MO” / “TU” / “WE” / “TH” / “FR” / “SA”





Wednesday, 8 December 2021

Oracle Fusion/ERP - Callback using Event Subscription

When we design a callback integration using ERP Adapter, we can select the Receive Callback Message upon completion of FBDI bulk import job submitted via another integration option on the Request page.

After selecting this option, we must select the specific bulk data import process for which the callback event is received. When this callback integration is activated, event subscription automatically occurs.

Once the import job completes, the event is raised by the Oracle ERP Cloud application. The Oracle ERP Cloud application then invokes the Oracle Integration endpoint that is the callback integration.

Since it follows event subscription mechanism , we need to configure CSF key in ERP to invoke the integration.

In order to generate the CSF key , we need to capture identity domain details. These details will be available in OCI console. 

  • Login into OIC console.
  • Click on the user icon on the right corner. 
  • Click on about
  • Get the Service Instance Name - vijaya-dvp-oic
  • Get the Identity Domain Details - idcs-xxxxxxxx62941exxxxxxxvvvvvv
  • CSF-KEY = idcs-xxxxxxxx62941exxxxxxxvvvvvvvijaya-dvp-oic



  • Login into SaaS page using following soa composer URL.
    •  https://xx-vijaya.fa.ocs.oraclecloud.com/soa/composer
  • Click on the Manage Security from right side of the page and enter value as below and click on the Register button
    • csf-key: Enter the csf-key which we created above
    • Username: Enter OIC username
    • Password: Enter OIC password
    • Confirm Password: Enter OIC password
            





Sunday, 6 June 2021

Oracle OIC - ERP Adapter Filter Business Events

We can use ERP adapter to consume Business Events from Fusion and process them. Before we need to subscribe the events , we need to create a CSF key or Token based authentication schema in Fusion.  ERP event handler framework will use these key or authentication schema to invoke the OIC integration. 

Integration reactivated after 2021 - May will use the token based authentications. It doesn't require additional settings. 

Use the ERP adapter at trigger point and select Business Events Operations and select the particular business event. 

Example : Invoice Hold Applied. 

This will create a subscriber entry in Fusion.  We can verify subscriber details using following URL. This will ask for credentials and need to provide valid credentials. 

https://xx-vijay.fa.ocs.oraclecloud.com/soa-infra/PublicEvent/subscriptions

All events are triggered from Fusion.  Fusion will use the subscriber details and invoke integrations.  


Sample Invoice Hold Payload:

<ns01:onEvent xmlns:ns01="http://xmlns.oracle.com/cloud/adapter/erp/XXVV_SUBSCRIBE_TO_INVHOLD_REQUEST/types">   <ns0:ApInvHoldAppliedInfo xmlns:ns0="http://xmlns.oracle.com/apps/financials/payables/invoices/transactions/model/entity/events">      <ns0:InvoiceId>         <ns0:newValue value="XXXXXXX00000001"/>         <ns0:oldValue/>      </ns0:InvoiceId>      <ns0:OrgId>         <ns0:newValue value="XXXXXXX00000002"/>         <ns0:oldValue/>      </ns0:OrgId>      <ns0:HoldId>         <ns0:newValue value="72011"/>         <ns0:oldValue/>      </ns0:HoldId>      <ns0:HoldLookupCode>         <ns0:newValue value="AMT REC"/>         <ns0:oldValue/>      </ns0:HoldLookupCode>      <ns0:HoldReason>         <ns0:newValue value="Amount billed exceeds amount received."/>         <ns0:oldValue/>      </ns0:HoldReason>      <ns0:LineNumber>         <ns0:newValue value=""/>         <ns0:oldValue/>      </ns0:LineNumber>      <ns0:HeldBy>         <ns0:newValue value="5"/>         <ns0:oldValue/>      </ns0:HeldBy>      <ns0:HoldDate>         <ns0:newValue value="2021-06-04T06:27:33"/>         <ns0:oldValue/>      </ns0:HoldDate>      <ns0:LineLocationId>         <ns0:newValue value="XXXXXXX00000003"/>         <ns0:oldValue/>      </ns0:LineLocationId>      <ns0:RcvTransactionId>         <ns0:newValue value=""/>         <ns0:oldValue/>      </ns0:RcvTransactionId>   </ns0:ApInvHoldAppliedInfo></ns01:onEvent>


Use the following Filter Expression to filter a specific Hold. 


<xpathExpr xmlns:ns0="http://xmlns.oracle.com/apps/financials/payables/invoices/transactions/model/entity/events">$eventPayload/ns0:HoldLookupCode/ns0:newValue/@value='AMT REC'</xpathExpr>



$eventPayload: Inbuilt variable which will contain the payload. 





Friday, 21 May 2021

Oracle OIC - ERP/HCM Adapter with OAuth Authentication

Oracle has introduced an OAuth authentication mechanism to access ERP and HCM applications using ERP/HCM  adapter respectively in OIC. 

This will solve the following security issues. 

  1. Can maintain user credentials in IDCS. 
  2. Wont require to reset the passwords during P2T refresh. 
  3. Better security compared to basic authentication. 
  4. Authentication will work even password will get expired in IDCS or Fusion. 
Set Up Trust Between Oracle Fusion Applications and Oracle Identity Cloud Service.

  • Get the JWK signing certificates from the Oracle IDCS of Oracle Integration.
  • Get the REST API of the Oracle IDCS endpoint that gives you the signing certificate endpoint.
    • <IDCS_HOST_NAME>/admin/v1/SigningCert/jwk
    • Note :  Before accessing the key make sure, access certificate is enabled in IDCS . Got to  Settings -> Default Settings and Toggle ON the "Access Signing Certificate"
  • Copy the certificates present under "x5c" JSON element.
  • Use the following template and save the certificates as .crt files.
-----BEGIN CERTIFICATE-----
 content_of_certificate
. . .
. . .
-----END CERTIFICATE----- 

  • Upload the above certificates to the Oracle Fusion/HCM Applications Security Console.
  • Note:  Since HCM and Fusion are using IDCS and following Authenticator provider will be in non editable mode. https://identity.oraclecloud.com/
  • Raise an SR with Oracle team to upload the certificates and attached to this authentication provider. 

Create an ERP/HCM resource application. 
    • Login into IDCS
    • On the left Panel , Click the Applications and then click Add
    • Select the confidential application option
    • Provide a Name
    • Go to next page
    • Select the option - Configure this application as a resource server now.
    • Select Is Refresh Token Allowed.
    • In the Primary Audience field, add the Oracle Fusion/HCM Applications URL and port.
      • https://FA_URL:443
      • In the Scopes section, click Add.
      • In the Scope field, enter /.
      • In the Description field, enter All.
      • Select Requires Consent.
      • Click Add, then click Next.
      • Click Finish to complete resource application creation.
      • Click Activate to activate your client application.



 

Create a confidential Client application 
    • In the left navigation pane, select Applications, then click Add to add a client application.
    • Select Confidential Application.
    • The Add Confidential Application wizard is displayed.
    • Provide a Name
    • Select Configure as a client application
    •  Select appropriate Grant Types
    • Provide callback URL 
      • https://<OIC_HOST_NAME>/icsapis/agent/oauth/callback
    • Select Client Type as Trusted if required and import SaaS certificate (Optional and Not Required)
    • Add Scope
      • Select ERP/HCM Resource application which we created earlier. 
      • Select the scope
    • Save changes
    • Activate the application
    • Collect Client Id and Secret. 
OIC Configurations:
    • Login into OIC using admin or developer access.
      • Make sure this user has got an access to Oracle Fusion as well. 
    • Create ERP/HCM Adapter with Invoke Operation. 
      • Provide SaaS URL
      • Select Authentication type as OAuth Client Credentials.
        • Provide Client Id and Secret which we got above. 
        • Provide Authorization  and Token URL.
          • https://idcs-<Id>.identity.oraclecloud.com/oauth2/v1/authorize
          • https://idcs-<Id>.identity.oraclecloud.com/oauth2/v1/token
        • Provide Scope Value (Get it from IDCS client application.)
          • Add offline_access to the scope. 
          • https://<SaaS_Host_Name>.fa.ocs.oraclecloud.com:443/ offline_access
      • Select Provide Consent.
        • Provide OIC user credentials. 
        • Note : This user must present in Fusion as well. 
      • Save and Test the connection.

Wednesday, 19 May 2021

ORACLE OIC - IDCS SEARCH TO RETRIEVE DATA

 We can IDCS search API to get the required attributes and limited user list using pagination logic. 

Use the following API details to fetch the data from IDCS. 

URL: https://idcs-<id>.identity.oraclecloud.com/admin/v1/Users/.search

Operation : POST

IDCS Scope : urn:opc:idm:__myscopes__

Sample Request Payload:

{

  "schemas" : [ "urn:ietf:params:scim:api:messages:2.0:SearchRequest" ],

  "attributes" : [ "displayName", "userName", "emails", "active", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber" ],

  "filter" : "((urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber pr))",

  "startIndex" : 1,

  "count" : 100

}

OIC Expression  for Filter: 

filter :   conct("meta.lastModified ge ", '"', $varStartDate, '"', " and meta.lastModified le ", '"', $varEndDate, '"')

Monday, 8 February 2021

ORACLE OIC - OCI Object Storage List and Download Files

We can use the REST adapter to invoke the OCI Object Storage API's to list the files under a given bucket and download the files. 

Following API will provide all the files with a specific prefix. 

/n/{tenancy_name}/b/{bucket_name}/o/

Operation = GET.

Add a request parameter . 

Name = prefix 

Type = string. 

Note:  In the request mapping provide the values for tenancy_name , bucket_name and prefix elements. 


Use the following sample JSON response message to receive and parse the response message. 

Sample Response Message : 

{

  "objects" : [ {

    "name" : "1MB.data"

  } ]

}




If there are files in object storage then response will return an array of file names. Use the loop activity to loop over each file and download the file from Object Storage. 

To download the file use the following rest URI and GET operation. 

/n/{tenancy_name}/b/{bucket_name}/o/{object_name}

While defining response type select Binary value this will auto select media type.  



Use the response and write a file using stage activity.  Use an opaque schema element to write a file. 

While mapping , user the reference element from OCI response and add reference encoding function and map it to write schema element. 



To Upload Files to OS

Context URL to Use : /n/telenet/b/{bucket_name}/o/{object_name}

Operation : PUT

Select Request Parameter and Request Payload option.

Select the request type as BINARY.

curl --verbose -X PUT https://objectstorage.eu-frankfurt-1.oraclecloud.com/n/{tenancy}/b/{bucket_name}/o/{object_name} \

 -H "Authorization: [authorization-value]" \

 -H "Content-Type: application/octet-stream" \

 --data-binary "@file.ext" 



Saturday, 2 January 2021

OIC - New Features


Asserter to store the run results and can be used to replay the request. 

Oracle OIC agent framework uses OIC messaging channel , Oracle SaaS agent and one or more connectivity agents.

Agents polls for outbound invocations. It also support triggers configured with Agents. 

One Agent is enough to connect with all your on premise applications.  We dont need to have multiple agents for each connection. 

Agent group can contain multiple agents configured in different hosts in on premise server and they can act like HA server. 


ATP Connections : 

1. Login to OCI
2. Go to Autonomous Database
3. Select a  compartment
4. It will display the configured ATP.
5. Select the DB connection option on top
6. Download the Wallet 
7. Provide the Password while downloading the wallet. Zip file will get downloaded
8. Extract the zip file and you will find TNS file.  
9. TNS file will have an entry for each consumer type - HIGH , LOW , MEDIUM
10.  Get the required connection details from tns file
11. Select Authentication type as JDBC over SSL.
12. Updload the Wallet Zip file 
13. Provide Wallet password. 
14. Provide DB user name and password. 



Wednesday, 22 July 2020

OIC - REST API URL Patterns

Some applications can expose REST services using either path parameters or query parameters.  
For example Oracle Fusion applications provides REST API's using both path parameters and query parameters. 

Path Parameter Sample: 

https://fusion-host-name:443/hcmRestApi/resources/latest/userAccounts/{UserGUID}


When you provide this URL in OIC relative URL path , OIC will create a parameter called UserGUID with type as String. 

You can use this parameter variable to pass dynamic values during runtime. 


Query Parameter Sample: 


https://idcs-host-name/admin/v1/Users?filter=userName+sw+%22vijaya%22

https://oracle-fusion-hostname/hcmRestApi/resources/latest/emps?q=PersonNumber=112233


In this scenario , we cant provide URL with ?  in OIC rest end point.   We can provide value till ? mark. 

In the above examples, query parameters are filter and q strings.   

While creating REST invoke , select add query parameters and provide Query parameters as filter and q. 

We can provide values to these parameters in mapping and we can pass dynamic values. 

Example : 

q mapping   concat("PersonNumber=",'$dynamic_person_number')








Saturday, 18 July 2020

OIC - Invoke Oracle Fusion ESS Scheduler Job for Job Set

You may come across a scenario where in you may need to submit multiple ESS jobs or BIP Jobs  in parallel or in sequence.  In that case ,  you need to create a job set comprising multiple ESS jobs. 

Oracle provide following SOAP services to invoke ESS jobs. 

  • ERP Integration service 
    • https://<fa-host-name>/fscmService/ErpIntegrationService
  • ESS Webservice 
    • https://<fa-host-name>/ess/esswebservice
We can use ESS Webservice to invoke a Job Set or Individual Job Definition.  These are the sample payloads for invoking Job Definition or a Job Set. 



JOB_DEFINITION_PAYLOAD

<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-A5B886251698B47327159420696702512">
            <wsu:Created>2020-07-08T11:16:02.985Z</wsu:Created>
            <wsu:Expires>2020-07-08T12:17:07.024Z</wsu:Expires>
         </wsu:Timestamp>
         <wsse:UsernameToken wsu:Id="UsernameToken-A5B886251698B47327159420696298511">
            <wsse:Username>XXXXX</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXX</wsse:Password>
            <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">YPoASPzSuIL4V08wZwLrVw==</wsse:Nonce>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <sch:submitRequest>
         <sch:description>xxrun12345</sch:description>
         <sch:jobDefinitionId>
            <!--Optional:-->
            <typ:name>XXHCM_ERP_Newhire_Assignment_Supervisor_Extract</typ:name>
            <!--Optional:-->
            <typ:packageName>/oracle/apps/ess/custom/NewhireAssignmentSupervisor/</typ:packageName>
            <!--Optional:-->
            <typ:type>JOB_DEFINITION</typ:type>
         </sch:jobDefinitionId>
         <sch:application>EarHcmEss</sch:application>
         <sch:requestedStartTime>2020-07-08T11:16:02.985Z</sch:requestedStartTime>
         <sch:requestParameters/>
      </sch:submitRequest>
   </soapenv:Body>
</soapenv:Envelope>


JOB_SET_PAYLOAD:

Following sample payload will provide how to send the parameters to a Job Set


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://xmlns.oracle.com/scheduler" 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-A55DABD7EBC81F9C96159506526235712">
            <wsu:Created>2020-07-18T09:41:02.357Z</wsu:Created>
            <wsu:Expires>2020-07-18T11:21:02.357Z</wsu:Expires>
         </wsu:Timestamp>
         <wsse:UsernameToken wsu:Id="UsernameToken-A55DABD7EBC81F9C9615946214924243">
            <wsse:Username>xxxxxx</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">VwO7xSR3E3qdW//OXsrTmQ==</wsse:Nonce>
            <wsu:Created>2020-07-13T16:24:23.440Z</wsu:Created>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <sch:submitRequest>
         <sch:description>xxrun12347</sch:description>
         <sch:jobDefinitionId>
            <!--Optional:-->
            <typ:name>XXHCM_WORKER_WORKSTRUCTURES_JOBSET</typ:name>
            <!--Optional:-->
            <typ:packageName>/oracle/apps/ess/custom/jobset/</typ:packageName>
            <!--Optional:-->
            <typ:type>JOB_SET</typ:type>
         </sch:jobDefinitionId>
         <sch:application>EarHcmEss</sch:application>
         <sch:requestedStartTime/>
         <sch:requestParameters>
            <!--0 to 1000 repetitions:-->
            <typ:parameter>
               <typ:dataType>STRING</typ:dataType>
               <typ:name>submit.argument1</typ:name>
               <typ:value>1234</typ:value>
            </typ:parameter>
            <typ:parameter>
               <typ:dataType>STRING</typ:dataType>
               <typ:name>submit.argument2</typ:name>
               <typ:value>XXXXYYY</typ:value>
            </typ:parameter>
         </sch:requestParameters>
      </sch:submitRequest>
   </soapenv:Body>
</soapenv:Envelope>


Note:  We need to send the MessageID and Action in SOAP header to invoke these service. 


Common Errors and Solutions:

<env:Header>
      <FaultDetail xmlns="http://www.w3.org/2005/08/addressing">
         <ProblemHeaderQName>wsa:MessageID</ProblemHeaderQName>
      </FaultDetail>
      <wsa:Action>http://www.w3.org/2005/08/addressing/fault</wsa:Action>
   </env:Header>

Solution:  You are not sending Message ID in the request message. 


<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <env:Fault>
         <faultcode>env:Server</faultcode>
         <faultstring>java.lang.NullPointerException</faultstring>
      </env:Fault>
   </env:Body>
</env:Envelope>


Solution:  You are not sending requestParameters tag in the request message. 



<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <env:Fault>
         <faultcode>env:Server</faultcode>
         <faultstring>ESS-00502 The metadata object type must be specified</faultstring>
      </env:Fault>
   </env:Body>
</env:Envelope>

Solution:  You are not sending <typ:type>JOB_SET</typ:type> value or the namespace is not matching. 


 

Updated WSDL File: OIC will not support direct WSDL URL to create a SOAP connector.  Use the following WSDL definition to create a connector. 


<definitions name="ESSWebService" targetNamespace="http://xmlns.oracle.com/scheduler" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/scheduler" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
   <types>
      <xs:schema version="1.0" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/scheduler/types" xmlns:tns="http://xmlns.oracle.com/scheduler/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
         <xs:complexType name="metadataObjectId">
            <xs:sequence>
               <xs:element name="name" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="packageName" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="type" type="tns:metadataObjectType" minOccurs="0" form="qualified"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="postProcessAction">
            <xs:sequence>
               <xs:element name="actionName" type="xs:string" minOccurs="0"/>
               <xs:element name="actionOrder" type="xs:int"/>
               <xs:element name="arguments" type="xs:string" nillable="true" minOccurs="0" maxOccurs="100"/>
               <xs:element name="fileMgmtGroup" type="xs:string" minOccurs="0"/>
               <xs:element name="description" type="xs:string" minOccurs="0"/>
               <xs:element name="onError" type="xs:boolean"/>
               <xs:element name="onSuccess" type="xs:boolean"/>
               <xs:element name="onWarning" type="xs:boolean"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="nlsOptions">
            <xs:sequence>
               <xs:element name="language" type="xs:string" minOccurs="0"/>
               <xs:element name="numericCharacters" type="xs:string" minOccurs="0"/>
               <xs:element name="territory" type="xs:string" minOccurs="0"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="requestParameters">
            <xs:sequence>
               <xs:element name="parameter" type="tns:requestParameter" nillable="true" minOccurs="0" maxOccurs="1000" form="qualified"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="requestParameter">
            <xs:sequence>
               <xs:element name="dataType" type="tns:dataType" minOccurs="0" form="qualified"/>
               <xs:element name="name" type="xs:string" minOccurs="0"/>
               <xs:element name="scope" type="xs:string" minOccurs="0"/>
               <xs:element name="value" type="xs:string" minOccurs="0"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="requestExecutionContext">
            <xs:sequence>
               <xs:element name="requestId" type="xs:long"/>
               <xs:element name="requestHandle" type="xs:string"/>
               <xs:element name="pausedState" type="xs:string"/>
               <xs:element name="resumed" type="xs:boolean"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="stepArgs">
            <xs:sequence>
               <xs:element name="arguments" type="xs:string" nillable="true" minOccurs="0" maxOccurs="100"/>
               <xs:element name="NLSOptions" type="tns:nlsOptions" minOccurs="0" form="qualified"/>
               <xs:element name="PPActions" type="tns:postProcessAction" nillable="true" minOccurs="0" maxOccurs="100" form="qualified"/>
               <xs:element name="stepPath" type="xs:string" minOccurs="0"/>
            </xs:sequence>
         </xs:complexType>
         <xs:complexType name="requestDetail">
            <xs:sequence>
               <xs:element name="actualEndTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="actualStartTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="cause" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="description" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="dispatcherNode" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="expirationTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="isCancellable" type="xs:boolean" form="qualified"/>
               <xs:element name="isHoldable" type="xs:boolean" form="qualified"/>
               <xs:element name="jobDefinitionId" type="tns:metadataObjectId" minOccurs="0" form="qualified"/>
               <xs:element name="parentRequestId" type="xs:long" form="qualified"/>
               <xs:element name="priority" type="xs:int" form="qualified"/>
               <xs:element name="processorNode" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="requestId" type="xs:long" form="qualified"/>
               <xs:element name="requestParameters" type="tns:requestParameters" minOccurs="0" form="qualified"/>
               <xs:element name="requestedEndTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="requestedStartTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="retried" type="xs:int" form="qualified"/>
               <xs:element name="scheduleId" type="tns:metadataObjectId" minOccurs="0" form="qualified"/>
               <xs:element name="scheduledTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="state" type="tns:state" minOccurs="0" form="qualified"/>
               <xs:element name="errorType" type="tns:errorType" minOccurs="0" form="qualified"/>
               <xs:element name="stepId" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="submissionTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="submitter" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="runAsUser" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="triggerId" type="tns:metadataObjectId" minOccurs="0" form="qualified"/>
               <xs:element name="workAssignmentId" type="tns:metadataObjectId" minOccurs="0" form="qualified"/>
               <xs:element name="workshiftId" type="tns:metadataObjectId" minOccurs="0" form="qualified"/>
               <xs:element name="requestType" type="tns:requestType" minOccurs="0" form="qualified"/>
               <xs:element name="errorWarningMessage" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="errorWarningTime" type="xs:dateTime" minOccurs="0" form="qualified"/>
               <xs:element name="errorWarningDetail" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="ecid" type="xs:string" minOccurs="0" form="qualified"/>
               <xs:element name="processPhase" type="xs:string" minOccurs="0" form="qualified"/>
            </xs:sequence>
         </xs:complexType>
         <xs:simpleType name="metadataObjectType">
            <xs:restriction base="xs:string">
               <xs:enumeration value="JOB_TYPE"/>
               <xs:enumeration value="JOB_DEFINITION"/>
               <xs:enumeration value="JOB_SET"/>
               <xs:enumeration value="INCOMPATIBILITY"/>
               <xs:enumeration value="SCHEDULE_DEFINITION"/>
               <xs:enumeration value="EXCLUSION_DEFINITION"/>
               <xs:enumeration value="TRIGGER"/>
               <xs:enumeration value="WORKSHIFT"/>
               <xs:enumeration value="WORK_ASSIGNMENT"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="state">
            <xs:restriction base="xs:string">
               <xs:enumeration value="WAIT"/>
               <xs:enumeration value="READY"/>
               <xs:enumeration value="RUNNING"/>
               <xs:enumeration value="COMPLETED"/>
               <xs:enumeration value="BLOCKED"/>
               <xs:enumeration value="HOLD"/>
               <xs:enumeration value="CANCELLING"/>
               <xs:enumeration value="EXPIRED"/>
               <xs:enumeration value="CANCELLED"/>
               <xs:enumeration value="ERROR"/>
               <xs:enumeration value="WARNING"/>
               <xs:enumeration value="SUCCEEDED"/>
               <xs:enumeration value="PAUSED"/>
               <xs:enumeration value="PENDING_VALIDATION"/>
               <xs:enumeration value="VALIDATION_FAILED"/>
               <xs:enumeration value="SCHEDULE_ENDED"/>
               <xs:enumeration value="FINISHED"/>
               <xs:enumeration value="ERROR_AUTO_RETRY"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="errorType">
            <xs:restriction base="xs:string">
               <xs:enumeration value="UNDEFINED"/>
               <xs:enumeration value="SYSTEM"/>
               <xs:enumeration value="BUSINESS"/>
               <xs:enumeration value="TIMEOUT"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="dataType">
            <xs:restriction base="xs:string">
               <xs:enumeration value="STRING"/>
               <xs:enumeration value="INTEGER"/>
               <xs:enumeration value="LONG"/>
               <xs:enumeration value="BOOLEAN"/>
               <xs:enumeration value="DATETIME"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="requestType">
            <xs:restriction base="xs:string">
               <xs:enumeration value="SINGLETON"/>
               <xs:enumeration value="RECUR_PARENT"/>
               <xs:enumeration value="RECUR_CHILD"/>
               <xs:enumeration value="JOBSET_SINGLETON"/>
               <xs:enumeration value="JOBSET_STEP"/>
               <xs:enumeration value="JOBSET_RECUR_PARENT"/>
               <xs:enumeration value="JOBSET_RECUR_CHILD"/>
               <xs:enumeration value="SUB_REQUEST"/>
               <xs:enumeration value="UNVALIDATED_REQUEST"/>
               <xs:enumeration value="UNVALIDATED_SUB_REQUEST"/>
               <xs:enumeration value="TRIGGER_CHILD"/>
               <xs:enumeration value="JOBSET_TRIGGER_CHILD"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="asyncStatus">
            <xs:restriction base="xs:string">
               <xs:enumeration value="SUCCESS"/>
               <xs:enumeration value="PAUSE"/>
               <xs:enumeration value="CANCEL"/>
               <xs:enumeration value="WARNING"/>
               <xs:enumeration value="ERROR"/>
               <xs:enumeration value="UPDATE"/>
               <xs:enumeration value="BIZ_ERROR"/>
            </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="processPhase">
            <xs:restriction base="xs:string">
               <xs:enumeration value="Undefined"/>
               <xs:enumeration value="Initial"/>
               <xs:enumeration value="JobSetInitial"/>
               <xs:enumeration value="PreProcessStart"/>
               <xs:enumeration value="PreProcessDelayed"/>
               <xs:enumeration value="PreProcessComplete"/>
               <xs:enumeration value="ExecuteInitiate"/>
               <xs:enumeration value="ExecuteInitiateComplete"/>
               <xs:enumeration value="ExecuteAsyncWait"/>
               <xs:enumeration value="ExecuteFinalize"/>
               <xs:enumeration value="ExecuteFinalizeAsync"/>
               <xs:enumeration value="ExecuteFinalizeComplete"/>
               <xs:enumeration value="ExecutePaused"/>
               <xs:enumeration value="PostProcessStart"/>
               <xs:enumeration value="PostProcessDelayed"/>
               <xs:enumeration value="PostProcessComplete"/>
               <xs:enumeration value="ProcessExecuteComplete"/>
               <xs:enumeration value="PostExecuteStart"/>
               <xs:enumeration value="PostExecuteWaitForSubreq"/>
               <xs:enumeration value="PostExecuteTerminalComplete"/>
               <xs:enumeration value="PostExecuteComplete"/>
               <xs:enumeration value="Complete"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:schema>
      <schema targetNamespace="http://xmlns.oracle.com/scheduler" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://xmlns.oracle.com/scheduler/types">
         <import namespace="http://xmlns.oracle.com/scheduler/types"/>
         <import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="https://www.w3.org/2006/03/addressing/ws-addr.xsd"/>
         <xsd:complexType name="submitRequest">
            <xsd:sequence>
               <xsd:element name="description" type="xsd:string" form="qualified"/>
               <xsd:element name="jobDefinitionId" type="ns1:metadataObjectId" form="qualified"/>
               <xsd:element name="application" type="xsd:string" form="qualified"/>
               <xsd:element name="requestedStartTime" type="xsd:dateTime" form="qualified"/>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitRequest" type="tns:submitRequest"/>
         <xsd:complexType name="submitRequestResponse">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitRequestResponse" type="tns:submitRequestResponse"/>
         <xsd:complexType name="submitRecurringRequest">
            <xsd:sequence>
               <xsd:element name="description" type="xsd:string" form="qualified"/>
               <xsd:element name="jobDefinitionId" type="ns1:metadataObjectId" form="qualified"/>
               <xsd:element name="scheduleId" type="ns1:metadataObjectId" form="qualified"/>
               <xsd:element name="triggerId" type="ns1:metadataObjectId" form="qualified"/>
               <xsd:element name="application" type="xsd:string" form="qualified"/>
               <xsd:element name="requestedStartTime" type="xsd:dateTime" form="qualified"/>
               <xsd:element name="requestedEndTime" type="xsd:dateTime" form="qualified"/>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitRecurringRequest" type="tns:submitRecurringRequest"/>
         <xsd:complexType name="submitRecurringRequestResponse">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitRecurringRequestResponse" type="tns:submitRecurringRequestResponse"/>
         <xsd:complexType name="submitInstantRecurringRequest">
            <xsd:sequence>
               <xsd:element name="description" type="xsd:string" form="qualified"/>
               <xsd:element name="jobDefinitionId" type="ns1:metadataObjectId" form="qualified"/>
               <xsd:element name="iCalSchedule" type="xsd:string" form="qualified"/>
               <xsd:element name="application" type="xsd:string" form="qualified"/>
               <xsd:element name="requestedStartTime" type="xsd:dateTime" form="qualified"/>
               <xsd:element name="requestedEndTime" type="xsd:dateTime" form="qualified"/>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitInstantRecurringRequest" type="tns:submitInstantRecurringRequest"/>
         <xsd:complexType name="submitInstantRecurringRequestResponse">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="submitInstantRecurringRequestResponse" type="tns:submitInstantRecurringRequestResponse"/>
         <xsd:complexType name="getCompletionStatus">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getCompletionStatus" type="tns:getCompletionStatus"/>
         <xsd:complexType name="onJobCompletion">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long"/>
               <xsd:element name="state" type="ns1:state" minOccurs="0"/>
               <xsd:element name="resultMessage" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="onJobCompletion" type="tns:onJobCompletion"/>
         <xsd:complexType name="getRequestState">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestState" type="tns:getRequestState"/>
         <xsd:complexType name="getRequestStateResponse">
            <xsd:sequence>
               <xsd:element name="state" type="ns1:state"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestStateResponse" type="tns:getRequestStateResponse"/>
         <xsd:complexType name="checkInCancelling">
            <xsd:sequence>
               <xsd:element name="requestExecutionContext" type="xsd:string" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="checkInCancelling" type="tns:checkInCancelling"/>
         <xsd:complexType name="checkInCancellingResponse">
            <xsd:sequence>
               <xsd:element name="isCancelling" type="xsd:boolean"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="checkInCancellingResponse" type="tns:checkInCancellingResponse"/>
         <xsd:complexType name="getRequestDetail">
            <xsd:sequence>
               <xsd:element name="requestId" form="qualified" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestDetail" type="tns:getRequestDetail"/>
         <xsd:complexType name="getRequestDetailResponse">
            <xsd:sequence>
               <xsd:element name="requestDetail" type="ns1:requestDetail"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestDetailResponse" type="tns:getRequestDetailResponse"/>
         <xsd:complexType name="getRequestExecutionContext">
            <xsd:sequence>
               <xsd:element name="requestExecutionContext" type="xsd:string" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestExecutionContext" type="tns:getRequestExecutionContext"/>
         <xsd:complexType name="getRequestExecutionContextResponse">
            <xsd:sequence>
               <xsd:element name="requestExecutionContext" type="ns1:requestExecutionContext"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="getRequestExecutionContextResponse" type="tns:getRequestExecutionContextResponse"/>
         <xsd:complexType name="holdRequest">
            <xsd:sequence>
               <xsd:element name="requestId" form="qualified" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="holdRequest" type="tns:holdRequest"/>
         <xsd:complexType name="holdRequestResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="holdRequestResponse" type="tns:holdRequestResponse"/>
         <xsd:complexType name="releaseRequest">
            <xsd:sequence>
               <xsd:element name="requestId" form="qualified" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="releaseRequest" type="tns:releaseRequest"/>
         <xsd:complexType name="releaseRequestResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="releaseRequestResponse" type="tns:releaseRequestResponse"/>
         <xsd:complexType name="setAsyncRequestStatus">
            <xsd:sequence>
               <xsd:element name="requestExecutionContext" type="xsd:string" form="qualified"/>
               <xsd:element name="status" form="qualified" type="ns1:asyncStatus"/>
               <xsd:element name="statusMessage" type="xsd:string" minOccurs="0" maxOccurs="1" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setAsyncRequestStatus" type="tns:setAsyncRequestStatus"/>
         <xsd:complexType name="setAsyncRequestStatusResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="setAsyncRequestStatusResponse" type="tns:setAsyncRequestStatusResponse"/>
         <xsd:complexType name="cancelRequest">
            <xsd:sequence>
               <xsd:element name="requestId" type="xsd:long" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="cancelRequest" type="tns:cancelRequest"/>
         <xsd:complexType name="cancelRequestResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="cancelRequestResponse" type="tns:cancelRequestResponse"/>
         <xsd:complexType name="deleteRequest">
            <xsd:sequence>
               <xsd:element name="requestId" form="qualified" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="deleteRequest" type="tns:deleteRequest"/>
         <xsd:complexType name="deleteRequestResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="deleteRequestResponse" type="tns:deleteRequestResponse"/>
         <xsd:complexType name="purgeRequest">
            <xsd:sequence>
               <xsd:element name="requestId" form="qualified" type="xsd:long"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="purgeRequest" type="tns:purgeRequest"/>
         <xsd:complexType name="purgeRequestResponse">
            <xsd:sequence/>
         </xsd:complexType>
         <xsd:element name="purgeRequestResponse" type="tns:purgeRequestResponse"/>
         <xsd:complexType name="setSubmitArgs">
            <xsd:sequence>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
               <xsd:element name="arguments" minOccurs="0" maxOccurs="100" type="xsd:string" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setSubmitArgs" type="tns:setSubmitArgs"/>
         <xsd:complexType name="setSubmitArgsResponse">
            <xsd:sequence>
               <xsd:element name="requestParametersReturn" type="ns1:requestParameters"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setSubmitArgsResponse" type="tns:setSubmitArgsResponse"/>
         <xsd:complexType name="setStepsArgs">
            <xsd:sequence>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
               <xsd:element name="stepArgsList" minOccurs="0" maxOccurs="100" form="qualified" type="ns1:stepArgs"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setStepsArgs" type="tns:setStepsArgs"/>
         <xsd:complexType name="setStepsArgsResponse">
            <xsd:sequence>
               <xsd:element name="requestParametersReturn" type="ns1:requestParameters"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setStepsArgsResponse" type="tns:setStepsArgsResponse"/>
         <xsd:complexType name="addPPActions">
            <xsd:sequence>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
               <xsd:element name="postProcessActions" minOccurs="0" maxOccurs="100" type="ns1:postProcessAction" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="addPPActions" type="tns:addPPActions"/>
         <xsd:complexType name="addPPActionsResponse">
            <xsd:sequence>
               <xsd:element name="requestParametersReturn" type="ns1:requestParameters"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="addPPActionsResponse" type="tns:addPPActionsResponse"/>
         <xsd:complexType name="setNLSOptions">
            <xsd:sequence>
               <xsd:element name="requestParameters" type="ns1:requestParameters" form="qualified"/>
               <xsd:element name="nlsOptions" type="ns1:nlsOptions" form="qualified"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setNLSOptions" type="tns:setNLSOptions"/>
         <xsd:complexType name="setNLSOptionsResponse">
            <xsd:sequence>
               <xsd:element name="requestParametersReturn" type="ns1:requestParameters"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="setNLSOptionsResponse" type="tns:setNLSOptionsResponse"/>
         <xsd:complexType name="IllegalStateException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="IllegalStateException" type="tns:IllegalStateException"/>
         <xsd:complexType name="RuntimeServiceException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="RuntimeServiceException" type="tns:RuntimeServiceException"/>
         <xsd:complexType name="IllegalArgumentException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="IllegalArgumentException" type="tns:IllegalArgumentException"/>
         <xsd:complexType name="ValidationException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="ValidationException" type="tns:ValidationException"/>
         <xsd:complexType name="NotAllowedException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="NotAllowedException" type="tns:NotAllowedException"/>
         <xsd:complexType name="NotFoundException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="NotFoundException" type="tns:NotFoundException"/>
         <xsd:complexType name="RequestNotFoundException">
            <xsd:sequence>
               <xsd:element name="Message" type="xsd:string"/>
            </xsd:sequence>
         </xsd:complexType>
         <xsd:element name="RequestNotFoundException" type="tns:RequestNotFoundException"/>
      </schema>
   </types>
   <message name="wsaHeader">
      <part name="MessageID" element="wsa:MessageID"/>
      <part name="Action" element="wsa:Action"/>
   </message>
   <message name="submitRequestInput">
      <part name="parameters" element="tns:submitRequest"/>
   </message>
   <message name="submitRequestOutput">
      <part name="parameters" element="tns:submitRequestResponse"/>
   </message>
   <message name="RuntimeServiceException">
      <part name="RuntimeServiceException" element="tns:RuntimeServiceException"/>
   </message>
   <message name="ValidationException">
      <part name="ValidationException" element="tns:ValidationException"/>
   </message>
   <message name="NotFoundException">
      <part name="NotFoundException" element="tns:NotFoundException"/>
   </message>
   <message name="submitRecurringRequestInput">
      <part name="parameters" element="tns:submitRecurringRequest"/>
   </message>
   <message name="submitRecurringRequestOutput">
      <part name="parameters" element="tns:submitRecurringRequestResponse"/>
   </message>
   <message name="submitInstantRecurringRequestInput">
      <part name="parameters" element="tns:submitInstantRecurringRequest"/>
   </message>
   <message name="submitInstantRecurringRequestOutput">
      <part name="parameters" element="tns:submitInstantRecurringRequestResponse"/>
   </message>
   <message name="NotAllowedException">
      <part name="NotAllowedException" element="tns:NotAllowedException"/>
   </message>
   <message name="getCompletionStatusInput">
      <part name="parameters" element="tns:getCompletionStatus"/>
   </message>
   <message name="checkInCancellingInput">
      <part name="parameters" element="tns:checkInCancelling"/>
   </message>
   <message name="checkInCancellingOutput">
      <part name="parameters" element="tns:checkInCancellingResponse"/>
   </message>
   <message name="getRequestStateInput">
      <part name="parameters" element="tns:getRequestState"/>
   </message>
   <message name="getRequestStateOutput">
      <part name="parameters" element="tns:getRequestStateResponse"/>
   </message>
   <message name="getRequestDetailInput">
      <part name="parameters" element="tns:getRequestDetail"/>
   </message>
   <message name="getRequestDetailOutput">
      <part name="parameters" element="tns:getRequestDetailResponse"/>
   </message>
   <message name="getRequestExecutionContextInput">
      <part name="parameters" element="tns:getRequestExecutionContext"/>
   </message>
   <message name="getRequestExecutionContextOutput">
      <part name="parameters" element="tns:getRequestExecutionContextResponse"/>
   </message>
   <message name="holdRequestInput">
      <part name="parameters" element="tns:holdRequest"/>
   </message>
   <message name="holdRequestOutput">
      <part name="parameters" element="tns:holdRequestResponse"/>
   </message>
   <message name="IllegalStateException">
      <part name="IllegalStateException" element="tns:IllegalStateException"/>
   </message>
   <message name="releaseRequestInput">
      <part name="parameters" element="tns:releaseRequest"/>
   </message>
   <message name="releaseRequestOutput">
      <part name="parameters" element="tns:releaseRequestResponse"/>
   </message>
   <message name="setAsyncRequestStatusInput">
      <part name="parameters" element="tns:setAsyncRequestStatus"/>
   </message>
   <message name="setAsyncRequestStatusOutput">
      <part name="parameters" element="tns:setAsyncRequestStatusResponse"/>
   </message>
   <message name="RequestNotFoundException">
      <part name="RequestNotFoundException" element="tns:RequestNotFoundException"/>
   </message>
   <message name="cancelRequestInput">
      <part name="parameters" element="tns:cancelRequest"/>
   </message>
   <message name="cancelRequestOutput">
      <part name="parameters" element="tns:cancelRequestResponse"/>
   </message>
   <message name="deleteRequestInput">
      <part name="parameters" element="tns:deleteRequest"/>
   </message>
   <message name="deleteRequestOutput">
      <part name="parameters" element="tns:deleteRequestResponse"/>
   </message>
   <message name="purgeRequestInput">
      <part name="parameters" element="tns:purgeRequest"/>
   </message>
   <message name="purgeRequestOutput">
      <part name="parameters" element="tns:purgeRequestResponse"/>
   </message>
   <message name="setSubmitArgsInput">
      <part name="parameters" element="tns:setSubmitArgs"/>
   </message>
   <message name="setSubmitArgsOutput">
      <part name="parameters" element="tns:setSubmitArgsResponse"/>
   </message>
   <message name="IllegalArgumentException">
      <part name="IllegalArgumentException" element="tns:IllegalArgumentException"/>
   </message>
   <message name="setStepsArgsInput">
      <part name="parameters" element="tns:setStepsArgs"/>
   </message>
   <message name="setStepsArgsOutput">
      <part name="parameters" element="tns:setStepsArgsResponse"/>
   </message>
   <message name="addPPActionsInput">
      <part name="parameters" element="tns:addPPActions"/>
   </message>
   <message name="addPPActionsOutput">
      <part name="parameters" element="tns:addPPActionsResponse"/>
   </message>
   <message name="setNLSOptionsInput">
      <part name="parameters" element="tns:setNLSOptions"/>
   </message>
   <message name="setNLSOptionsOutput">
      <part name="parameters" element="tns:setNLSOptionsResponse"/>
   </message>
   <message name="onJobCompletionInput">
      <part name="parameters" element="tns:onJobCompletion"/>
   </message>
   <portType name="ESSWebService">
      <operation name="submitRequest">
         <input message="tns:submitRequestInput" ns1:Action="submitRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:submitRequestOutput" ns1:Action="submitRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="ValidationException" message="tns:ValidationException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="submitRecurringRequest">
         <input message="tns:submitRecurringRequestInput" ns1:Action="submitRecurringRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:submitRecurringRequestOutput" ns1:Action="submitRecurringRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="ValidationException" message="tns:ValidationException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="submitInstantRecurringRequest">
         <input message="tns:submitInstantRecurringRequestInput" ns1:Action="submitInstantRecurringRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:submitInstantRecurringRequestOutput" ns1:Action="submitInstantRecurringRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="ValidationException" message="tns:ValidationException"/>
         <fault name="NotAllowedException" message="tns:NotAllowedException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="getCompletionStatus">
         <input message="tns:getCompletionStatusInput" ns1:Action="getCompletionStatus" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
      </operation>
      <operation name="checkInCancelling">
         <input message="tns:checkInCancellingInput" ns1:Action="checkInCancelling" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:checkInCancellingOutput" ns1:Action="checkInCancelling" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="getRequestState">
         <input message="tns:getRequestStateInput" ns1:Action="getRequestState" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:getRequestStateOutput" ns1:Action="getRequestState" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="getRequestDetail">
         <input message="tns:getRequestDetailInput" ns1:Action="getRequestDetail" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:getRequestDetailOutput" ns1:Action="getRequestDetail" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="getRequestExecutionContext">
         <input message="tns:getRequestExecutionContextInput" ns1:Action="getRequestExecutionContext" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:getRequestExecutionContextOutput" ns1:Action="getRequestExecutionContext" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="holdRequest">
         <input message="tns:holdRequestInput" ns1:Action="holdRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:holdRequestOutput" ns1:Action="holdRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="IllegalStateException" message="tns:IllegalStateException"/>
         <fault name="NotAllowedException" message="tns:NotAllowedException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="releaseRequest">
         <input message="tns:releaseRequestInput" ns1:Action="releaseRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:releaseRequestOutput" ns1:Action="releaseRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="IllegalStateException" message="tns:IllegalStateException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="setAsyncRequestStatus">
         <input message="tns:setAsyncRequestStatusInput" ns1:Action="setAsyncRequestStatus" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:setAsyncRequestStatusOutput" ns1:Action="setAsyncRequestStatus" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="RequestNotFoundException" message="tns:RequestNotFoundException"/>
      </operation>
      <operation name="cancelRequest">
         <input message="tns:cancelRequestInput" ns1:Action="cancelRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:cancelRequestOutput" ns1:Action="cancelRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="IllegalStateException" message="tns:IllegalStateException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="deleteRequest">
         <input message="tns:deleteRequestInput" ns1:Action="deleteRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:deleteRequestOutput" ns1:Action="deleteRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="IllegalStateException" message="tns:IllegalStateException"/>
         <fault name="NotAllowedException" message="tns:NotAllowedException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="purgeRequest">
         <input message="tns:purgeRequestInput" ns1:Action="purgeRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:purgeRequestOutput" ns1:Action="purgeRequest" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="RuntimeServiceException" message="tns:RuntimeServiceException"/>
         <fault name="IllegalStateException" message="tns:IllegalStateException"/>
         <fault name="NotAllowedException" message="tns:NotAllowedException"/>
         <fault name="NotFoundException" message="tns:NotFoundException"/>
      </operation>
      <operation name="setSubmitArgs">
         <input message="tns:setSubmitArgsInput" ns1:Action="setSubmitArgs" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:setSubmitArgsOutput" ns1:Action="setSubmitArgs" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="IllegalArgumentException" message="tns:IllegalArgumentException"/>
      </operation>
      <operation name="setStepsArgs">
         <input message="tns:setStepsArgsInput" ns1:Action="setStepsArgs" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:setStepsArgsOutput" ns1:Action="setStepsArgs" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="IllegalArgumentException" message="tns:IllegalArgumentException"/>
      </operation>
      <operation name="addPPActions">
         <input message="tns:addPPActionsInput" ns1:Action="addPPActions" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:addPPActionsOutput" ns1:Action="addPPActions" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="IllegalArgumentException" message="tns:IllegalArgumentException"/>
      </operation>
      <operation name="setNLSOptions">
         <input message="tns:setNLSOptionsInput" ns1:Action="setNLSOptions" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <output message="tns:setNLSOptionsOutput" ns1:Action="setNLSOptions" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
         <fault name="IllegalArgumentException" message="tns:IllegalArgumentException"/>
      </operation>
   </portType>
   <portType name="ESSWebServiceCallback">
      <operation name="onJobCompletion">
         <input message="tns:onJobCompletionInput" ns1:Action="http://xmlns.oracle.com/scheduler/ESSWebService/getCompletionStatus/Response" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"/>
      </operation>
   </portType>
   <binding name="ESSWebServiceCallbackSoapHttp" type="tns:ESSWebServiceCallback" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsaw:UsingAddressing wsdl:required="true"/>
      <operation name="onJobCompletion">
         <soap:operation soapAction="onJobCompletion"/>
         <input>
            <soap:body use="literal"/>
         </input>
      </operation>
   </binding>
   <binding name="ESSWebServiceSoapHttp" type="tns:ESSWebService" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsaw:UsingAddressing wsdl:required="true"/>
      <operation name="submitRequest">
         <soap:operation soapAction="submitRequest"/>
         <input>
            <soap:body use="literal"/>
            <soap:header message="tns:wsaHeader" part="MessageID" use="literal"/>
            <soap:header message="tns:wsaHeader" part="Action" use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="ValidationException">
            <soap:fault name="ValidationException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="submitRecurringRequest">
         <soap:operation soapAction="submitRecurringRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="ValidationException">
            <soap:fault name="ValidationException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="submitInstantRecurringRequest">
         <soap:operation soapAction="submitInstantRecurringRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="ValidationException">
            <soap:fault name="ValidationException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotAllowedException">
            <soap:fault name="NotAllowedException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="getCompletionStatus">
         <soap:operation soapAction="getCompletionStatus"/>
         <input>
            <soap:body use="literal"/>
         </input>
      </operation>
      <operation name="getRequestState">
         <soap:operation soapAction="getRequestState"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="checkInCancelling">
         <soap:operation soapAction="checkInCancelling"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="getRequestDetail">
         <soap:operation soapAction="getRequestDetail"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="getRequestExecutionContext">
         <soap:operation soapAction="getRequestExecutionContext"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="holdRequest">
         <soap:operation soapAction="holdRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="IllegalStateException">
            <soap:fault name="IllegalStateException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotAllowedException">
            <soap:fault name="NotAllowedException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="releaseRequest">
         <soap:operation soapAction="releaseRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="IllegalStateException">
            <soap:fault name="IllegalStateException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="setAsyncRequestStatus">
         <soap:operation soapAction="setAsyncRequestStatus"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="RequestNotFoundException">
            <soap:fault name="RequestNotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="cancelRequest">
         <soap:operation soapAction="cancelRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="IllegalStateException">
            <soap:fault name="IllegalStateException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="deleteRequest">
         <soap:operation soapAction="deleteRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="IllegalStateException">
            <soap:fault name="IllegalStateException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotAllowedException">
            <soap:fault name="NotAllowedException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="purgeRequest">
         <soap:operation soapAction="purgeRequest"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="RuntimeServiceException">
            <soap:fault name="RuntimeServiceException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="IllegalStateException">
            <soap:fault name="IllegalStateException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotAllowedException">
            <soap:fault name="NotAllowedException" use="literal" encodingStyle=""/>
         </fault>
         <fault name="NotFoundException">
            <soap:fault name="NotFoundException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="setSubmitArgs">
         <soap:operation soapAction="setSubmitArgs"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="IllegalArgumentException">
            <soap:fault name="IllegalArgumentException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="setStepsArgs">
         <soap:operation soapAction="setStepsArgs"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="IllegalArgumentException">
            <soap:fault name="IllegalArgumentException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="addPPActions">
         <soap:operation soapAction="addPPActions"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="IllegalArgumentException">
            <soap:fault name="IllegalArgumentException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
      <operation name="setNLSOptions">
         <soap:operation soapAction="setNLSOptions"/>
         <input>
            <soap:body use="literal"/>
         </input>
         <output>
            <soap:body use="literal"/>
         </output>
         <fault name="IllegalArgumentException">
            <soap:fault name="IllegalArgumentException" use="literal" encodingStyle=""/>
         </fault>
      </operation>
   </binding>
   <service name="ESSWebService">
      <port name="SchedulerServiceImplPort" binding="tns:ESSWebServiceSoapHttp">
         <soap:address location="https://hostname:443/ess/esswebservice"/>
      </port>
   </service>
   <service name="ESSWebServiceCallback">
      <port name="callbackPort" binding="tns:ESSWebServiceCallbackSoapHttp">
         <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
      </port>
   </service>
</definitions>


Oracle Fusion - Order Management Cross Reference

Summary:  This guide outlines the steps to manage cross-reference data for Sales Order FBDI upload for the source systems,  including export...