Check Sum Error

Imported from previous forum

[ original email was from Divyeshkumar Ranpariya - divyeshkumar.ranpariya@credit-suisse.com ]
Hi
Whenever I said 2 leg message, I am getting below responce
"Invalid message: Expected CheckSum=185, Recieved CheckSum=186"
What will the reason for the same? Can anyone help me identifed this issues?

I hope you have read the spec (FIX 4.4 Vol 2 page 26) and made sure your implementation follows it:
The checksum of a FIX message is calculated by summing every byte of the message up to but not including the checksum field itself. This checksum is then transformed into a modulo 256 number for transmission and comparison. The checksum is calculated after all encryption is completed, i.e. the message as transmitted between parties is processed.
For transmission, the checksum must be sent as printable characters, so the checksum is transformed into three ASCII digits.
For example, if the checksum has been calculated to be 274 then the modulo 256 value is 18 (256 + 18 = 274). This value would be transmitted a |10=018| where "10="is the tag for the checksum field.
The reason for the error is likely to be found in your software code or in the code of the party rejecting your message :slight_smile:

Hi
Whenever I said 2 leg message, I am getting below responce
“Invalid message: Expected CheckSum=185, Recieved CheckSum=186”
What will the reason for the same? Can anyone help me identifed this issues?

[ original email was from Divyeshkumar Ranpariya - divyeshkumar.ranpariya@credit-suisse.com ]
> I hope you have read the spec (FIX 4.4 Vol 2 page 26) and made sure your implementation follows it:

The checksum of a FIX message is calculated by summing every byte of the message up to but not including the checksum field itself. This checksum is then transformed into a modulo 256 number for transmission and comparison. The checksum is calculated after all encryption is completed, i.e. the message as transmitted between parties is processed.
For transmission, the checksum must be sent as printable characters, so the checksum is transformed into three ASCII digits.
For example, if the checksum has been calculated to be 274 then the modulo 256 value is 18 (256 + 18 = 274). This value would be transmitted a |10=018| where "10="is the tag for the checksum field.
The reason for the error is likely to be found in your software code or in the code of the party rejecting your message :slight_smile:

Hi
Whenever I said 2 leg message, I am getting below responce
“Invalid message: Expected CheckSum=185, Recieved CheckSum=186”
What will the reason for the same? Can anyone help me identifed this issues?

Hi Hanno Klein,
Thanks for your reply.
Actually i am sending 2 leg Quote request message to FIX server.But i am not getting any responce.When i have checked FIX Client event log then i found message- “Invalid message: Expected CheckSum=185, Recieved CheckSum=186” so this means FIX server is rejecting message?
and also when i am sending single leg message that time i am getting responce.

My guess is that you are not correctly calculating the checksum in one of the two cases. I am sorry but it goes beyond the scope of this forum to do software debugging of specific implementations. You need to get in touch with the developers/software vendor to resolve this issue.

Hi Hanno Klein,
Thanks for your reply.
Actually i am sending 2 leg Quote request message to FIX server.But i am not getting any responce.When i have checked FIX Client event log then i found message- “Invalid message: Expected CheckSum=185, Recieved CheckSum=186” so this means FIX server is rejecting message?
and also when i am sending single leg message that time i am getting responce.