Processing Errors Model

Summary

Common JSON schema of processing errors within the Common Crew Services API.

Processing Errors

Code snippet: Payload

{
    "requestIdentifier" → xsd:string,
    "serviceHost" →  xsd:string,
    "processingErrors" → [
        {
            "processingError" → {
                "retryIndicator" → xsd:boolean
                "type" → xsd:string
                "code" → xsd:integer
                "description" → xsd:string
                "infoUrl" → xsd:anyURI
                "innerError" → {
                    "type" → xsd:string
                    "code" → xsd:integer
                    "description" → xsd:string
                    "innerError" → {
                        ... optional inner errors ...
                    }
                }
            }
        },
        {
            ... next processing error ...
        }
    ]
}
Name Description Required Schema / Format
requestIdentifier Request Identifier to find request in log file. yes xsd:string
serviceHost Host where error was created and logged. yes xsd:string
processingErrors An array of processing errors.

Exactly one

Array
processingErrors[] → processingError A processing error object.

At least one

Object
processingErrors[] → processingError[] → retryIndicator A hint for the client denoting if a retry is suggested by the service.

Optional

xsd:boolean
processingErrors[] → processingError[] → type An internal type of the error (like an exception class specific to an underlying programming language).

Optional

xsd:string
processingErrors[] → processingError[] → code An application-specific error code, required for incident management.

yes

xsd:integer
processingErrors[] → processingError[] → description Human-readable description of the error, possibly to be shown to the user.

Optional

xsd:string
processingErrors[] → processingError[] → infoUrl URI of a resource containing help on the error.

Optional

xsd:anyURI
processingErrors[] → processingError[] → innerError

Nested error for debug purposes.

Not recommended in production systems.

Optional

Object
processingErrors[] → processingError[] → innerError → type As in the parent object: an internal type of the error (like an exception class specific to an underlying programming language).

Optional

xsd:string
processingErrors[] → processingError[] → innerError → code As in the parent object: an application-specific error code, required for incident management.

yes

xsd:integer
processingErrors[] → processingError[] → innerError → description As in the parent object: human-readable description of the error, possibly to be shown to the user.

Optional

xsd:string
processingErrors[] → processingError[] → innerError → innerError

As in the parent object: nested error for debug purposes.

Not recommended in production systems.

Optional

Object

Example

Code snippet: Json

{
  "requestIdentifier" : "123456",
  "serviceHost" : "lvm-inge-01ct",
  "processingErrors": [{
    "processingError": {
      "retryIndicator": false,
      "type": "InputValidation",
      "code": 3200,
      "description": "Backend response not valid XML (This happens for invalid cities or invalid date/time range).",
      "infoUrl": "http://api.lufthansa.com/errorcodes/{processingError.Code}"
      "innerError": {
        "code": 120,
        "innerError": {
          "code": 44567,
          "description": "Exception in thread \"main\" java.lang.NullPointerException at com.example.myproject.Book.getTitle(Book.java:16)"
        }
      }
    }
  }]
}