메시지 형식 변경

출력 메시지에 입력 메시지 일부를 복사하려면 Compute 노드를 사용하십시오. 그러한 복사 결과는 연관된 입력 및 출력 구문 분석기의 유형에 따라 달라집니다.

Like 구문 분석기

루트 레벨에서 소스 메시지와 대상 메시지의 폴더 구조가 동일한 경우에 like-parser-copy가 수행됩니다. 예를 들면, 다음 코드와 같습니다.

SET OutputRoot.MQMD = InputRoot.MQMD;

입력 메시지의 MQMD 폴더에 있는 모든 하위 요소를 출력 메시지의 MQMD 폴더로 복사합니다.

like-parser-copy를 지원하는 트리 구조의 또다른 예는 다음과 같습니다.

SET OutputRoot.XML.Data.Account = InputRoot.XML.Customer.Bank.Data;
MRM 도메인에 있는 입력 메시지를 역시 MRM에 있는 출력 메시지로 변환하려는 경우, Compute 또는 Mapping 노드를 사용할 수 있습니다. Mapping 노드는 두 메시지의 형식을 모두 알고 있으므로 필요한 조치를 해석할 수 있습니다. Compute 노드에 대한 ESQL 모듈의 컨텐츠 보조는 이들 메시지에 대한 메시지 정의도 사용할 수 있습니다. 메시지가 같은 네임스페이스에 들어 있지 않으면 Compute 노드를 사용해야 합니다.
주: 컨텐츠 지원이 메시지 참조와 작동하도록 하려면 ESQL을 포함하는 프로젝트에서 메시지 세트를 포함하는 프로젝트로 프로젝트 참조를 설정해야 합니다. 프로젝트 참조 설정에 대한 정보는 프로젝트 참조를 참조하십시오.

입력 및 출력 메시지가 둘 다 MRM 도메인에 들어 있지 않으면, Compute 노드를 사용하여 메시지 자체의 구조를 지정해야 합니다.

Unlike 구문 분석기

루트 레벨에서 소스와 대상 메시지의 폴더 구조가 서로 다른 경우에는 메시지 소스와 동일한 사본을 작성할 수 없습니다. 대신, unlike-parser-copy는 소스 메시지를 리프 이름-값 쌍으로 끝나는 중첩된 폴더 세트로 봅니다. 예를 들면, 다음 메시지를 XML에서 MRM으로 복사하면,

<Name3><Name31>Value31</Name31>Value32</Name3>

이름 요소 Name3과 값이 Value31인 Name31이라는 이름-값 요소가 생성됩니다. 두 번째 XML pcdata(Value32)는 표시될 수 없어 제거됩니다.

unlike-parser-copy는 소스 트리를 스캔하고 이름 요소로도 알려진 폴더와 리프 이름-값 쌍을 복사합니다. 소스 구문 분석기에서 특수로 플래그된 요소를 포함하여 그 나머지는 복사되지 않습니다.

unlike-parser-copy가 수행되는 트리 구조의 예는 다음과 같습니다.

SET OutputRoot.MRM.Data.Account = InputRoot.XML.Data.Account;

unlike-parser-copy를 수행하는 데 사용되는 알고리즘이 트리 구조에 적합하지 않으면, 소스 필드를 추가 규정하여 복사되는 트리의 양을 제한해야 할 수도 있습니다.

입력 메시지에서 다른 도메인에 있는 출력 메시지로 정보를 복사할 때는 주의해야 합니다. 출력 메시지를 처리할 구문 분석기의 규칙과 완전히 일치하지 않는 메시지 구조 또는 컨텐츠를 작성하는 ESQL을 코드화할 수가 있습니다. 그러면 출력 메시지가 작성되지 않거나 예상치 못한 컨텐츠로 작성되는 결과가 나타날 수 있습니다. 특정 메시지 플로우에 의해 생성된 출력 메시지가 올바른 컨텐츠를 포함하지 않거나 예상된 형식을 갖지 않는다고 생각되는 경우, 출력 메시지를 작성하는 ESQL을 점검하고 구조, 필드 유형, 필드 이름 및 필드 값의 잠재적인 불일치를 찾아보아야 합니다.

유사하지 않은 구문 분석기 사이에 트리를 복사할 경우 대상 구문 분석기의 메시지 형식을 설정할 수도 있습니다. 예를 들면, 메시지 세트가 XML 및 CWF 형식으로 정의된 경우 입력 XML 스트림을 MRM 구문 분석기로 복사하고 CWF 형식이 CWF 형식으로 출력되도록 설정하려면 다음 명령이 필요합니다.
-- Copy message to the output, moving from XML to MRM domains
SET OutputRoot.MRM = InputRoot.XML;
		
-- Set the CWF format for output by the MRM domain
SET OutputRoot.Properties.MessageType = '<MessageTypeName>';
SET OutputRoot.Properties.MessageSet = '<MessageSetName>';
SET OutputRoot.Properties.MessageFormat = 'CWF';	
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac11610_