Table 67 defines values for the statusCode parameter and Table 68 defines values for the inputArgumentResults parameter that are specific to this Service. Common StatusCodes are defined in Table 178.

Server vendors or OPC UA companion specifications may reuse existing StatusCodes for application specific error information. This is valid as long as the canonical description of the StatusCode does not have a different meaning than the application specific description. To eliminate any vagueness, the Server should include the application specific description in the DiagnosticInfo.

Good StatusCodes with sub-status shall not be used as statusCode since many programming language bindings would cause such codes to throw an exception.

Table 67 – Call Operation Level Result Codes

Symbolic Id

Description

Bad_NodeIdInvalid

See Table 178 for the description of this result code.

Used to indicate that the specified Object is not valid.

Bad_NodeIdUnknown

See Table 178 for the description of this result code.

Used to indicate that the specified Object is not valid.

Bad_NotExecutable

The executable Attribute does not allow the execution of the Method.

Bad_ArgumentsMissing

The Client did not specify all of the input arguments for the Method.

Bad_TooManyArguments

The Client specified more input arguments than defined for the Method.

Bad_InvalidArgument

See Table 177 for the description of this result code.

Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.

Bad_UserAccessDenied

See Table 177 for the description of this result code.

Bad_SecurityModeInsufficient

See Table 178 for the description of this result code.

Bad_MethodInvalid

The method id does not refer to a Method for the specified Object.

Bad_NoCommunication

See Table 178 for the description of this result code.

Table 68 – Call Input Argument Result Codes

Symbolic Id

Description

Bad_OutOfRange

See Table 178 for the description of this result code.

Used to indicate that an input argument is outside the acceptable range.

Bad_TypeMismatch

See Table 178 for the description of this result code.

Used to indicate that an input argument does not have the correct data type.

A ByteString is structurally the same as a one dimensional array of Byte. A Server shall accept a ByteString if an array of Byte is expected.