When a broker calls a parser or serializer, the broker provides the parser or serializer with encoding information that defines the character encoding (CCSID) and numeric encoding (byte order and floating point representation) of the data that is to be parsed or serialized.
When parsing or serializing messages in the DFDL domain, the DFDL parser or DFDL serializer is called. The way that the DFDL parser and DFDL serializer use encoding information is defined by your DFDL message model.
In a DFDL message model, you must set the character encoding (CCSID) and numeric encoding (byte order and floating point representation) by using DFDL properties on each type definition. DFDL predefines a set of external variables, each of which has default values that can be externally overridden. It is these predefined variables that the broker overrides to pass in encoding information. For more information about DFDL predefined variables, see DFDL predefined variables in WebSphere Message Broker.
To avoid these problems, set the DFDL encoding properties in your DFDL message model to <Dynamically Set>. This setting allows the DFDL parser to correctly interpret your data by using the encoding information that the broker obtains for an individual message instance, for example from the transport headers in an input message. Similarly, setting the DFDL encoding properties in your DFDL message model to <Dynamically Set> ensures that bit stream data is encoded according to the values that are defined in the broker properties, when the data is processed by the DFDL serializer.