Message Sets: Custom Wire Format message set properties

The tables define the properties that you can set for a Custom Wire Format message set.

Some of the message set properties (marked with an asterisk (*)) are relevant only if the message being processed is not using WebSphere® MQ as the transport protocol.

If the transport protocol is WebSphere MQ, values are derived from the message headers (for example, MQMD), and the message set properties, if set, are ignored.

Binary representation of boolean values

Property Type Meaning
Boolean True Value String Enter up to eight hexadecimal digits. Do not include the hexadecimal indicator (0x) preceding this number. Each digit is a half byte. The maximum length is 4 bytes. You must enter an even number of digits (a whole number of bytes). This value must be different from, but the same length as, the Boolean False Value. The default value is 00000001.
Boolean False Value String Enter up to eight hexadecimal digits. Do not include the hexadecimal indicator (0x) preceding this number. Each digit is a half byte. The maximum length is 4 bytes. You must enter an even number of digits (a whole number of bytes). This value must be different from, but the same length as, the Boolean True Value. The default value is 00000000.
Boolean Null Value String Enter up to eight hexadecimal digits. Do not include the hexadecimal indicator (0x) preceding this number. Each digit is a half byte. The maximum length is 4 bytes. You must enter an even number of digits (a whole number of bytes). This value can be the same as either Boolean True Value or Boolean False Value, or different. The default value is 00000000.

Output settings

Use these settings when messages are being produced.

Property Type Meaning
Byte Alignment Pad String If the xsd:element Custom Wire Format properties Byte Alignment, Leading Skip Count, and Trailing Skip Count cause bytes to be skipped in the bit stream when the message is serialized, this property supplies the character to be used in the skipped positions. Set this character in one of the following ways:
  • Select SPACE, NUL, or 0 (the default) from the list of values shown.
  • Enter a character between quotation marks, for example "c" or 'c', where c is any alphanumeric character.
  • Enter a decimal character code in the form YY where YY is a decimal value.
  • Enter a hexadecimal character code in the form 0xYY where YY is a hexadecimal value.
  • Enter a Unicode value in the form U+xxxx where xxxx is a Unicode value specified in hexadecimal format.
Policy for Missing Elements Enumerated This property determines the action that is taken by the integration node when fields are missing from the message tree when the message is serialized (for output):
  • Use Default Value (the default). If a Default Value exists for the element, write it; otherwise, throw an exception.
  • Use Null Value. If the Nillable property of the element is selected, and an Encoding Null Value is specified for the element, write the Encoding Null Value according to the rules that are defined by the Encoding Null property; otherwise, throw an exception.
Truncate fixed length strings Check box This property applies only to output strings.

If this check box is selected, and the element or attribute is a fixed length string (that is, the logical type is xsd:string and the physical type is Fixed Length String) that is longer than either the length that is specified in the model or the length reference, the string is truncated to this length. No exception is raised on output, unless validation (see Validating messages) is active.

The end from which data is truncated is determined by the value of the Justification property. If the value of the Justification property is Left justify, data is truncated from the right; if the value of the Justification property is Right justify, data is truncated from the left. However, if the value of the Justification property is Not applicable, truncation does not occur and an exception occurs if the string is too long.

If this check box is cleared, an exception occurs if the element or attribute is a fixed length string (that is, the logical type is xsd:string and the physical type is Fixed Length String) that is longer than either the length that is specified in the model, or the length reference. This behavior occurs in releases of the IBM® Integration Bus earlier than Version 6.1.

By default, this check box is cleared.

Binary representation of decimal values

Property Type Meaning
Packed Decimal Positive Code Enumerated Select, from the list, the positive sign that is used for packed decimal numbers. The default value is C, which indicates that 0x0C is used as the positive sign; this value is used in most systems. You can also select F, which indicates that 0x0F is used as the positive sign; this value is used in some systems.

Datetime settings

Property Type Meaning
Derive default dateTime format from logical type Button Select this option if you want the default dateTime format to be determined by the logical type of the element or attribute.

You can override this property for an element or attribute within a complex type.

Use default dateTime format Button and String Select this option if you want to specify a default dateTime format that is fixed for all elements or attributes of logical type dateTime, date, time, gYear, gYearMonth, gMonth, gMonthDay, and gDay.

You can override this property for an element or attribute within a complex type.

For more information, see Message Sets: DateTime formats.

Start of century for 2-digit years Integer This property determines how 2-digit years are interpreted. Specify the two digits that start a 100-year window that contains the current year. For example, if you specify 89, and the current year is 2002, all 2-digit dates are interpreted as being in the range 1989 - 2088.
Days in First Week of Year Enumerated Specify the number of days of the new year that must fall within the first week.

The start of a year typically falls in the middle of a week. If the number of days in that week is less than the value specified here, the week is considered to be the last week of the previous year; therefore, week 1 starts some days into the new year. Otherwise, it is considered to be the first week of the new year; in this case, week 1 starts some days before the new year.

