EDIFACT 샘플 실행
이 주제는 EDIFACT 메시지 플로우를 통해 테스트 메시지를 넣는 방법에 대해 설명합니다.
입력 메시지
EDIFACT 샘플에는 다음 5개의 테스트 메시지가 있습니다.
- D.96A_INVOIC_1.enqueue
- D.96A_INVOIC_2.enqueue
- D.96A_INVOIC_3.enqueue
- D.96A_INVOIC_4.enqueue
- D.96A_INVOIC_missing_BGM.enqueue
5개의 입력 메시지는 모두 INVOIC 메시지입니다. 처음 네 개의 입력 메시지는 올바릅니다. 5번째 입력 메시지는
올바르지 않으며, BGM 필드가 메시지에서 누락되어 있습니다.
샘플 실행
샘플을 실행하려면, 입력 큐에 메시지를 넣은 후 출력 큐에서 메시지를 가져와야 합니다. 아래의 지시사항을 따르십시오.
- EDIFACT_TO_XML_IN 큐에 입력 메시지 중 하나를 넣으십시오.
EDIFACT_TO_XML_IN 큐에 메시지를 넣으면, 첫 번째 메시지
플로우(VALIDATINGEDIFACT2XML.msgflow라 불림)의 EDIFACT_TO_XML_IN MQInput
노드가 메시지를 구문 분석하고 메시지 세트에 대해 유효성을 검증합니다.
- 메시지가 올바른 EDIFACT 메시지이면 Compute 노드로 전달되어
EDIFACT 메시지를 XML 메시지로 변환합니다. 그런 다음 Compute 노드는
EDIFACT_TO_XML_OUT MQOutput 노드로 메시지를 전달하여
EDIFACT_TO_XML_OUT 큐에 메시지를 넣습니다.
- 메시지가 올바른 EDIFACT 메시지가 아닌 경우에는
EDIFACT_FAIL 노드로 메시지를 전달하여 EDIFACT_FAIL 큐에 메시지를 넣습니다.
- EDIFACT_TO_XML_OUT 큐에서 변환된 메시지를 가져와서 메시지를
저장하십시오. 이제 메시지의 형식은 XML입니다.
- XML_TO_EDIFACT_IN 큐에 저장된 메시지를 넣으십시오.
XML_TO_EDIFACT_IN 큐에 메시지를 넣으면, 두 번째 메시지
플로우(VALIDATINGXML2EDIFACT.msgflow라 불림)의 XML_TO_EDIFACT_IN
MQInput 노드가 메시지를 구문 분석하고 메시지 세트에 대해 유효성을 검증합니다.
- 메시지가 올바른 XML 메시지이면 Compute 노드로 전달되어
XML 메시지를 EDIFACT 메시지로 변환합니다. 그런 다음 Compute 노드는 XML_TO_EDIFACT_OUT MQOutput 노드로
메시지를 전달하여 XML_TO_EDIFACT_OUT 큐에 메시지를 넣습니다.
- 메시지가 올바른 XML 메시지가 아닌 경우에는 EDIFACT_FAIL 노드로
메시지를 전달하여 EDIFACT_FAIL 큐에 메시지를 넣습니다.
- XML_TO_EDIFACT_OUT 큐에서 메시지를 가져오십시오. 이제 메시지는
EDIFACT 메시지입니다.
EDIFACT_TO XML_OUT 또는 XML_TO_EDIFACT_OUT 큐에 메시지가 없으면,
문제점 진단을
참조하십시오. 메시지가 아직 입력 큐나 EDIFACT_FAIL 큐, 또는 시스템 큐 중 하나에 있을 수 있습니다.
D.96A_INVOIC_missing_BGM.txt 메시지
첫 번째 메시지 플로우를 통해 D.96A_INVOIC_missing_BGM.txt 메시지를 넣으면,
EDIFACT_TO_XML_IN MQInput 노드의 유효성 검증에 실패합니다. BGM 필드가 메시지에서 누락되었으므로, MQInput 노드가 오류를 생성합니다. Windows 이벤트 뷰어의
응용프로그램 로그에서 오류를 볼 수 있습니다. 오류 텍스트는 다음과 같습니다.
Message Validation failure. An element, that has been deemed complete,
does not meet the minOccurs constraint. Element, BGM, has 0 instances on the logical tree, but has been defined or qualified
with a minOccurs constraint of 1 within its parent type/element INVOIC of index 1. Adjust the
minOccurs constraint downwards and redeploy to the broker or increase the instances of the element
in the message itself.
샘플 홈으로 돌아가기