Error Handling
Structure and identification codes of errors that can be thrown during different processes.
Table of Contents
Introduction
Errors may occur in many different situations during data processing. In addition to the HTTP status code, yuuvis® Momentum core offers a well-defined structure and labeling of any thrown error. It is thus possible to easily localize the origin of the problem. At the same time, automated catching and analyzing of errors can be implemented based on the fixed error structure and error codes.
Error Structures
Single Errors
The errors are JSON structures with the following parameters:
Parameter | Description |
---|---|
httpStatusCode | Three-digit integer specifying the HTTP status code as a class of the response in which the error is returned. |
serviceErrorCode | Four-digit integer specifying the concrete error type. |
time | Timestamp of the error occurance in format "yyyy-MM-ddTHH:mm:ss.SSS" . |
message | String message describing the concrete error. |
stackTrace | Origin of the error. As of 2021 Autumn, |
service | The name of the service that threw the error. |
tenant | The string tenant name where the error occured. |
{ "httpStatusCode" : 409, "serviceErrorCode" : 2800, "time" : "2021-04-21T04:36:30.813", "message" : "A non-empty folder cannot be deleted.", "stackTrace" : [ "com.os.enaio.cloud.gateway.resource.api.DmsController.deleteDmsObject(DmsController.java:719)" ], "service" : "api", "tenant" : "default" }
Error Lists during Validation Processes
If errors occur during one of the following validation process, they are collected and returned in the validationErrors
list in JSON format.
- schema validation
- role set validation
- app set validation
Other validation processes return only single errors in the structure described above.
Within the JSON list validationErrors
, the following parameters are provided for each error in the list:
Parameter | Description |
---|---|
message | String message describing the concrete error. |
serviceErrorCode | Four-digit integer specifying the concrete error type. |
Together with each non-empty validation error list, the HTTP status code 422 is always returned, but not specifically added to the individual entries.
The following code block shows an example error structure that can occur during a schema validation:
{ "validationErrors": [ { "message": "Ambiguous IDs. There are 2 property type definitions with the ID 'from'.", "serviceErrorCode": 2110 }, { "message": "Wrong base ID. The base ID of the system:document type definition 'email' must be 'system:document', but it is 'system:folder'.", "serviceErrorCode": 2131 }, { "message": "Invalid property reference 'fromm' in type definition 'email'.", "serviceErrorCode": 2132 }, { "message": "Invalid secondary object type reference 'appAcl:aclowner' in type definition 'email'.", "serviceErrorCode": 2135 } ] }
Error Codes and Messages
The following table provides an overview of errors that may occur during operation of yuuvis® Momentum core.
Note: In case you want to catch errors and analyse their content, please use the serviceErrorCode
as unique identification of the error type. Please do NOT use the message
since we reserve to modify it in future.
serviceErrorCode | httpStatusCode | message | Occurance |
---|---|---|---|
2100 | - | The ID '%s' is invalid. If the ID has a prefix, it is not allowed to start with 'ten' or 'app'. | schema validation |
2101 | - | The ID '%s' is invalid. If the ID has a prefix, it is expected to be '%s'. | schema validation |
2102 | - | The ID '%s' is invalid. The ID of an object type is not allowed to start with '%s'. | schema validation |
2103 | - | The ID '%s' is invalid. The ID of a property type is not allowed to start with '%s'. | schema validation |
2104 | - | Too many property types. There are %s property types. Up to %s are allowed. This is a configurable limit. | schema validation |
2105 | - | There are references from the global schema to the schema of app '%s'. For tenant '%s' app '%s' is disabled. | schema validation |
2106 | - | There are references from the schema of app '%s' to the schema of app '%s'. For tenant '%s' app '%s' is enabled and app '%s' is disabled. | schema validation |
2110 | - | Ambiguous IDs. There are %s %s type definitions with the ID '%s'. | schema validation |
2111 | - | Missing ID. There is a %s definition without ID. | schema validation |
2112 | - | Invalid ID. There is a %s with the invalid ID '%s'. The ID must match '%s'. | schema validation |
2113 | - | ID too long. The maximum length for an ID is %s without prefix. The length of '%s' is %s. | schema validation |
2120 | - | Missing property type. The attribute 'propertyType' of the property type definition '%s' is missing. | schema validation |
2121 | - | Wrong property type. The property type of the %s property type definition '%s' must be '%s', but it is '%s'. | schema validation |
2122 | - | Invalid attribute 'queryable' in the %s property type definition '%s'. The value 'false' is only supported for table property type definitions. | schema validation |
2123 | - | Illegal minimum length of the property '%s'. The minimum length of a string property must not exceed %s. | schema validation |
2124 | - | Illegal maximum length of the property '%s'. The maximum length of a string property must not exceed %s. | schema validation |
2125 | - | Illegal cardinality of the property '%s'. The cardinality of a table property must not be 'multi'. | schema validation |
2126 | - | Invalid number of column property definitions for property '%s'. The maximum number of columns in a table must not exceed %s. Column count: '%s' | schema validation |
2127 | - | Illegal cardinality of the property '%s'. The cardinality of a structured data property must not be 'multi'. | schema validation |
2130 | - | Missing base ID. The attribute 'baseId' of the type definition '%s' is missing. | schema validation |
2131 | - | Wrong base ID. The base ID of the %s type definition '%s' must be '%s', but it is '%s'. | schema validation |
2132 | - | Invalid property reference '%s' in type definition '%s'. | schema validation |
2134 | - | There are %s property references with the value '%s' in the definition of the object type '%s'. | schema validation |
2135 | - | Invalid secondary object type reference '%s' in type definition '%s'. | schema validation |
2136 | - | Secondary object type '%s' in type definition '%s' can be referenced only once. | schema validation |
2140 | - | The document type '%s' does not allow content and has a static reference to the secondary object type '%s' that requires content. It is not possible to create instances of this document type. | schema validation |
2141 | - | The document type '%s' does not allow content and has a non-static reference to the secondary object type '%s' that requires content. This secondary object type cannot be assigned to instances of this document type. | schema validation |
2142 | - | The document type '%s' requires content and has a static reference to the secondary object type '%s' that does not allow content. It is not possible to create instances of this document type. | schema validation |
2143 | - | The document type '%s' requires content and has a non-static reference to the secondary object type '%s' that does not allow content. This secondary object type cannot be assigned to instances of this document type. | schema validation |
2144 | - | The document type '%s' has static references to secondary object types that require content ('%s') and that do not allow content ('%s'). It is not possible to create instances of this document type. | schema validation |
2145 | - | The document type '%s' has static references to secondary object types that require content ('%s') and non-static references to secondary object types that do not allow content ('%s'). These non-static secondary object types cannot be assigned to instances of this document type. | schema validation |
2146 | - | The document type '%s' has static references to secondary object types that do not allow content ('%s') and non-static references to secondary object types that require content ('%s'). These non-static secondary object types cannot be assigned to instances of this document type. | schema validation |
2150 | - | The folder type '%s' has static references to secondary object types that require content ('%s'). It is not possible to create instances of this folder type. | schema validation |
2151 | - | The folder type '%s' has non-static references to secondary object types that require content ('%s'). These non-static secondary object types cannot be assigned to instances of this folder type. | schema validation |
2152 | - | The folder type '%s' has static references to secondary object types that allow content ('%s'). It is not possible to create instances of this folder type. | schema validation |
2153 | - | The folder type '%s' has non-static references to secondary object types that allow content ('%s'). These non-static secondary object types cannot be assigned to instances of this folder type. | schema validation |
2200 | 422 | Empty lists are not allowed. The property '%s' has an empty list as value. | schema validation |
2201 | 422 | The cardinality of the property '%s' is 'multi', but the value is not a list: %s. | schema validation |
2202 | 422 | The cardinality of the property '%s' is 'single', but the value is a list: %s. | schema validation |
2203 | 422 | Illegal number of values. The cardinality of the property '%s' is 'single', but there are multiple values: %s. | schema validation |
2204 | 422 | Null values are not allowed in lists. Property ='%s' | schema validation |
2210 | 422 | Illegal property value. The property '%s' is a boolean property and is unable to accept the value '%s'. | schema validation |
2211 | 422 | Illegal property value. The property '%s' is a datetime property and is unable to accept the value '%s'. | schema validation |
2212 | 422 | Illegal property value. The property '%s' is a decimal property and is unable to accept the value '%s'. | schema validation |
2213 | 422 | Illegal property value. The property '%s' is an ID property and is unable to accept the value '%s'. | schema validation |
2214 | 422 | Illegal property value. The property '%s' is an integer property and is unable to accept the value '%s'. | schema validation |
2215 | 422 | Illegal property value. The property '%s' is a string property and is unable to accept the value '%s'. | schema validation |
2216 | 422 | Malformed table. The property part 'columnNames' of the table property '%s' is expected to be a list of strings. ColumnNames: '%s' | schema validation |
2217 | 422 | Malformed table. The value of the table property '%s' is expected to be a list. Table value: %s | schema validation |
2218 | 422 | Malformed table. A row of the table '%s' is not a list. Row: '%s' | schema validation |
2219 | 422 | Illegal property value. The value of the structured data property '%s' is expected to be a list or map. Value: %s | schema validation |
2220 | 422 | Invalid JSON. The value of the structured data property %s must be valid JSON. Value = '%s'. Error message: %s | schema validation |
2240 | 422 | Illegal property value. The property '%s' is a datetime property with resolution 'date' and is unable to accept the value '%s'. | schema validation |
2250 | 422 | The decimal value %s is not valid. The type '%s' does not permit values smaller than %s. | schema validation |
2251 | 422 | The decimal value %s is not valid. The type '%s' does not permit values larger than %s. | schema validation |
2260 | 422 | The integer value %s is not valid. The type '%s' does not permit values smaller than %s. | schema validation |
2261 | 422 | The integer value %s is not valid. The type '%s' does not permit values larger than %s. | schema validation |
2270 | 422 | String value is too short. The type '%s' permits only strings with a length of at least %s. The length of '%s' is %s. | schema validation |
2271 | 422 | String value is too long. The type '%s' permits only strings with a length up to %s. The length of '%s' is %s. | schema validation |
2272 | 422 | String value is too long. A string property permits only strings with a length up to %s. The property '%s' has a value with the length %s: '%s'. | schema validation |
2280 | 422 | Illegal column. A table of type '%s' cannot have a column named '%s'. | schema validation |
2281 | 422 | Illegal column names. The column '%s' occures %s times. | schema validation |
2282 | 422 | Malformed table. The maximum number of rows in a table must not exceed %s. Row count: '%s' | schema validation |
2283 | 422 | Invalid row. The row of a table property '%s' is expected to contain exactly %s entries, but row no. %s contains %s entries. | schema validation |
2290 | 422 | Structure data value too large. The value of the property '%s' contains %s sub-values. Only up to %s are allowed. | schema validation |
2291 | 422 | Structured data value too deep. The value of the property '%s' has a depth of %s. The maximum depth is %s. | schema validation |
2292 | 422 | Invalid value of structure data property '%s'. Non-string key found: '%s'. | schema validation |
2293 | 422 | Key too long. The length of the key '%s' in the value of the structured data property '%s' is %s. The maximum length is %s. | schema validation |
2294 | 422 | Invalid key '%s' in the value of the structured data property '%s'. The key must match the regex '%s'. | schema validation |
2300 | 422 | A required property is missing. property='%s' | schema validation |
2880 | - | Unable to disable app '%s'. There are references from the tenant schema to the schema of app '%s'. | app set validation |
2881 | - | Unable to disable app '%s'. There are references from the global schema to the schema of app '%s'. | app set validation |
2882 | - | Unable to disable app '%s' and enable app '%s'. There are references from the schema of app '%s' to the schema of app '%s'. | app set validation |