[QFJ-324] Message bodylength calculation incorrect Created: 01/Aug/08 Updated: 15/Nov/12 Resolved: 19/Aug/08 |
|
| Status: | Closed |
| Project: | QuickFIX/J |
| Component/s: | None |
| Affects Version/s: | 1.1.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Default |
| Reporter: | Fuzzy Gruber | Assignee: | Unassigned |
| Resolution: | Not a bug | Votes: | 0 |
| Labels: | None | ||
| Description |
|
quickfix.Message.bodylength() returns a smaller value than quickfix.Message.toString(). This is because CTRL+A characters are not counted in the value of bodylength(). (If this is a feature and not a bug, it should be documented) |
| Comments |
| Comment by Fuzzy Gruber [ 01/Aug/08 ] |
|
I mean quickfix.Message.toString().length() |
| Comment by Jörg Thönnes [ 01/Aug/08 ] |
|
BodyLength is a Standard FIX Header tag. Its contents is defined in the FIX specification, e.g. FIX 4.4 Vol. 2, page 4: > The message length is indicated in the BodyLength field and is verified by counting the number of characters in So this value must differ from a plain toString().length(). And it is documented in the FIX spec. Cheers, Jörg |
| Comment by Fuzzy Gruber [ 04/Aug/08 ] |
|
Jörg, The BodyLength FIELD you're talking about would be retrieved using: I understand this to be different compared to Message.bodylength()? Thanks -James |
| Comment by Steve Bate [ 19/Aug/08 ] |
|
The m.bodyLength() value is the same as the tag 9 (BodyLength) in a fully constructed message. You also must retrieve tag 9 from the message header, not from the body. |