FIX Trading Community

 

 Remember me

Register  |   Lost password?

4.3 Changes

Discussions > 4.3 Changes > sessions tests - 14g

sessions tests - 14g

Complete message thread from old site

Terry Murtaugh
4658 days ago,(2001/07/23)

The session level test (volume 2 of spec), 14g specifies that all header fields must preceed any body fields, etc., and requires a reject of any message with aberrant ordering; the test makes no exception for prior versions of the spec. Previous discussions have strongly indicated that such ordering was not specified or required in 4.0; it would seem dangerous to require rejection of such messages in a 4.0 session at this point. Maybe this should be a 4.3-only test.

Scott Atwell
4630 days ago,(2001/08/21)

The FIX 4.0 spec does state: "Each message, administrative or application, is preceded by a standard header." and somewhat contradictory "Except where noted, fields within a message can be defined in any sequence (i.e. relative position of a field within a record is inconsequential); exceptions are explicitly defined otherwise (certain header fields and fields within repeating data groups)."

The FIX 4.1 with Errata 19990630 spec corrected the somewhat contradictory 4.0 statement with: "Except where noted, fields within a message can be defined in any sequence (Relative position of a field within a record is inconsequential.) Any exceptions are explicitly defined otherwise: four header/trailer fields (BeginString, BodyLength, MsgType, and CheckSum), and fields within repeating data groups, and general message format of standard header followed by body followed by standard trailer."

Thus this is certainly not a "4.3-only test". One could argue either way re: 4.0, however, it's been clearly stated for the past 2+ years in 4.1, 4.2, and 4.3.

> The session level test (volume 2 of spec), 14g specifies that all header fields must preceed any body fields, etc., and requires a reject of any message with aberrant ordering; the test makes no exception for prior versions of the spec. Previous discussions have strongly indicated that such ordering was not specified or required in 4.0; it would seem dangerous to require rejection of such messages in a 4.0 session at this point. Maybe this should be a 4.3-only test.
>

Allan Kelley
3416 days ago,(2004/12/16)

I am trying to understand the specific requirement that header fields must come before body fields and that body field come before trailer fields.

My concern arises from the Morgan Stanley application note on PGP-DES-MD5 encryption, as well as some example logon exchange messages that were posted by Scott in Feb, 2000 (included below for reference).

The issue is that in both cases the EncryptMethod field (Tag=98) is shown to precede the SecureDataLength field (Tag=90) and SecureData field (Tag=91). Tags 90 and 91 are header fields, while Tag 98 is a body field. As a result, this seems to violate the above field ordering rule.

Any thoughts or suggestions?

8=FIX.4.19=69035=A49=INVMGR56=BRKR98=590=62591=-----BEGIN PGP MESSAGE-----
Version: 2.7.1

hIwDDrony+hQ+FEBA/9qd5Vcdw2w2DSKx3+XbqOhWz9xZ07RYRyhKDG/qE5EQbYu
6srrDowCzscPb9+krWcxH4xL3B/1DEwL3QpQsxCSGY1JnbjDCTyJ21nuZ6NHY6YA
AAECr4mTIlZgM5hmSmrlunDoeOQWwPkca9OCWh0n3VXfGkA7e99DCq0P3MZ48Jlr
GNF141hwWLIpN2RfqYvfzPD0w7I54wf3z/sYefGj+a0QTt1JOLEFxzsPykIyMPEI
kGfdjuzOL8/94plkeeWSJHx7K6IemVRsT6HwLJtFaW/JIJr+hxYr1Z8BBjyXoQCz
argut9niFOcnSqwvZolAYqjMPrkWuaeJn+bJ4kCEuLGdrQJDHvlzOS6r3By80IUc
2L4W7yJL7Am82wTWD4s5ANBQz8FCwLtLMivUTvqsg/Zp8v7vSQ1FfEIsg30XXtBL
6QBYtnYnAAAwCEOrv6DavDTfhWl72D6VfiOLrHIHtEQf3iwb5JFHGRaMpX88VlSU
W7qy163o78rIEL3WEak4pwmnf28P
=v9gz
-----END PGP MESSAGE-----
93=1689=................10=161

> The FIX 4.0 spec does state: "Each message, administrative or application, is preceded by a standard header." and somewhat contradictory "Except where noted, fields within a message can be defined in any sequence (i.e. relative position of a field within a record is inconsequential); exceptions are explicitly defined otherwise (certain header fields and fields within repeating data groups)."
>
> The FIX 4.1 with Errata 19990630 spec corrected the somewhat
> contradictory 4.0 statement with: "Except where noted, fields within a
> message can be defined in any sequence (Relative position of a field
> within a record is inconsequential.) Any exceptions are explicitly
> defined otherwise: four header/trailer fields (BeginString, BodyLength,
> MsgType, and CheckSum), and fields within repeating data groups, and
> general message format of standard header followed by body followed by
> standard trailer."
>
> Thus this is certainly not a "4.3-only test". One could argue either way
> re: 4.0, however, it's been clearly stated for the past 2+ years in 4.1,
> 4.2, and 4.3.
>
> > The session level test (volume 2 of spec), 14g specifies that all
> > header fields must preceed any body fields, etc., and requires a
> > reject of any message with aberrant ordering; the test makes no
> > exception for prior versions of the spec. Previous discussions have
> > strongly indicated that such ordering was not specified or required in
> > 4.0; it would seem dangerous to require rejection of such messages in
> > a 4.0 session at this point. Maybe this should be a 4.3-only test.
> >