La cabecera MQRFH2 contiene información acerca de la estructura de un mensaje, y de los consumidores a quienes va dirigida, para permitir que un intermediario de mensajes pueda procesar el mensaje y entregarlo o publicarlo en dichos consumidores.
El valor 'MQRFH2 ' debe ponerse en el campo Formato de la cabecera anterior (normalmente MQMD). La constante MQFMT_RF_HEADER_2 se define con este valor.
Para el lenguaje de programación C también se define la constante MQFMT_RF_HEADER_2_ARRAY. Esta constante tiene el mismo valor que MQFMT_RF_HEADER_2, pero es una matriz de caracteres, no una serie de caracteres.
El juego de caracteres y la codificación de los campos en la cabecera MQRFH2 son los siguientes:
Algunos juegos de caracteres tienen una presentación que depende de la codificación. Si NameValueCCSID define uno de estos juegos de caracteres, NameValueData deberá estar en la misma codificación que los otros campos en la cabecera MQRFH2.
La cabecera MQRFH2 contiene los campos siguientes:
Nombre de campo | Descripción | Detalles |
---|---|---|
StrucId | Identificador de la estructura | El valor debe ser MQRFH_STRUC_ID, que es el identificador de las normas y el formato de la estructura de la cabecera. En el lenguaje de programación C, también se define la constante MQRFH_STRUC_ID_ARRAY; esta constante tiene el mismo valor que MQRFH_STRUC_ID, pero es una matriz de caracteres, no una serie de caracteres. |
Version | Número de versión de la estructura | El valor debe ser MQRFH_VERSION_2, que es la estructura de la cabecera de las normas y el formato de la versión 2. |
Struclength | Longitud total de MQRFH2 (incluido NameValueData) | El valor inicial de este campo es MQRFH_STRUC_LENGTH_FIXED_2, que es la longitud de la parte fija de la estructura de la cabecera MQRFH2. Se trata de la longitud en bytes de la estructura de la cabecera MQRFH2, incluidos los campos NameValueLength y NameValueData colocados al final de la estructura. Es posible que haya más de un par de estos campos al final de la estructura, en la secuencia: length1, data1, length2, data2, ....... La longitud de cualquiera de los datos de usuario que figuran a continuación del último campo NameValueData al final de la estructura no está incluida en StrucLength. Nota: Si Struclength no es un múltiplo de cuatro,
pueden producirse problemas con la conversión de datos de los datos de usuario
en algunos entornos de sistemas operativos.
|
Encoding | Codificación numérica de datos que figura a continuación de NameValueData | El valor inicial de este campo es MQENC_NATIVE. Este campo especifica la manera de representar los valores numéricos de los datos que figuran a continuación del último campo NameValueData. Esto se aplica a los datos binarios de tipo entero, a los datos de tipo entero decimal empaquetados y los datos de coma flotante. |
CodedCharSetId | Identificador de juego de caracteres de datos que figura a continuación de NameValueData | El valor inicial de este campo es MQCCSI_INHERIT, que significa que el identificador de juego de caracteres es el mismo que el de la estructura actual. Este campo identifica el juego de caracteres codificado de las series de caracteres de los datos que figuran a continuación del último campo NameValueData. |
Format | Nombre de formato de los datos que figuran a continuación de NameValueData | El valor inicial de este campo es MQFMT_NONE. Este campo especifica el nombre de formato de los datos que figuran a continuación del último campo NameValueData. El nombre debe rellenarse de espacios en blanco que ocupen toda la longitud del campo. Nota: no utilice un carácter nulo para terminar el nombre antes del final
del campo; el gestor de colas no cambia el carácter nulo, ni ninguno de los
caracteres que figuran a continuación del carácter nulo, por un carácter en
blanco en la cabecera MQRFH2.
Nota: no
especifique un nombre que tenga caracteres en blanco intercalados ni
iniciales.
|
Flags | Distintivos | El valor inicial de este campo es MQRFH_NONE, lo que significa que no hay distintivos. |
NameValueCCSID | Identificador de juego de caracteres de NameValueData | El valor inicial de este campo es 1208, lo que significa que se utiliza el juego de caracteres codificado por UTF-8. Este campo identifica el juego de caracteres codificado para los datos del campo NameValueData. Dicho juego de caracteres es distinto del de otras series de caracteres de la estructura de la cabecera MQRFH2, y también puede ser distinto del que se utiliza para los datos de tipo carácter que figuran a continuación del último campo NameValueData. NameValueCCSID debe tener uno de los valores siguientes: 1200: UCS-2, final abierto 1208: UTF-8 13488: subconjunto de UCS-2 2.0 17584: subconjunto de UCS-2 2.1 (incluye el símbolo del euro €) Para los juegos de caracteres UCS-2, la codificación (orden de bytes) del campo NameValueData debe ser la misma que la codificación de los otros campos de la estructura de la cabecera MQRFH2. Nota: no se admiten los caracteres sustitutos (de X'D800' a X'DFFF').
|
Los dos campos siguientes son opcionales, pero, si se utilizan, deben aparecer como un par. Pueden utilizarse repetidamente como un par tantas veces como sea necesario. Si estos campos se utilizan varias veces, deberán utilizarse en la secuencia ..... length1, data1, length2, data2, ....... |
||
NameValueLength | Longitud de NameValueData | Este campo especifica la longitud, en bytes, del campo NameValueData que figura a continuación de este campo. Nota: Si NameValueLength no es un
múltiplo de cuatro, es posible que se produzca un problema con la conversión de
los datos que figura a continuación del campo
NameValueData.
|
NameValueData | Es una serie de caracteres de longitud de variable que contiene datos codificados mediante una estructura parecida a XML. | La longitud, en bytes, de esta serie de caracteres la proporciona el campo NameValueLength que precede a este campo NameValueData.
|
typedef struct tagMQRFH2 { MQCHAR4 StrucId; /* Identificador de la estructura */ MQLONG Version; /* Número de versión de la estructura */ MQLONG StrucLength; /* Longitud total de MQRFH2 incluido NameValueData */ MQLONG Encoding; /* Codificación numérica de datos que figura a continuación de NameValueData */ MQLONG CodedCharSetId; /* Identificador de juego de caracteres de datos que figura después de NameValueData */ MQCHAR8 Format; /* Nombre de formato de datos que figura a continuación de NameValueData */ MQLONG Flags; /* Distintivos */ MQLONG NameValueCCSID; /* Identif. de juego caract. de NameValueData */ } MQRFH2;
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
aq06930_ |