OptionaldiagnosticOptionalinputOptionalinputOptionaloutputOptionalstatusOptionalstatusHuman-readable text for statusCode, e.g. why a request was refused, optionally with its locale.
OPC 10000-4 v1.05.07 §7.12 DiagnosticInfo: localizedText is an index into the ResponseHeader
stringTable, holding "up to 256 bytes of localized text that describes the symbolic id". A method cannot
reach the string table, so it returns the text here: the server adds it to the table (truncated to 256 bytes)
and points the result's DiagnosticInfo localizedText at it. Sent only when the Client asks for
operation-level LocalizedText (RequestHeader.returnDiagnostics 0x40, §7.32). A locale is added to the table
the same way and referenced by DiagnosticInfo.locale. Without statusText, a non-Good result is described
by the standard description of its StatusCode.
What a method implementation returns: the CallMethodResult, plus an optional DiagnosticInfo for its statusCode.
OPC 10000-4 v1.05.07 §5.12.2 Call: the CallResponse
diagnosticInfosis the "List of diagnostic information for the statusCode of the results", returned when the Client asks for operation-level diagnostics throughreturnDiagnosticsin the RequestHeader (§7.33). A Server that reuses a StatusCode for an application specific meaning should put the application specific description there.diagnosticInfois not part of the encoded CallMethodResult: the server moves it intoCallResponse.diagnosticInfos, at the index of this result. PreferadditionalInfo: it needs no entry in the response string table.