## a message with dotless interface

## VALID_HEADER includes a LENGTH Header and LENGTH Body
VALID_HEADER method_call

HEADER_FIELD INTERFACE
TYPE STRING
STRING 'NoDotInHere'
HEADER_FIELD MEMBER
TYPE STRING
STRING 'Bar'
HEADER_FIELD PATH
TYPE OBJECT_PATH
OBJECT_PATH '/foo'

ALIGN 8
END_LENGTH Header
START_LENGTH Body
END_LENGTH Body
