Open Messaging Interface (O-MI), an Open Group Internet of Things (IoT) Standard – Error Handling

 

Error situations and faults can occur on several different levels in O-MI communication and usage.

Errors concerned with the communication between an O-MI requester and an O-MI request handler should be dealt with on the communication level. This is explained in Communication-Level Errors.

Information about errors that affect the handing of O-MI requests should be included in the O-MI responses. These are defined in O-MI Content-Level Errors.

Communication-Level Errors

Communication-level errors are handled by the communication layer. This is typically an HTTP layer (both if pure HTTP communication or Web Service communication is used) so the O-MI nodes SHOULD use HTTP error messages and codes. In addition, the O-MI nodes MAY use other error messages typical for the communication protocol.

O-MI Content-Level Errors

Every result element of an O-MI response SHALL have a return child element with a returnCode attribute. This SHALL have HTTP Status Codes as defined in IETF RFC 2616 as values. The return element MAY also contain other attributes for informative purposes, such as providing more detailed or application-specific information, but their names and usage are not covered by this standard.

For HTTP Status Codes, see, for instance: www.w3.org/Protocols/HTTP/HTRESP.html or www.w3.org/Protocols/rfc2616/rfc2616-sec10.html.