Table 177 defines the common StatusCodes for all Service results used in more than one service. It does not provide a complete list. These StatusCodes may also be used as operation level result code. OPC 10000-6 maps the symbolic names to a numeric value and provides a complete list of StatusCodes including codes defines in other parts.
Table 177 – Common Service Result Codes
|Good||The operation was successful.|
|Good_CompletesAsynchronously||The processing will complete asynchronously.|
|Good_SubscriptionTransferred||The subscription was transferred to another session.|
||The HostName used to connect to a Server does not match a HostName in the Certificate.|
|Bad_CertificateChainIncomplete||The Certificate chain is incomplete.|
|Bad_CertificateIssuerRevocationUnknown||It was not possible to determine if the Issuer Certificate has been revoked.|
|Bad_CertificateIssuerUseNotAllowed||The Issuer Certificate may not be used for the requested operation.|
|Bad_CertificateIssuerTimeInvalid||An Issuer Certificate has expired or is not yet valid.|
|Bad_CertificateIssuerRevoked||The Issuer Certificate has been revoked.|
|Bad_CertificateInvalid||The Certificate provided as a parameter is not valid.|
|Bad_CertificateRevocationUnknown||It was not possible to determine if the Certificate has been revoked.|
|Bad_CertificateRevoked||The Certificate has been revoked.|
|Bad_CertificateTimeInvalid||The Certificate has expired or is not yet valid.|
|Bad_CertificateUriInvalid||The URI specified in the ApplicationDescription does not match the URI in the Certificate.|
|Bad_CertificateUntrusted||The Certificate is not trusted.|
|Bad_CertificateUseNotAllowed||The Certificate may not be used for the requested operation.|
|Bad_CommunicationError||A low level communication error occurred.|
|Bad_DataTypeIdUnknown||The ExtensionObject cannot be (de)serialized because the data type id is not recognized.|
|Bad_DecodingError||Decoding halted because of invalid data in the stream.|
|Bad_EncodingError||Encoding halted because of invalid data in the objects being serialized.|
|Bad_EncodingLimitsExceeded||The message encoding/decoding limits imposed by the Communication Stack have been exceeded.|
|Bad_IdentityTokenInvalid||The user identity token is not valid.|
|Bad_IdentityTokenRejected||The user identity token is valid but the Server has rejected it.|
|Bad_InternalError||An internal error occurred as a result of a programming or configuration error.|
|Bad_InvalidArgument||One or more arguments are invalid.
Each service defines parameter-specific StatusCodes and these StatusCodes shall be used instead of this general error code. This error code shall be used only by the Communication Stack and in services where it is defined in the list of valid StatusCodes for the service.
|Bad_InvalidState||The operation cannot be completed because the object is closed, uninitialized or in some other invalid state.|
|Bad_InvalidTimestamp||The timestamp is outside the range allowed by the Server.|
|Bad_LicenseExpired||The UA Server requires a license to operate in general or to perform a service or operation, but existing license is expired|
|Bad_LicenseLimitsExceeded||The UA Server has limits on number of allowed operations / objects, based on installed licenses, and these limits where exceeded.|
|Bad_LicenseNotAvailable||The UA Server does not have a license which is required to operate in general or to perform a service or operation.|
|Bad_NothingToDo||There was nothing to do because the Client passed a list of operations with no elements.|
|Bad_OutOfMemory||Not enough memory to complete the operation.|
|Bad_RequestCancelledByClient||The request was cancelled by the client.|
|Bad_RequestTooLarge||The request message size exceeds limits set by the Server.|
|Bad_ResponseTooLarge||The response message size exceeds limits set by the client.|
|Bad_RequestHeaderInvalid||The header for the request is missing or invalid.|
|Bad_ResourceUnavailable||An operating system resource is not available.|
|Bad_SecureChannelIdInvalid||The specified secure channel is no longer valid.|
|Bad_SecurityChecksFailed||An error occurred while verifying security.|
|Bad_ServerHalted||The Server has stopped and cannot process any requests.|
|Bad_ServerNotConnected||The operation could not complete because the Client is not connected to the Server.|
|Bad_ServerUriInvalid||The Server URI is not valid.|
|Bad_ServiceUnsupported||The Server does not support the requested service.|
|Bad_SessionIdInvalid||The Session id is not valid.|
|Bad_SessionClosed||The Session was closed by the client.|
|Bad_SessionNotActivated||The Session cannot be used because ActivateSession has not been called.|
|Bad_Shutdown||The operation was cancelled because the application is shutting down.|
|Bad_SubscriptionIdInvalid||The subscription id is not valid.|
|Bad_Timeout||The operation timed out.|
|Bad_TimestampsToReturnInvalid||The timestamps to return parameter is invalid.|
|Bad_TooManyOperations||The request could not be processed because it specified too many operations.|
|Bad_UnexpectedError||An unexpected error occurred.|
|Bad_UnknownResponse||An unrecognized response was received from the Server.|
|Bad_UserAccessDenied||User does not have permission to perform the requested operation.|
|Bad_ViewIdUnknown||The view id does not refer to a valid view Node.|
|Bad_ViewTimestampInvalid||The view timestamp is not available or not supported.|
|Bad_ViewParameterMismatchInvalid||The view parameters are not consistent with each other.|
|Bad_ViewVersionInvalid||The view version is not available or not supported.|
Table 178 defines the common StatusCodes for all operation level results used in more than one service. It does not provide a complete list. OPC 10000-6 maps the symbolic names to a numeric value and provides a complete list of StatusCodes including codes defines in other parts. The common Service result codes can be also contained in the operation level.
Table 178 – Common Operation Level Result Codes
|Good_Clamped||The value written was accepted but was clamped.|
|Good_Overload||Sampling has slowed down due to resource limitations.|
|Uncertain||The value is uncertain but no specific reason is known.|
|Bad||The value is bad but no specific reason is known.|
|Bad_AttributeIdInvalid||The attribute is not supported for the specified node.|
|Bad_BrowseDirectionInvalid||The browse direction is not valid.|
|Bad_BrowseNameInvalid||The browse name is invalid.|
|Bad_ContentFilterInvalid||The content filter is not valid.|
|Bad_ContinuationPointInvalid||The continuation point provided is no longer valid.
This status is returned if the continuation point was deleted or the address space was changed between the browse calls.
|Bad_DataEncodingInvalid||The data encoding is invalid.
This result is used if no dataEncoding can be applied because an Attribute other than Value was requested or the DataType of the Value Attribute is not a subtype of the Structure DataType.
|Bad_DataEncodingUnsupported||The Server does not support the requested data encoding for the node.
This result is used if a dataEncoding can be applied but the passed data encoding is not known to the Server.
|Bad_EventFilterInvalid||The event filter is not valid.|
|Bad_FilterNotAllowed||A monitoring filter cannot be used in combination with the attribute specified.|
|Bad_FilterOperandInvalid||The operand used in a content filter is not valid.|
|Bad_HistoryOperationInvalid||The history details parameter is not valid.|
|Bad_HistoryOperationUnsupported||The Server does not support the requested operation.|
|Bad_IndexRangeInvalid||The syntax of the index range parameter is invalid.|
|Bad_IndexRangeNoData||No data exists within the range of indexes specified.|
|Bad_MonitoredItemFilterInvalid||The monitored item filter parameter is not valid.|
|Bad_MonitoredItemFilterUnsupported||The Server does not support the requested monitored item filter.|
|Bad_MonitoredItemIdInvalid||The monitoring item id does not refer to a valid monitored item.|
|Bad_MonitoringModeInvalid||The monitoring mode is invalid.|
|Bad_NoCommunication||Communication with the data source is defined, but not established, and there is no last known value available.
This status/sub-status is used for cached values before the first value is received or for Write and Call if the communication is not established.
|Bad_NoContinuationPoints||The operation could not be processed because all continuation points have been allocated.|
|Bad_NodeClassInvalid||The node class is not valid.|
|Bad_NodeIdInvalid||The syntax of the node id is not valid.|
|Bad_NodeIdUnknown||The node id refers to a node that does not exist in the Server address space.|
|Bad_NoDeleteRights||The Server will not allow the node to be deleted.|
|Bad_NodeNotInView||The nodesToBrowse is not part of the view.|
|Bad_NotFound||A requested item was not found or a search operation ended without success.|
|Bad_NotImplemented||Requested operation is not implemented.|
|Bad_NotReadable||The access level does not allow reading or subscribing to the Node.|
|Bad_NotSupported||The requested operation is not supported.|
|Bad_NotWritable||The access level does not allow writing to the Node.|
|Bad_ObjectDeleted||The Object cannot be used because it has been deleted.|
|Bad_OutOfRange||The value was out of range.|
|Bad_ReferenceTypeIdInvalid||The reference type id does not refer to a valid reference type node.|
|Bad_SecurityModeInsufficient||The SecurityPolicy and/or MessageSecurityMode do not match the Server requirements to complete the operation.
For example, a user may have the right to receive the data but the data can only be transferred through an encrypted channel with an appropriate SecurityPolicy.
|Bad_SourceNodeIdInvalid||The source node id does not refer to a valid node.|
|Bad_StructureMissing||A mandatory structured parameter was missing or null.|
|Bad_TargetNodeIdInvalid||The target node id does not refer to a valid node.|
|Bad_TypeDefinitionInvalid||The type definition node id does not reference an appropriate type node.|
|Bad_TypeMismatch||The value supplied for the attribute is not of the same type as the attribute’s value.|
|Bad_WaitingForInitialData||Waiting for the Server to obtain values from the underlying data source.
After creating a MonitoredItem or after setting the MonitoringMode from DISABLED to REPORTING or SAMPLING, it may take some time for the Server to actually obtain values for these items. In such cases the Server can send a Notification with this status prior to the Notification with the first value or status from the data source.