7 TransportProtocols ToC Previous Next

7.1 OPC UA Connection Protocol ToC Previous Next

7.1.5 Error handling ToC Previous Next

When a fatal error occurs, the Server shall send an Error Message to the Client and closes the TransportConnection gracefully. When the Client receives an Error Message it reports the error to the application and closes the TransportConnection gracefully. If a Client encounters a fatal error, it shall report the error to the application and send a CloseSecureChannel Message. The Server shall close the TransportConnection gracefully when it receives the CloseSecureChannel Message

The possible OPC UA Connection Protocol errors are defined in Table 55.

Table 55 – OPC UA Connection Protocol error codes

Name Description
Bad_TcpServerTooBusy The Server cannot process the request because it is too busy.
It is up to the Server to determine when it needs to return this Message.
A Server can control the how frequently a Client reconnects by waiting to return this error.
Bad_TcpMessageTypeInvalid The type of the Message specified in the header invalid.
Each Message starts with a 4-byte sequence of ASCII values that identifies the Message type.
The Server returns this error if the Message type is not accepted.
Some of the Message types are defined by the SecureChannel layer.
Bad_TcpSecureChannelUnknown The SecureChannelId and/or TokenId are not currently in use.
This error is reported by the SecureChannel layer.
Bad_TcpMessageTooLarge The size of the Message specified in the header is too large.
The Server returns this error if the Message size exceeds its maximum buffer size or the receive buffer size negotiated during the Hello/Acknowledge exchange.
Bad_Timeout A timeout occurred while accessing a resource.
It is up to the Server to determine when a timeout occurs.
Bad_TcpNotEnoughResources There are not enough resources to process the request.
The Server returns this error when it runs out of memory or encounters similar resource problems.
A Server can control the how frequently a Client reconnects by waiting to return this error.
Bad_TcpInternalError An internal error occurred.
This should only be returned if an unexpected configuration or programming error occurs.
Bad_TcpEndpointUrlInvalid The Server does not recognize the EndpointUrl specified.
Bad_SecurityChecksFailed The Message was rejected because it could not be verified.
Bad_RequestInterrupted The request could not be sent because of a network interruption.
Bad_RequestTimeout Timeout occurred while processing the request.
Bad_SecureChannelClosed The secure channel has been closed.
Bad_SecureChannelTokenUnknown The SecurityToken has expired or is not recognized.
Bad_CertificateUntrusted The sender Certificate is not trusted by the receiver.
Bad_CertificateTimeInvalid The sender Certificate has expired or is not yet valid.
Bad_CertificateIssuerTimeInvalid The issuer for the sender Certificate has expired or is not yet valid.
Bad_CertificateUseNotAllowed The sender’s Certificate may not be used for establishing a secure channel.
Bad_CertificateIssuerUseNotAllowed The issuer Certificate may not be used as a Certificate Authority.
Bad_CertificateRevocationUnknown Could not verify the revocation status of the sender’s Certificate.
Bad_CertificateIssuerRevocationUnknown Could not verify the revocation status of the issuer Certificate.
Bad_CertificateRevoked The sender Certificate has been revoked by the issuer.
Bad_IssuerCertificateRevoked The issuer Certificate has been revoked by its issuer.
Bad_CertificateUnknown The receiver Certificate thumbprint is not recognized by the receiver.

The numeric values for these error codes are defined in A.2.

NOTE: The ‘Tcp’ prefix for some of the error codes in Table 55 was chosen when TCP/IP was the only implementation of the OPC UA Connection Protocol. These codes may be used with any implementation of the OPC UA Connection Protocol.

Previous Next