SAP Integration Suite · Arazzo Workflow

SAP Integration Suite Monitor Failed Messages

Version 1.0.0

Find failed message processing logs, read the worst offender in detail, and pull its adapter attributes.

1 workflow 1 source API 1 provider
View Spec View on GitHub API ManagementCloud IntegrationEnterprise IntegrationEvent MeshiPaaSSAPSAP BTPArazzoWorkflows

Provider

sap-integration-suite

Workflows

monitor-failed-messages
Triage failed message processing logs and inspect adapter attributes.
Lists FAILED message processing logs, and when at least one exists reads the most recent failure and its adapter attributes for diagnosis.
3 steps inputs: integrationFlowName, maxLogs outputs: adapterAttributes, failedFlowName, failedMessageGuid, failureCount
1
findFailures
listMessageProcessingLogs
List message processing logs filtered to a FAILED status, ordered by the most recent processing start time.
2
getFailedLog
getMessageProcessingLog
Read the most recent failed message processing log entry in full.
3
getAdapterAttributes
getMessageProcessingLogAdapterAttributes
Retrieve the adapter-specific attributes for the failed message to support root-cause analysis.

Source API Descriptions

Arazzo Workflow Specification

sap-integration-suite-monitor-failed-messages-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SAP Integration Suite Monitor Failed Messages
  summary: Find failed message processing logs, read the worst offender in detail, and pull its adapter attributes.
  description: >-
    An operations triage loop for Cloud Integration message monitoring. The
    workflow queries message processing logs filtered to a FAILED status and
    ordered by most recent, branches on whether any failures exist, reads the
    top failed log entry in full, and then retrieves the adapter-specific
    attributes for that message to aid root-cause analysis. When no failures are
    present the workflow ends cleanly. Every step spells out its request inline
    so the flow can be read and executed without opening the underlying OpenAPI
    description.
  version: 1.0.0
sourceDescriptions:
- name: cloudIntegrationApi
  url: ../openapi/sap-integration-suite-cloud-integration-openapi.yml
  type: openapi
workflows:
- workflowId: monitor-failed-messages
  summary: Triage failed message processing logs and inspect adapter attributes.
  description: >-
    Lists FAILED message processing logs, and when at least one exists reads the
    most recent failure and its adapter attributes for diagnosis.
  inputs:
    type: object
    properties:
      integrationFlowName:
        type: string
        description: Optional integration flow name to scope the failure search to.
      maxLogs:
        type: integer
        description: Maximum number of failed log entries to return.
        default: 25
  steps:
  - stepId: findFailures
    description: >-
      List message processing logs filtered to a FAILED status, ordered by the
      most recent processing start time.
    operationId: listMessageProcessingLogs
    parameters:
    - name: $filter
      in: query
      value: "Status eq 'FAILED'"
    - name: $orderby
      in: query
      value: "LogStart desc"
    - name: $top
      in: query
      value: $inputs.maxLogs
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      failures: $response.body#/d/results
      topFailureGuid: $response.body#/d/results/0/MessageGuid
    onSuccess:
    - name: hasFailures
      type: goto
      stepId: getFailedLog
      criteria:
      - context: $response.body
        condition: $.d.results.length > 0
        type: jsonpath
    - name: noFailures
      type: end
      criteria:
      - context: $response.body
        condition: $.d.results.length == 0
        type: jsonpath
  - stepId: getFailedLog
    description: Read the most recent failed message processing log entry in full.
    operationId: getMessageProcessingLog
    parameters:
    - name: MessageGuid
      in: path
      value: $steps.findFailures.outputs.topFailureGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messageGuid: $response.body#/d/MessageGuid
      status: $response.body#/d/Status
      integrationFlowName: $response.body#/d/IntegrationFlowName
      logEnd: $response.body#/d/LogEnd
  - stepId: getAdapterAttributes
    description: >-
      Retrieve the adapter-specific attributes for the failed message to support
      root-cause analysis.
    operationId: getMessageProcessingLogAdapterAttributes
    parameters:
    - name: MessageGuid
      in: path
      value: $steps.findFailures.outputs.topFailureGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      adapterAttributes: $response.body#/d
  outputs:
    failureCount: $steps.findFailures.outputs.failures
    failedMessageGuid: $steps.getFailedLog.outputs.messageGuid
    failedFlowName: $steps.getFailedLog.outputs.integrationFlowName
    adapterAttributes: $steps.getAdapterAttributes.outputs.adapterAttributes