When a fatal error occurs, the Servershall send an Error Messageto the Client and closes the TransportConnectiongracefully. When the Clientreceives an Error Messageit reports the error to the application and closes the TransportConnectiongracefully. If a Clientencounters a fatal error, it shall report the error to the application and send a CloseSecureChannel Message. The Server shall close the TransportConnectiongracefully when it receives the CloseSecureChannel Message.
The possible OPC UA Connection Protocol errors are defined in Table 70.
Table 70– OPC UA Connection Protocolerror codes
Name |
Description |
Bad_TcpServerTooBusy |
The Servercannot process the request because it is too busy. It is up to the Serverto determine when it needs to return this Message. A Servercan control the how frequently a Clientreconnects by waiting to return this error. |
Bad_TcpMessageTypeInvalid |
The type of the Messagespecified in the header invalid. Each Messagestarts with a 4-byte sequence of ASCII values that identifies the Messagetype. The Serverreturns this error if the Messagetype is not accepted. Some of the Messagetypes are defined by the SecureChannellayer. |
Bad_TcpSecureChannelUnknown |
The SecureChannelId and/or TokenId are not currently in use. This error is reported by the SecureChannellayer. |
Bad_TcpMessageTooLarge |
The size of the MessageChunkspecified in the header is too large. The Serverreturns this error if the MessageChunksize 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 Serverto determine when a timeout occurs. |
Bad_TcpNotEnoughResources |
There are not enough resources to process the request. The Serverreturns this error when it runs out of memory or encounters similar resource problems. A Servercan control the how frequently a Clientreconnects 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 Serverdoes not recognize the EndpointUrl specified. |
Bad_SecurityChecksFailed |
The Messagewas 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 SecurityTokenhas expired or is not recognized. |
Bad_CertificateUntrusted |
The sender Certificateis not trusted by the receiver. |
Bad_CertificateTimeInvalid |
The sender Certificatehas expired or is not yet valid. |
Bad_CertificateIssuerTimeInvalid |
The issuer for the sender Certificatehas expired or is not yet valid. |
Bad_CertificateUseNotAllowed |
The sender’s Certificatemay not be used for establishing a secure channel. |
Bad_CertificateIssuerUseNotAllowed |
The issuer Certificatemay not be used as a CertificateAuthority. |
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 Certificatehas been revoked by the issuer. |
Bad_IssuerCertificateRevoked |
The issuer Certificatehas been revoked by its issuer. |
Bad_SequenceNumberInvalid |
The sequence number on the message was not valid. |
The numeric values for these error codes are defined in A.2.
NOTE: The ‘Tcp’ prefix for some of the error codes in Table 70was chosen when TCP/IP was the only implementation of the OPC UA Connection Protocol. These codes are used with any implementation of the OPC UA Connection Protocol.