Oracle E-Business Suite · Arazzo Workflow

Oracle EBS ISG Service Invocation

Version 1.0.0

Log in, initialize application context, discover a service, invoke a method, then log out.

1 workflow 1 source API 1 provider
View Spec View on GitHub Business ApplicationsE-Business SuiteEnterpriseERPOracleArazzoWorkflows

Provider

oracle-e-business-suite

Workflows

invoke-isg-service
Run a full ISG session - login, initialize, discover, invoke, logout.
Authenticates to the Integrated SOA Gateway, initializes the application context, retrieves the service WADL, invokes a deployed REST method, and logs out to close the session.
5 steps inputs: applId, applKey, inputParameters, methodName, orgId, orgKey, respId, respKey, securityGroupId, securityGroupKey, serviceAlias outputs: accessToken, logoutData, result
1
login
login
Authenticate with HTTP Basic Authentication to obtain a session access token.
2
initializeContext
initialize
Initialize the responsibility, security group, and organization context for the authenticated session.
3
discoverService
getServiceWADL
Retrieve the WADL description of the target service to confirm the method is available before invoking it.
4
invokeMethod
invokeRestMethod
Invoke the deployed REST method on the service with the supplied input parameters and context header.
5
logout
logout
Log out to invalidate the session access token now that the method call is complete.

Source API Descriptions

Arazzo Workflow Specification

oracle-e-business-suite-isg-service-invocation-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle EBS ISG Service Invocation
  summary: Log in, initialize application context, discover a service, invoke a method, then log out.
  description: >-
    The end-to-end Integrated SOA Gateway session lifecycle for Oracle EBS. The
    workflow authenticates to obtain an access token, initializes the
    responsibility and organization context, retrieves the service WADL to
    confirm the method, invokes the deployed REST method, and finally logs out
    to invalidate the token. Each step inlines its request so the gateway
    session flow can be executed without opening the OpenAPI source.
  version: 1.0.0
sourceDescriptions:
- name: isgRestApi
  url: ../openapi/isg-rest-api.yml
  type: openapi
workflows:
- workflowId: invoke-isg-service
  summary: Run a full ISG session - login, initialize, discover, invoke, logout.
  description: >-
    Authenticates to the Integrated SOA Gateway, initializes the application
    context, retrieves the service WADL, invokes a deployed REST method, and
    logs out to close the session.
  inputs:
    type: object
    required:
    - respId
    - applId
    - respKey
    - applKey
    - securityGroupId
    - securityGroupKey
    - orgId
    - orgKey
    - serviceAlias
    - methodName
    - inputParameters
    properties:
      respId:
        type: string
        description: Responsibility identifier for the application context.
      applId:
        type: string
        description: Application identifier.
      respKey:
        type: string
        description: Responsibility key.
      applKey:
        type: string
        description: Application key.
      securityGroupId:
        type: string
        description: Security group identifier.
      securityGroupKey:
        type: string
        description: Security group key.
      orgId:
        type: string
        description: Operating unit / organization identifier.
      orgKey:
        type: string
        description: Organization key.
      serviceAlias:
        type: string
        description: Alias of the deployed REST service to invoke.
      methodName:
        type: string
        description: REST method name to invoke on the service.
      inputParameters:
        type: string
        description: Method input parameters payload.
  steps:
  - stepId: login
    description: >-
      Authenticate with HTTP Basic Authentication to obtain a session access
      token.
    operationId: login
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accessToken: $response.body#/response/data/accessToken
      userName: $response.body#/response/data/userName
  - stepId: initializeContext
    description: >-
      Initialize the responsibility, security group, and organization context
      for the authenticated session.
    operationId: initialize
    requestBody:
      contentType: application/json
      payload:
        data:
          resp:
            id: $inputs.respId
            applId: $inputs.applId
            key: $inputs.respKey
            applKey: $inputs.applKey
          securityGroup:
            id: $inputs.securityGroupId
            key: $inputs.securityGroupKey
          org:
            id: $inputs.orgId
            key: $inputs.orgKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      initData: $response.body#/response/data
  - stepId: discoverService
    description: >-
      Retrieve the WADL description of the target service to confirm the method
      is available before invoking it.
    operationId: getServiceWADL
    parameters:
    - name: serviceAlias
      in: path
      value: $inputs.serviceAlias
    - name: WADL
      in: query
      value: ''
    successCriteria:
    - condition: $statusCode == 200
  - stepId: invokeMethod
    description: >-
      Invoke the deployed REST method on the service with the supplied input
      parameters and context header.
    operationId: invokeRestMethod
    parameters:
    - name: serviceAlias
      in: path
      value: $inputs.serviceAlias
    - name: methodName
      in: path
      value: $inputs.methodName
    requestBody:
      contentType: application/json
      payload:
        RESTHeader:
          Org_Id: $inputs.orgId
        InputParameters: $inputs.inputParameters
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      result: $response.body
  - stepId: logout
    description: >-
      Log out to invalidate the session access token now that the method call
      is complete.
    operationId: logout
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      logoutData: $response.body#/response/data
  outputs:
    accessToken: $steps.login.outputs.accessToken
    result: $steps.invokeMethod.outputs.result
    logoutData: $steps.logout.outputs.logoutData