Select Use Broker Locale, which causes the integration node to get the information from the underlying platform, or select a number from the list that is displayed.

First Day Of Week Enumerated Specify the day on which each new week starts.

Select Use Broker Locale, which causes the integration node to get the information from the underlying platform, or select a value from the list that is displayed.

Strict DateTime Checking Check box Select this option if you want to restrict dateTimes to a valid dateTime format. If Strict DateTime Checking is selected, receiving an incorrect dateTime causes an error.
Strict dateTime checking
Examples of strict dateTime checking are:
  • DateTimes are restricted to valid dateTimes only. When you use this option, a date such as the 35th March is not processed as 4th April, and 10:79 is not processed as 11:19. Receiving an out-of-band dateTime, such as these examples, causes an error to occur.
  • The number of characters for a numeric dateTime component must be within the bounds of the corresponding formatting symbols. Repeat the symbol to specify the minimum number of digits that you require. The maximum number of digits that is permitted becomes the upper bound for a particular symbol. For example, day in month has an upper bound of 31; therefore, a format string of 'd' allows the values 2 and 21 to be parsed, but does not allow the values 32 and 210. On output, numbers are padded with zeros to the specified length. A year is a special case; see the message set property Start of century for 2 digit years. For fractional seconds, the length must implicitly match the number of format symbols on input. The output is rounded to the specified length.
  • White space is not skipped over. The white space in the input string must correspond with the same number and position of white space in the formatting string.
  • If data remains that is not parsed in the input string after all the symbols in the formatting string have been matched, an error occurs.
Lenient dateTime checking
Examples of lenient dateTime checking are:
  • The parser converts out-of-band dateTime values to the appropriate in-band value. For example, a date of 2005-05-32 is converted to 2005-06-01.
  • Output of dateTimes always adheres to the symbol count. For example, a formatting string of yyyy-MM-dd (where '-' is the field separator) allows one or more characters to be parsed against MM and dd. Therefore, dates that are not valid - for example, 2005-1-123 and 2005-011-12 - can be entered. The first value of 2005-1-123 is output as the date 2005-05-03, and the second value of 2005-011-12 is output as the date 2005-11-12.
  • The number of the timezone formatting symbol Z is applicable only to the output dateTime format.
  • White space is skipped over.
Time Zone Enumerated The value that you set for this property is used if the value that you specified for the Default DateTime Format property does not include Time Zone information.

The initial value is Use Broker Locale, which causes the integration node to get the information from the underlying platform.

You can change this property by selecting from the list of values.

Daylight Saving Time Check box Select this option if the area in the Time Zone property observes daylight saving time. If it does not observe daylight saving time, do not select this option.

For example, if an area is selected in Time Zone and this option is not selected, the value passed represents the time zone without the daylight saving time.

Use input UTC format on output Check box This property applies to elements and attributes of logical type xsd:dateTime or xsd:time that contain a dateTime as a string and that have a dateTime format of I, IU, T, or TU, or that include ZZZ or ZZZU.

Such elements and attributes can specify Coordinated Universal Time (UTC) by using either the Z character or timezone +00:00 in the value. On input, the MRM parser remembers the way that UTC was specified.

If this property is selected, and the element or attribute is copied to an output message, the UTC format is preserved into the output message and overrides the format that is implied by the dateTime format property.

If this property is cleared, or if the element or attribute was not copied from an input message, the UTC format in the output message is controlled solely by the dateTime format property.

Character and numeric encoding for non-WebSphere MQ messages

Use these settings only for messages with no MQMD.

Property Type Meaning
Default CCSID* Integer Enter a numeric value for the default Coded Character Set Identifier. The default is 500.

If the input message is a WebSphere MQ message, the equivalent attribute that is set for the queue manager is used, and this property is ignored.

Default Byte Order* Enumerated Select either Big Endian (the default) or Little Endian from the list to specify the byte order of numbers that are represented as binary integers.

In C, this is equivalent to data type short or long. In COBOL, this is equivalent to a PIC 9, COMP, COMP-4, COMP-5, or BINARY data type.

Your choice must match the encoding with which messages are created. Typically, Big Endian is the correct option for messages that are created on UNIX or z/OS®; Little Endian is the correct option for messages that are created on Windows.

Do not use this property if the message is received across the WebSphere MQ transport protocol; in this case, the property is deduced from the MQMD of the message, or from the encoding of the integration node queue manager.

Default Packed Decimal Byte Order* Enumerated Select Big Endian (the default) or Little Endian from the displayed list to specify the byte order of numbers that are represented as packed decimal. In COBOL, this is equivalent to PIC 9 COMP-3 data type. There is no equivalent data type in C.

Your choice must match the encoding with which messages are created. Typically, Big Endian is the correct option for messages that are created on UNIX or z/OS; Little Endian is the correct option for messages that are created on Windows.

Default Float Format* Enumerated Select one of S390 (the default), IEEE, or Reverse IEEE from the displayed list to specify the byte order of numbers in the message that are represented as floating point.