WebSphere Message Brokers
File: ad09255_
Writer: Terry Cowling

Reference topic

This build: July 31, 2007 21:23:07

Custom Wire Format message set properties

The table below defines the properties that you can set for the 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

These settings are used when messages are being serialized.

Property Type Meaning
Start of changeTruncate fixed length strings*End of change Start of changeCheck boxEnd of change Start of changeThis property applies only to output strings.

If the value of this property is True and the element or attribute is a fixed length string (that is, the logical type is 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.

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 the value of this property is False, an exception occurs if the element or attribute is a fixed length string (that is, the logical type is 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 is the behavior in releases of the WebSphere Message Broker earlier than 6.1.

The default value is False.

End of change
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 drop-down list.
  • 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 type The setting of this property governs the action taken by the broker when fields are missing from the message tree when the message is serialized:
  • Use Default Value (the default). If a Default Value exists for the element, output it; otherwise throw an exception.
  • Use Null Value. If the Nillable property of the element is checked, and an Encoding Null Value is specified for the element, output the Encoding Null Value according to the rules defined by the Encoding Null property. Otherwise an exception is thrown.

Binary representation of decimal values

Property Type Meaning
Packed Decimal Positive Code Enumerated type Select the positive sign used for packed decimal numbers from the drop-down list. The default is C, which indicates that 0x0C is used as the positive sign, which is the usual value. You can also select F, which indicates that 0x0F is used as the positive sign: some systems require this setting.

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. The defaults are:
dateTime
yyyy-MM-dd'T'HH:mm:ssZZZ
date
yyyy-MM-dd
time
HH:mm:ssZZZ
gYear
yyyy
gYearMonth
yyyy-MM
gMonth
--MM--
gMonthDay
--MM-dd
gDay
---dd

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

Use default dateTime Format Button and dateTime 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.

The initial value for this property is yyyy-MM-dd'T'HH:mm:ssZZZ, which you can change by over-typing.

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

For more information about dateTime formats, see DateTime formats.

Start of century for 2 digit years Integer This property determines how two-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 two-digit dates are interpreted as being in the range 1989 to 2088.

The initial value is 53, which you can change by over-typing.

Days in First Week of Year Enumerated type Specify the number of days of the new year that must fall within the first week.

The start of a year usually 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; hence week 1 starts some days into the new year. Otherwise it is considered to be the first week of the new year; hence week 1 starts some days before the new year.

Select Use Broker Locale, which causes the broker to get the information from the underlying platform, or select a number from the drop-down list. The initial value is 4.

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

Select Use Broker Locale, which causes the broker to get the information from the underlying platform, or select a value from the drop-down list. The initial value is Monday.

Strict DateTime Checking Check box Select this option if you want to restrict dateTimes to a valid dateTime format. This will not allow 35th March to be processed as 4th April, and 10:79 to be processed as 11:19. If Strict DateTime Checking is set, receiving an incorrect dateTime will cause an error. The default is to restrict dateTimes.
Strict dateTime checking
Examples of strict dateTime checking are:
  • DateTimes will be restricted to valid dateTimes only. This will not allow dates such as the 35th March to be processed as 4th April, and 10:79 to be processed as 11:19. Receiving an out-of-band dateTime like these examples, will cause 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 required. The maximum number of digits permitted will be the upper bound for a particular symbol. For example, day in month has an upper bound of 31 therefore a format string of d will allow the values of 2 or 21 to be parsed but will disallow the value of 32 or 210. On output, numbers are padded with zeros to the specified length. A year is a special case, see message set property of 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.
  • Whitespace will not be skipped over. The whitespace in the input string must correspond with the same number and the position of whitespaces in the formatting string.
  • If there is still data to be parsed in the input string once all the symbols in the formatting string have been matched, an error will occur.
Lenient dateTime checking
Examples of lenient dateTime checking are:
  • The parser will convert out-of-band dateTime values to the appropriate in-band value. For example, a date of 2005-05-32 will be converted to 2005-06-01.
  • Output of dateTimes will always adhere 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. This would allow invalid dates such as 2005-1-123 and 2005-011-12 to be input. The first value of 2005-1-123 would be output as the date 2005-05-03, and the second value of 2005-011-12 would be output as the date 2005-11-12.
  • The number of the timezone formatting symbol Z will only be applicable to the output dateTime format.
  • Whitespace will be skipped over.
Time Zone Enumerated type 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 broker to get the information from the underlying platform.

You can change this using the drop down box.

Daylight Savings Time Check box Select this option if the area in the Time Zone property observes daylight savings time. If it does not observe daylight savings time, this option should not be selected.

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

Default is not to observe daylight savings 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 includes ZZZ or ZZZU.

Such elements and attributes can specify Consolidated 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 checked, and the element or attribute is copied to an output message, then the UTC format will be preserved into the output message and will override that implied by the dateTime format property.

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

The default for this property is not checked.

Character and numeric encoding for non-WebSphere MQ messages

These settings are used only for messages with no MQMD.

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

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

Default Byte Order* Enumerated type Select either Big Endian (the default) or Little Endian from the drop-down 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. Big Endian is normally the correct option for messages created on UNIX or z/OS, Little Endian for Windows.

This property is not used 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 broker queue manager's encoding.

Default Packed Decimal Byte Order* Enumerated type Select Big Endian (the default) or Little Endian from the drop-down 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. Big Endian is normally the correct option for messages created on UNIX or z/OS, Little Endian for Windows NT.

Default Float Format* Enumerated type Select one of S390 (the default), IEEE, or Reverse IEEE from the drop-down list to specify the byte order of numbers in the message that are represented as floating point.
Related concepts
Physical formats in the MRM domain
Custom wire format
Custom wire format: relationship to the logical model
Related tasks
Working with physical properties
Related reference
Message model reference information
Message set properties
XML Wire Format message set properties
TDS Format message set properties
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:23:07

ad09255_ This topic's URL is: