메시지 플로우 노드 및 MRM 구문 분석기 및 도메인에 대한 개념 주제를 읽으십시오.
브로커는 사전정의된 메시지에 대한 메시지 사전을 기본으로 유효성 검증을 제공합니다. 따라서 유효성 검증은 MRM 도메인에 모델화 및 정의된 메시지에만 적용됩니다.
브로커는 자체 정의 메시지에 대한 유효성 검증은 제공하지 않습니다. XML DTD 또는 XML 스키마에 대해 직접적으로 메시지의 유효성을 검증할 수 없습니다. 대신 Message Brokers Toolkit을 사용하여 XML DTD 또는 XML 스키마를 들여와서 MRM 도메인에 해당되는 모델을 작성해야 합니다.
메시지 플로우는 특정 규칙을 따르는 메시지를 변환하고 라우트하도록 설계되었습니다. 기본적으로, MRM 구문 분석기가 메시지에 대해 일부 유효성 검증을 수행하지만 구문 분석 조작의 무결성만을 확인합니다. 그러나 메시지 플로우의 특정 노드에 유효성 검증 옵션을 지정하여 메시지 사전에 포함되어 있는 메시지 모델에 대해 보다 엄격한 메시지 유효성 검증을 수행할 수 있습니다.
유효성 검증 옵션을 사용하여 다음 메시지의 유효성을 검증할 수 있습니다.
이러한 유효성 검증 옵션은 메시지 플로우로 들어오고 나가는 데이터의 유효성 검증을 보장합니다. 옵션은 사용자에게 다음을 위해 수행되는 유효성 검증에 대해 약간의 제어권을 제공합니다.
유효성 검증에 실패한 경우 취할 조치도 지정할 수 있습니다.
메시지 유효성 검증에는 메시지 트리 탐색과 유효성 점검이 포함됩니다. 메시지 유효성 검증은 메시지를 구문 분석할 경우에는 트리를 작성하는 작업의 확장이며 출력 메시지를 작성할 경우에는 비트스트림을 작성하는 작업의 확장입니다.
유효성 검증 옵션은 다음 노드에서 사용 가능합니다.
노드 유형 | 유효성 검증 옵션이 있는 노드 |
---|---|
입력 노드 | MQInput, SCADAInput, HTTPInput, JMSInput, TimeoutNotification |
출력 노드 | MQOutput, MQReply, SCADAOutput, HTTPReply, JMSOutput |
기타 노드 | Compute, Mapping, JavaCompute, Validate, ResetContentDescriptor, MQGet, HTTPRequest, |
ESQL CREATE문과 ASBITSTREAM 함수에서도 유효성 검증 옵션을 지정할 수 있습니다.
입력 노드에 수신되는 입력 메시지의 유효성을 검증하려면 입력 노드에서 유효성 검증 등록 정보를 지정하면 됩니다. 그러면 메시지 비트스트림이 구문 분석되어 메시지 트리를 형성하는 대로 입력 메시지의 유효성이 검증됩니다.
또한 입력 노드의 구문 분석 타이밍 등록 정보를 사용하여 전체 메시지를 구문 분석하여 유효성을 검증할 것인지 또는 참조한 경우에만 메시지의 개별 필드를 구문 분석하여 유효성을 검증할 것인지 제어할 수 있습니다.
Compute 노드, Mapping 노드 또는 JavaCompute 노드에서 작성된 출력 메시지의 유효성을 검증하려면 노드 자체에서 유효성 검증 등록 정보를 지정하거나 메시지를 송신하는 출력 노드에서 유효성 검증 등록 정보를 지정합니다. 유효성 검증은 출력 노드에서 메시지 트리로부터 메시지 비트스트림이 작성될 때 수행됩니다.
또는 Validate 노드를 사용하여 메시지 플로우의 특정 위치에서 메시지 트리의 유효성을 검증하거나 Compute, Filter 또는 Database 노드에서 ESQL ASBITSTREAM 함수를 사용할 수도 있습니다.
그러나 유효성 검증 옵션을 사용하여 추가 메시지 유효성 검증을 요청할 수 있습니다. 예를 들면, 다음 조건의 유효성을 검증하고 예외를 전달하며 오류를 로그 기록하고자 할 수 있습니다.
샘플에 유효성 검증 옵션 일부가 설명되어 았습니다.
구문 분석 타이밍에 대한 자세한 정보는 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
다른 등록 정보를 사용하여 유효성 검증을 제어할 수 있는 방법에 대한 정보는 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.