이 주제는 다음 절을 포함합니다.
WebSphere MQ Enterprise Transport를 사용하여 브로커에 연결하고 MQI 및 AMI 응용프로그램 프로그래밍 인터페이스를 사용하는 클라이언트에서 메시지를 수신하려면 MQGet 노드를 사용합니다. 또한 MQGet 노드를 사용하여 이전에 브로커 큐 관리자에 정의된 WebSphere MQ 메시지 큐에 놓였던 메시지를 검색할 수도 있습니다.
MQGet 노드는 지정된 큐에서 메시지를 읽어 메시지의 처리 환경을 설정합니다. 적절한 경우 입력 큐를 WebSphere MQ 클러스터 큐 또는 공유 큐로 정의할 수 있습니다.
MQGet 노드는 메시지 플로우에서 첫 번째 노드로만 사용될 수 있는 MQInput 노드와는 달리 메시지 플로우 내의 어디에서나 사용할 수 있습니다. MQGet 노드의 출력 메시지 트리는 MQGET 호출의 결과 트리와 입력 트리를 결합하여 구성됩니다. 메시지 수신 방법을 제어하는 MQGet 노드의 등록 정보를 설정할 수 있습니다. 예를 들어, 트랜잭션 제어하에 메시지를 처리하도록 표시하거나, 요청 트리 작성 시 모든 입력 메시지를 수신할 때 데이터 변환이 수행되도록 요청할 수 있습니다.
MQGet 노드는 다음 메시지 도메인에 있는 메시지를 핸들링합니다.
MQGet 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
MQGet 노드 인스턴스를 메시지 플로우에 넣으면 이 노드를 구성할 수 있습니다.
편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.
모든 필수 등록 정보는 등록 정보 대화 상자에 (*)로 표시되어 있습니다.
다음을 수행하여 MQGet 노드를 구성하십시오.
<mcd><Msd>MRM</Msd><Set>DHM4UO906S001</Set><Type>receiptmsg1</Type> <Fmt>XML</Fmt></mcd>
값 설정 시 이 값이 MQRFH2 헤더의 값과 다르면 MQRFH2 헤더 값이 우선합니다.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 세트를 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, IDOC, MIME 및 BLOB 구문 분석기에 대해서는 메시지 유형을 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 형식를 공백으로 남겨 두십시오.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
입력 트리에서 전달되는 메시지로 응답을 삽입하기 위한 새 노드를 메시지 트리에서 작성하기 위한 새 필드 참조를 포함하여 올바른 ESQL 필드 참조를 입력할 수 있습니다. 이 참조에는 표현식이 포함될 수 있습니다.
예를 들어 OutputRoot.XMLNS.ABC.DEF 및 Environment.GotReply는 올바른 필드 참조입니다. 자세한 정보는 요청-응답 플로우에서 MQGet 노드 사용을 참조하십시오.
검색된 메시지 비트 문자열을 구문 분석하여 메시지 트리의 컨텐츠를 작성할 경우, 노드의 디폴트 등록 정보로 지정한 메시지 등록 정보가 사용됩니다.
올바른 어떤 ESQL 필드 참조도 입력할 수 있습니다(출력 데이터 위치 등록 정보 설명 참조). 이 위치에 놓이는 데이터는 항상 BLOB 요소로 본문을 가지고 있는 전체 결과 트리입니다. 결과 데이터 위치는 경고 데이터에 사용되지 않습니다.
이를 즉시로 변경할 경우, 즉시 해석할 수 없는 메시지 또는 선택 작성의 복합 유형을 제외하고 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다. 이를 완료로 변경할 경우, 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다. 당시에 해석할 수 없는 메시지 또는 선택 작성의 복합 유형이 있으면 유효성 검증에 실패합니다.
자세한 정보는 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
MQRFH2C 구문 분석기를 사용하려면 MQRFH2C 압축 구문 분석기 사용 선택란을 선택하십시오. 디폴트로, 이 선택란은 선택되어 있지 않습니다. 이는 압축 구문 분석기가 사용되지 않음을 의미합니다.
자세한 정보는 XMLNSC 구문 분석기를 사용하여 메시지 조작을 참조하십시오.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
메시지를 추가로 처리하고 오류를 처리하거나 해당 메시지를 추가 목적지에 송신하려면 이 노드의 Out, Warning, Failure 및 No Message 출력 터미널을 메시지 플로우의 다른 노드에 연결하십시오.
각 출력 터미널에 전달되는 내용은 MQGET 호출에 의해 생성되는 조건 코드(CC)에 따라 다릅니다.
MQGET 호출에 성공하면 MQGet 노드는 각각의 구문 분석된 출력 메시지를 Out 터미널에 라우트합니다.
MQGET 호출에 실패했지만 경고를 표시하는 CC가 있을 경우, 구문 분석되지 않은 출력 메시지가 Warning 터미널로 전달됩니다.
MQGET 호출에 실패하고 경고보다 심각한 CC가 있을 경우, 입력 메시지가 Failure 터미널로 전달됩니다.
MQGET 호출에 실패하고 이유 코드가 MQRC_NO_MSG_AVAILABLE일
경우, 출력 메시지가 No Message 터미널로 전달됩니다(결과 본문 없이). No Message 터미널에 전달되는 출력 메시지는
Generate Mode 및 Copy Message 또는 Copy Local Environment 등록 정보의 값에 따라 입력 메시지로만 구성됩니다.
Out, Warning 또는 No Message 터미널을 메시지 플로우의 다른 노드에 연결하지 않으면 이 터미널에 전달된 모든 것이 제거됩니다.
Failure 터미널을 메시지 플로우의 다른 노드에 연결하지 않을 경우, 이 터미널에 어떠한 내용이 전달될 때 브로커에서 예외가 전달됩니다.
자세한 정보는 failure 터미널 연결을 참조하십시오.
메시지 플로우에 MQGet 노드가 포함되어 있는 경우, 트랜잭션 모드에 대해 설정한 값이 메시지가 동기점 아래에 수신되는지 여부를 정의합니다.
다음 표에는 MQGet 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
In | 메시지 플로우에서 처리할 메시지를 승인하는 입력 터미널. |
Warning | 큐에서 메시지를 가져오려고 시도하는 동안 노드에서 (경고를 표시하는 CC와 함께) 오류가 발생할 경우 출력 트리가 전달될 출력 터미널. 메시지의 MQMD 부분이 구문 분석되며 메시지의 나머지는 구문 분석되지 않는 BLOB 요소입니다. 터미널에 연결되어 있지 않으면 경고가 제거되고 노드에서 어떤 출력도 전달되지 않습니다. |
Failure | 큐에서 메시지를 가져오려는 동안 노드에서 (경고보다 심각한 오류를 표시하는 CC와 함께) 오류가 발생하는 경우 입력 메시지가 라우트되는 출력 터미널. |
Out | WebSphere MQ 큐에서 검색이 완료되었을 경우 메시지가 라우트될 출력 터미널. |
No Message | ![]() ![]() |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 MQGet 노드의 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
큐 이름 | 예 | 예 | 없음 | 노드가 메시지를 검색하는 WebSphere MQ 메시지 큐의 이름. |
다음 표에는 MQGet 노드의 디폴트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
메시지 도메인 | 없음 | 아니오 | 없음 | 메시지 큐에서 확보하는 메시지를 구문 분석하는 데 사용하는 도메인 |
메시지 세트 | 없음 | 아니오 | 없음 | 메시지 큐에서 확보하는 메시지를 정의하는 메시지 세트의 이름 또는 ID |
메시지 유형 | 없음 | 아니오 | 없음 | 메시지 큐에서 확보하는 메시지의 이름 |
메시지 형식 | 없음 | 아니오 | 없음 | 메시지 큐에서 확보하는 메시지의 물리적 형식 이름 |
다음 표에는 MQGet 노드의 고급 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
트랜잭션 모드 | 아니오 | 아니오 | 예 | 들어오는 메시지가 동기점 아래에 수신되는지 여부. 올바른 값은 자동, 예 및 아니오입니다. |
생성 모드 | 아니오 | 아니오 | Message | 복사하는 입력 트리의 메시지 부분. 올바른 값은 Message, LocalEnvironment, Message 및 LocalEnvironment, 없음입니다. |
메시지 복사 | 아니오 | 아니오 | 없음 | 복사하는 입력 트리의 메시지 부분. 올바른 값은 없음, 헤더 복사, 전체 메시지 복사입니다. |
로컬 환경 복사 | 아니오 | 아니오 | 복사하는 입력 트리의 메시지 부분. 올바른 값은 없음 및 전체 LocalEnvironment 복사입니다. 디폴트 값은 전체 LocalEnvironment 복사입니다. | |
대기 간격 | 예 | 아니오 | 1000 | 메시지 큐에서 메시지 확보를 위해 대기하는 최대 시간(밀리세컨드). |
최소 메시지 버퍼 크기 | 예 | 아니오 | 4 | get 버퍼의 최소 크기(KB). 이 등록 정보의 최소값은 1KB입니다. |
다음 표에는 MQGet 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
이 등록 정보에 대한 자세한 설명은 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 아니오 | 예 | 없음 | 유효성 검증이 발생하는지의 여부. 올바른 값은 없음, 컨텐츠, 컨텐츠 및 값 및 상속입니다. |
실패 조치 | 아니오 | 아니오 | 예외 | 유효성 검증에 실패한 경우의 조치. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 아니오 | 아니오 | True | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 컨텐츠 및 값 유효성 검증 내에 기본 값 제한조건 점검이 포함되어 있는 것입니다. |
수정사항 | 아니오 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. |
다음 표에는 MQGet 노드의 요청 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
입력 MQMD 위치 | 아니오 | 아니오 | 입력 메시지 어셈블리에서 MQGET에 사용할 MQMD를 찾을 수 있는 위치를 지정합니다. 디폴트 위치는 InputRoot.MQMD입니다. | |
입력 MQ 매개변수 위치 | 아니오 | 아니오 | 입력 메시지 어셈블리에서 MQ 매개변수(예: 초기 버퍼 크기 및 MQGMO 대체사항)를 찾을 수 있는 위치를 지정합니다. 디폴트 위치는 InputLocalEnvironment.MQ.GET입니다. | |
상관 ID별로 가져오기 | 아니오 | 아니오 | False | 선택할 경우, 이 선택란은 지정된 상관 ID를 가지고 있는 메시지만 가져오도록 합니다. |
메시지 ID별로 가져오기 | 아니오 | 아니오 | False | 선택할 경우, 이 선택란은 지정된 메시지 ID를 가지고 있는 메시지만 가져오도록 합니다. |
전체 입력 MQMD 사용 | 아니오 | 아니오 | False | 선택한 경우, 이 선택란은 전체 MQMD가 사용되도록 합니다. 그렇지 않으면 메시지 ID 및 상관 ID만 사용됩니다. |
다음 표에는 MQGet 노드의 결과 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
출력 데이터 위치 | 아니오 | 아니오 | OutputRoot | 출력 데이터가 놓이는 위치를 지정합니다. 공백으로 남겨두면 OutputRoot가 디폴트로 사용됩니다. |
결과 데이터 위치 | 아니오 | 아니오 | ResultRoot | 사용할 서브트리(검색된 메시지의)를 지정합니다. 공백으로 남겨둘 경우, ResultRoot가 디폴트로 사용되고 검색된 전체 메시지가 사용됩니다. 예를 들어 ResultRoot.MQMD.ReplyToQ를 지정하면 해당 서브트리만 사용됩니다. |
출력 MQ 매개변수 위치 | 아니오 | 아니오 | 출력 MQ 매개변수가 놓이는 위치를 지정합니다. 공백으로 남겨두면 OutputLocalEnvironment.MQ.GET가 디폴트로 사용됩니다. 갱신된 값을 다운스트림 노드에서 볼 수 있도록 하려면 LocalEnvironment를 포함하도록 생성 모드를 설정해야 합니다. 디폴트 위치는 OutputLocalEnvironment.MQ.GET입니다. | |
경고 데이터 위치 | 아니오 | 아니오 | OutputRoot | MQGET가 경고 코드를 리턴할 경우 출력 데이터가 놓이는 위치를 지정합니다. 공백으로 남겨두면 OutputRoot가 디폴트로 사용됩니다. |
다음 표에는 MQGet 노드의 일반 메시지 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
구문 분석 타이밍 | 아니오 | 아니오 | 요청시 | 이 등록 정보는 입력 메시지를 구문 분석하는 시기를 제어합니다.
올바른 값은 요청시,
즉시 및
완료입니다. 이 등록 정보에 대한 자세한 설명은 요청시 구문 분석을 참조하십시오. |
MQRFH2 도메인에 MQRFH2C 압축 구문 분석기 사용 | 아니오 | 아니오 | False | 이 등록 정보는 MQRFH2 헤더에 MQRFH2 구문 분석기 대신 MQRFH2C 압축 구문 분석기를 사용하는지 여부를 제어합니다. |
다음 표에는 MQGet 노드의 XMLNSC 구문 분석기 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
XMLNS 도메인에 XMLNSC 압축 구문 분석기 사용 | 아니오 | 아니오 | False | ![]() ![]() |
혼합 컨텐츠 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다. |
주석 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다. |
처리 지시사항 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다. |
다음 표에는 MQGet 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 공백 | 노드에 대한 간략한 설명. |
자세한 설명 | 아니오 | 아니오 | 공백 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |