MessageChunks are sent as they are encoded. MessageChunks belonging to the same Message shall be sent sequentially. If an error occurs creating a MessageChunk then the sender shall send a final MessageChunk to the receiver that tells the receiver that an error occurred and that it should discard the previous chunks. The sender indicates that the MessageChunk contains an error by setting the IsFinal flag to ‘A’ (for Abort). Table 46 specifies the contents of the Message abort MessageChunk.
Table 46 – OPC UA Secure Conversation Message abort body
|Error||UInt32||The numeric code for the error.
This shall be one of the values listed in Table 55.
|Reason||String||A more verbose description of the error.
This string shall not be more than 4 096 bytes.
A Client shall ignore strings that are longer than this.
The receiver shall check the security on the abort MessageChunk before processing it. If everything is ok, then the receiver shall ignore the Message but shall not close the SecureChannel. The Client shall report the error back to the application as StatusCode for the request. If the Client is the sender, then it shall report the error without waiting for a response from the Server.