[QFJ-881] FieldType.MultipleValueString are not created from FIX5+ xml files Created: 12/Mar/16 Updated: 23/Sep/16 Resolved: 17/Mar/16 |
|
| Status: | Closed |
| Project: | QuickFIX/J |
| Component/s: | Metadata/Specs |
| Affects Version/s: | 1.6.1 |
| Fix Version/s: | 1.6.2 |
| Type: | Bug | Priority: | Default |
| Reporter: | exgorth | Assignee: | Christoph John |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
Fields where 'type' attribute has value 'MULTIPLESTRINGVALUE' are referenced in all FIX5+.xml. They cannot be correctly identified when added to DataDictonary because corresponding definition quickfix.FieldType ( quickfix.FieldType#MultipleValueString) expects value 'MULTIPLEVALUESTRING'. Quick workaround for 1.6.1 is to update values in your xml dictionary, or change type to STRING and validate within app (as suggested elsewhere https://github.com/connamara/quickfixn/issues/66). Proper fix would probably involve correcting both xml files and quickfix.FieldType to refer to MultipleStringValue constant as defined in the the official fixmlschema doc: <xs:simpleType name="MultipleStringValue"> <xs:annotation> <xs:documentation>string field containing one or more space delimited multiple character values (e.g. |277=AV AN A| ).</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value=".+(\s.+)*"/> </xs:restriction> </xs:simpleType> I would also suggest an engine to generate a warning (or allow some other strategy) when a DataDictionary parser encounters some 'unexpected' value (instead of just silently assuming type was Unknown) |
| Comments |
| Comment by exgorth [ 12/Mar/16 ] |
|
The benefit of fixing this: messages that carry such types, for example MarketDataIncrementalRefresh(X) holding 75=U X, could you correctly processed by the engine with dictionary validation turned on. At the moment it rejects such (valid) messages. |