public void Validate()
{
try
{
int receivedBodyLength = this.Header.GetInt(Tags.BodyLength);
if (BodyLength() != receivedBodyLength)
throw new InvalidMessage("Expected BodyLength=" + BodyLength() + ", Received BodyLength=" + receivedBodyLength);
int receivedCheckSum = this.Trailer.GetInt(Tags.CheckSum);
if (CheckSum() != receivedCheckSum)
throw new InvalidMessage("Expected CheckSum=" + CheckSum() + ", Received CheckSum=" + receivedCheckSum);
}
catch (FieldNotFoundException e)
{
throw new InvalidMessage("BodyLength or CheckSum missing", e);
}
catch (FieldConvertError e)
{
throw new InvalidMessage("BodyLength or Checksum has wrong format", e);
}
}