LwM2M VALIDATOR ERROR CODES
Ensuring accuracy, compliance, and interoperability in the LwM2M ecosystem is critical for seamless device management and integration. The LwM2M Validation Error Codes serve as a structured diagnostic tool to help developers detect, troubleshoot, and correct inconsistencies in Object and Resource definitions before deployment.
The LwM2M Editor/Validator enables automated validation of the DDF.xml, and Common.xml ensuring adherence to OMA standards by flagging errors related to formatting, metadata accuracy, XML structure, and compliance issues. This set of error codes play a vital role in maintaining high-quality, standardized LwM2M Objects and Resources.
FEATURES:
- ✅ Automated Error Detection – Identifies structural and compliance issues in real-time.
- ✅ Schema Validation – Ensures objects follow the correct XML schema format.
- ✅ Metadata Consistency Checks – Validates attributes such as Object ID, URN, and descriptions.
- ✅ Interoperability Assurance – Guarantees that LwM2M objects are aligned with industry standards.
- ✅ Error Classification – Categorizes errors based on severity and type for easier troubleshooting.
BENEFITS
- 🔹 Reduces Manual Effort – Automates validation, minimizing human errors.
- 🔹 Ensures Compliance – Helps maintain strict adherence to OMA-defined technical requirements.
- 🔹 Enhances Interoperability – Ensures LwM2M Objects work seamlessly across different implementations.
- 🔹 Speeds Up Development – Detects and resolves issues early in the process.
- 🔹 Improves Data Integrity – Prevents incorrect object configurations that could disrupt services.
ERROR CODES CATEGORIES
1. GENERAL REQUIREMENTS
These codes validate registry compliance and accessibility, ensuring that Object files and metadata are correctly retrieved from the LwM2M Registry API.
Fault ID | Resolved by (Role) | Description |
---|---|---|
001 | Maintainer | It cannot be downloaded from the Registry API. |
002 | Maintainer |
|
005 | Maintainer | SenML units were not possible to load and therefore not used during validation |
010 | Maintainer | The API does not return the same number of objects for DDF.XML |
011 | Maintainer | The API does not return the same number of resources for Common.XML - NOT SUPPORTED, THE API DOES NOT SUPPORT Common.XML |
021 | Maintainer | The XML File is NOT 1) well-formatted or 2) valid according to the schema in DDF.XML |
022 | Maintainer | The XML File is NOT 1) well-formatted or 2) valid according to the schema in Common.XML |
023 | Maintainer | Validate that the API return MIME Type application/json |
031 | Maintainer | Validate that the file contains at least one object in DDF.XML |
032 | Maintainer | Validate that the file contains at least one resource in Common.XML |
041 | Maintainer | Invalid content or element that is not expected in DDF.XML |
050 | Maintainer | Indicate that there are one or more files in the repository that does not exist in DDF.xml. |
2. ELEMENTS in DDF.XML
This section checks Object ID consistency, URN structure, naming conventions, and metadata accuracy to ensure proper object definitions.
Fault ID | Resolve By | Elements | Description |
---|---|---|---|
200 | Maintainer | ObjectID | Version is the same between two objects with the same Object ID |
201 | Maintainer | Name is different for a different version of the same Object ID | |
202 | Maintainer | The description is different for a different version of the same Object ID | |
210 | Maintainer | URN |
The URN or ObjectID is not correct according to the Technical Specification The URN or Source category is not correct according to the Technical Specification The URN or Ver is not correct according to the Technical Specification The ID is not in the range allowed by Source |
220 | Maintainer | Name | Is not allowed to be empty |
230 | Maintainer | Description | Is not allowed to be empty |
240 | Maintainer | Owner | Is not allowed to be empty |
250 | Maintainer | Source | Is not allowed to be empty |
251 | Maintainer | Must be either "0", "1" or "2" without quotes | |
260 | Maintainer | Ver | Must be
|
270 | Submitter | DDF | Must be either Empty or a valid link that does not return HTTP 404 (Not Found) and any error while downloading the object or processing the object |
271 | Maintainer | The MIME type of the response must be text/xml | |
272 | Submitter | The link contains an invalid Object | |
273 | Submitter | The link should contain an Object with a minimum of one resource | |
274 | Maintainer |
For each entry in the <DDF> element there MUST be a file name <ObjectID>-<Ver> in the "version_history" folder. "The error is the file for this ObjectID is missing from the "version_history" folder" or the content of both Objects are not the same. In addition these are possible issues:
|
|
275 | Maintainer | Previous version exist twice, which is not allowed | |
276 | Maintainer | Previous version missing. For example if an object contains ver 2.4, then the following version must exist: 2.3, 2.2, 2.1, 2.0, 1.0 | |
280 | n/a | LWM2M |
(Void) Must either be empty if DDF is empty or a valid link to the tool with the URL to load the object into the tool A valid URL must start with the call to the tool: http://devtoolkit.openmobilealliance.org/OEditor/LWMOView?url= Followed by the URL, (URL-encoded), to the Object. For example http://devtoolkit.openmobilealliance.org/OEditor/LWMOView?url=http%3A%2F%2Fwww.openmobilealliance.org%2Ftech%2Fprofiles%2FLWM2M_APN_connection_profile-v1_0.xml Note: this error code is no longer in use. The element that contained the link to the LwM2M Editor was removed from the DDF. |
290 | Maintainer | Vorto | Must be either Empty or a valid link that does not return HTTP 404 (Not Found) |
291 | n/a | DISABLED - The MIME Type of the response must not be "html" to avoid web page with HTTP 404 | |
300 | Maintainer | DDFLink | Is not allowed to be empty |
301 | Maintainer | Must be either "0", or "1" without the quotes | |
310 | Maintainer | TS | Technical Specification (TS) must be either empty or a valid link that does not return HTTP 404 (Not Found) |
311 | n/a | DISABLED - The MIME Type of the response must not be "html" to avoid web page with HTTP 404 | |
320 | Maintainer | TSLink | Is not allowed to be empty |
321 | Maintainer | Must be either "0", or "1" without the quotes | |
330 | Submitter | LicenseType |
Under development Must either be empty or string - Will not be verified, empty or non-existing is treated equally Note: to be changed to, it cannot be empty |
400 | Submitter | Content of Object | "ObjectID" inside the object is not the same as in the DDF.XML File |
401 | Submitter | "Object URN" inside the object is not the same as in the DDF.XML File | |
402 | Submitter | "Object Name" inside the object is not the same as in the DDF.XML File | |
403 | Submitter | Incorrect content of LWM2MVersion | |
404 | Submitter | Non-existent xml schema reference | |
405 | Submitter | Invalid XML schema reference. | |
406 | Submitter | The object is missing Line Feed (LF) characters in the end of the file | |
407 | Submitter | Object contains Carriage Return (CR) which is not allowed in LwM2M Object and Resource Registry and is required in Object XML files | |
408 | Submitter | Object missing several Line Feed (LF), which is not allowed | |
700 | Submitter | Invalid XML characters in Description1, e.g. usage of smart quotes (“ExtDevInfo”) rather than straight quotes ("ExtDevInfo") | |
701 | Maintainer | The Description1 in the DDF and in the Object doesn't match | |
705 | Submitter | Invalid XML characters in Description2, e.g. usage of smart quotes (“ExtDevInfo”) rather than straight quotes ("ExtDevInfo") | |
410 | Submitter | Content of the objects resources | Empty Name |
411 | Submitter | Invalid Operations according to the Technical Specification (TS) | |
412 | Submitter | Invalid Type according to the Technical Specification (TS) | |
413 | Submitter | Invalid Type for an resource with Operation = "E" (Execute). Also, "E" operation, MUST have "Single" as value of the "Instances" field as indicated in the TS. | |
414 | Submitter | Invalid MultipleInstances value | |
415 | Submitter | Invalid Mandatory value | |
416 | Submitter | Empty Description | |
420 | Submitter | Invalid XML characters in Description, e.g. usage of smart quotes (“ExtDevInfo”) rather than straight quotes ("ExtDevInfo") | |
417 | Submitter | Invalid Unit value according to SenML | |
418 | Submitter | In the description of a range it is not possible to use "-" or "to" instead it should be used ".."
|
|
450 | Submitter | Content of the object's reusable resources | The object uses a non existing reusable resource |
451 | Submitter | Same reusable resource already included | |
460 | Submitter | Mismatch with reusable resources on: Name | |
461 | Submitter | Mismatch with reusable resources on: Operation | |
462 | Submitter | Mismatch with reusable resources on: Type | |
463 | Submitter | Mismatch with reusable resources on: RangeEnumeration | |
464 | Submitter | Mismatch with reusable resources on: Unit | |
465 | Submitter | Mismatch with reusable resources on: Description
|
3. ELEMENTS in Common.XML
These errors focus on reusable resources, verifying correct naming, formatting, and references to ensure interoperability across different implementations.
Fault ID | Resolve By | Elements | Description |
---|---|---|---|
500 | Maintainer | ObjectID | The ID is already used in another registration, it must be unique |
501 | Maintainer | The ID is not in the range of (2048 - 26240) | |
510 | Maintainer | Name | Is not allowed to be empty |
520 | Submitter | Operations | Invalid Operations according to the Technical Specification, ,TS |
530 | Submitter | Type | Invalid Type according to the Technical Specification, TS |
531 | Submitter | Invalid Type for an resource with Operation = ",E" (Executable) | |
540 | n/a | Range Enumeration | N/A, No validation done |
541 | Submitter | In the description of a range it is not possible to use "-" or "to" instead it should be used ".."
|
|
551 | Submitter | Units | Invalid Unit according to SenML |
570 | Submitter | Description | Is not allowed to be empty |
571 | Maintainer | VOID. Description is not CDATA encoded | |
580 | Maintainer | TS | Technical Specification (TS), must be either Empty or a valid link that does not return HTTP 404 (Not Found) |
581 | Maintainer | The MIME Type of the response must not be "html" to avoid web page with HTTP 404 | |
590 | Maintainer | TSLink | Is not allowed to be empty |
591 | Maintainer | Must be either "0" or "1" without quotes | |
601 | Submitter | Name | Invalid XML characters in Name, e.g. "smart quotes" |
602 | Submitter | Description | Invalid XML characters in Description, e.g. "smart quotes" |
603 | Submitter | TS Link | Invalid XML characters in TS Link |
604 | Submitter | Operations | Invalid XML characters in Operations according to the Microsoft XML parser in addition "smart quotes" will generate this error. |
605 | Submitter | TS | Invalid XML characters in Technical Specification (TS), e.g. "smart quotes" |
4. OBJECTS & LwM2M VERSION
Validates that one or both elements are missing from the Object.
Fault ID | Resolve By | Elements | Description |
---|---|---|---|
800 | Submitter | LwM2MVersion or ObjectVersion | One or both of these elements (LwM2MVersion, ObjectVersion) are missing from the Object. |