05/30/2017
There was a flaw in the DataTypeDefinition Structure because it did not have a way to represent fields with abstract DataTypes.
Prior to 1.05.02, the DataTypes of fields with abstract DataTypes needed to be declared a "Structure". This generic representation produced the correct code on the wire but the DataTypeDefinition lost important information.
As of 1.05.02, the DataTypes of fields with abstract DataTypes can be declared as the DataType provided the StructureWithSubtypedValues/AllowsSubtypes flags are set.
There is no difference in the actual encoding on the wire between the <1.05.02 and >=1.05.02. The change only affects the metadata published in the DataTypeDefinition attribute. If a Server knows it needs to support <1.05.02 clients it can continue to use the <1.05.02 convention of substituting "Structure" for the DataType of fields when the StructureWithSubtypedValues/AllowsSubtypes flags are set.
<1.05.02 client that read a DataTypeDefinition with the new convention should already report an error because they encounter an unrecognized StructureType. This is not ideal but could not be avoided.
1 Guest(s)