RPC data is described by Software AG IDL. See Software AG IDL File. The Listener for IBM MQ offers two possibilities to map MQ messages to IDL:
IDL is mapped to XML format using the XML Mapping Editor. The outcome of this process is an XML mapping file (Workbench file with extension xmm).
This resulting XMM file has to be specified by the configuration property entirex.bridge.xmm
.
Note:
EntireX configuration parameters (see Listener for XML/SOAP under Writing Advanced Applications with the XML/SOAP Wrapper) inside the XML payload are ignored.
MQ messages in text format use an IDL file, which describes the message layout.
The IDL file has to be specified by the configuration property entirex.bridge.idl
.
The program name is taken from the applicationIdData
field of the incoming MQ message.
If this field is empty and the IDL file has only one program, this program will be called.
A custom logic (e.g. using the first n bytes of the MQ message payload) can be implemented in the user exit.
The Listener for IBM MQ uses the predefined mapping of IDL data types to the MQ message buffer. See below.
If your programs use arrays of groups, set the property
entirex.bridge.marshalling
to "Natural" or "COBOL".
If your programs do not use arrays of groups, do not set entirex.bridge.marshalling
.
Data Type | Description | Format | Note |
---|---|---|---|
A |
Alphanumeric | number bytes, encoding the characters.
|
|
AV |
Alphanumeric variable length | Bytes up to the end of the buffer. | 1, 4 |
AV |
Alphanumeric variable length with maximum length | Bytes up to the end of the buffer, maximum length number .
|
1 |
B |
Binary | byte[] |
5 |
BV |
Binary variable length | 5 | |
BV |
Binary variable length with maximum length | 5 | |
K |
Kanji | Same as data type A .
|
|
KV |
Kanji variable length | Same as data type AV .
|
1, 4 |
KV |
Kanji variable length with maximum length | Same as data type AV .
|
1 |
F4 |
Floating point (small) | 5 | |
F8 |
Floating point (large) | 5 | |
I1 |
Integer (small) | sign (+, -) and 3 bytes (digits).
|
|
I2 |
Integer (medium) | sign (+, -) and 5 bytes (digits).
|
|
I4 |
Integer (large) | sign (+, -) and 10 bytes (digits).
|
|
N |
Unpacked decimal | sign (+, -), number1 bytes (digits) [number2 ] bytes (digits), no decimal point.
|
|
NU |
Unpacked decimal unsigned | 5 | |
P |
Packed decimal | sign (+, -), bytes (digits) [ bytes (digits), no decimal point.
|
|
PU |
Packed decimal unsigned | 5 | |
L |
Logical | 1 byte: X for true, all other false. | |
D |
Date | YYYYMMDD .
|
2 |
T |
Time | YYYYMMDDhhmmssS .
|
3 |
U |
Unicode | 5 | |
UV |
Unicode variable length | 5 | |
UV |
Unicode variable length with maximum length | 5 |
See also the hints and restrictions valid for all languages under IDL Data Types in the IDL Editor documentation.
Notes:
YYYY
year, MM
month, DD
day.
YYYY
year, MM
month, DD
day, hh
hour, mm
minute, ss
second, S
tenth of a second.