MQRFH2 구조

MQRFH2 헤더에는 메시지 브로커가 메시지를 처리하고 해당 고객에게 메시지를 전달하고 publish할 수 있도록 하는 메시지 구조 및 예상 고객에 대한 정보가 있습니다.

'MQRFH2' 값은 선행 헤더(일반적으로 MQMD)의 형식 필드에 넣어야 합니다. MQFMT_RF_HEADER_2 상수는 이 값으로 정의됩니다.

C 프로그래밍 언어의 경우, MQFMT_RF_HEADER_2_ARRAY 상수 또한 정의됩니다. 이 상수는 MQFMT_RF_HEADER_2와 동일하지만, 문자열이 아닌 문자 배열입니다.

MQRFH2 헤더의 문자 세트 및 필드 인코딩은 다음과 같습니다.

MQRFH2 헤더에는 다음 필드가 포함됩니다.

필드 이름 설명 세부사항
StrucId 구조 ID

값은 규칙 및 형식화 헤더 구조의 ID인 MQRFH_STRUC_ID여야 합니다.

C 프로그래밍의 경우, MQRFH_STRUC_ID_ARRAY 상수 또한 정의됩니다. 이 상수는 MQRFH_STRUC_ID와 동일하지만, 문자열이 아닌 문자 배열입니다.

버전 구조 버전 번호

값은 버전 2 규칙 및 형식화 헤더 구조인 MQRFH_VERSION_2여야 합니다.

Struclength MQRFH2의 총 길이(NameValueData 포함)

이 필드의 초기값은 MQRFH_STRUC_LENGTH_FIXED_2로서, MQRFH2 헤더 구조의 고정 부분 길이입니다.

구조 끝의 NameValueLengthNameValueData 필드를 포함하는 MQRFH2 헤더 구조의 바이트 단위 길이입니다.

구조의 끝에는 해당 필드의 둘 이상의 쌍이 순서대로(length1, data1, length2, data2) 올 수 있습니다. 구조의 끝에 마지막 NameValueData 필드 다음에 오는 사용자 데이터의 길이는 StrucLength에 포함되지 않습니다.

주: Struclength가 4의 배수가 아니면, 일부 운영 체제 환경에서 사용자 데이터의 데이터 변환에 문제가 발생할 수 있습니다.
인코딩 NameValueData 다음의 데이터 숫자 인코딩

이 필드의 초기값은 MQENC_NATIVE입니다.

이 필드는 마지막 NameValueData 필드 다음의 데이터 숫자 값이 표시되는 방식을 지정합니다. 이는 2진 정수 데이터, 팩 10진수 데이터, 부동 소수점 데이터에 적용됩니다.

CodedCharSetId NameValueData 다음의 데이터 문자 세트 ID

이 필드의 초기값은 MQCCSI_INHERIT로서, 문자 세트 ID가 현재 구조의 ID와 동일함을 의미합니다.

이 필드는 마지막 NameValueData 필드 다음에 오는 데이터의 문자열에 대한 코딩된 문자 세트를 나타냅니다.

형식 NameValueData 다음의 데이터 형식 이름

이 필드의 초기값은 MQFMT_NONE입니다.

이 필드는 마지막 NameValueData 필드 다음의 데이터 형식 이름을 지정합니다. 이름은 필드 길이까지 공백으로 채워져야 합니다.

주: 필드의 끝 앞에서 이름을 종료하기 위해 널(null) 문자를 사용하지 마십시오. 큐 관리자는 MQRFH2 헤더에서 널(null) 문자나 널(null) 문자 다음의 문자를 공백 문자로 바꾸지 않습니다.
주: 선두 문자 또는 임베드된 공백 문자가 있는 이름을 지정하지 마십시오.
플래그 Flags

이 필드의 초기값은 MQRFH_NONE으로서, 플래그가 없음을 의미합니다.

NameValueCCSID NameValueData의 문자 세트 ID

이 필드의 초기값은 1208로서, UTF-8 코드화 문자 세트가 사용됨을 의미합니다.

이 필드는 NameValueData 필드의 데이터에 대한 코드화 문자 세트를 나타냅니다. 이 필드는 MQRFH2 헤더 구조의 다른 문자열의 문자 세트와 다르고 마지막 NameValueData 필드 다음에 오는 문자 데이터의 문자 세트와도 다릅니다.

NameValueCCSID는 다음 값 중 하나를 가집니다.

1200: UCS-2 open-ended

1208: UTF-8

13488: UCS-2 2.0 서브세트

17584: UCS-2 2.1 서브세트(유로 기호 € 포함)

UCS-2 문자 세트의 경우, NameValueData 필드의 인코딩(바이트 순서)은 MQRFH2 헤더 구조의 다른 필드 인코딩과 같아야 합니다.

주: 대리 문자(X'D800' - X'DFFF')는 지원되지 않습니다.

다음 두 필드는 선택적이지만 값을 지정할 경우 쌍으로 나타나야 합니다. 필요한 만큼 쌍으로 반복될 수 있습니다.

필드가 두 번 이상 나타날 경우, length1, data1, length2, data2, .......

NameValueLength NameValueData의 길이

이 필드는 이 필드 다음에 오는 NameValueData 필드의 길이(바이트 단위)를 지정합니다.

주: NameValueLength가 4의 배수가 아니면, NameValueData 필드 다음에 오는 데이터 변환에 문제가 발생할 수 있습니다.
NameValueData XML식 구조를 사용하여 인코딩된 데이터가 들어 있는 가변 길이 문자열입니다.

이 문자열의 길이(바이트 단위)는 이 NameValueData 필드 앞에 오는 NameValueLength 필드에 표시됩니다.

NameValueLength 필드에 대한 설명이 있는 참고에 설명된 문제점을 피하려면 이 필드를 공백으로 확장하여 길이가 4의 배수가 되도록 하거나 필드를 널(null) 문자로 종결하십시오.

C 프로그래밍 언어 정의

WebSphere MQ와 함께 제공되는 cmqc.h 헤더 파일에는 다음 구조가 정의됩니다. NameValueData 필드 내에 사용되는 상수는 WebSphere Message Broker와 함께 제공된 BipRfc.h 헤더 파일에 정의됩니다.
typedef struct tagMQRFH2 {
    MQCHAR4  StrucId;         /*  Structure identifier                        */
    MQLONG   Version;         /*  Structure version number                    */
    MQLONG   StrucLength;     /*  Total length of MQRFH2 including
                                                                                                */
    MQLONG   Encoding;        /*  Numeric encoding of data that follows
                                                                                                */
    MQLONG   CodedCharSetId;  /*  Character set identifier of data that
                                                                  follows NameValueData                      */
    MQCHAR8  Format;          /*  Format name of data that follows
                                                                                                */
    MQLONG   Flags;           /*  Flags                                       */
    MQLONG   NameValueCCSID;  /*  Character set identifier of NameValueData   */
 } MQRFH2;
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
aq06930_