샘플 메시지 CSV_7 실행

이 샘플은 CSV 양식의 따옴표를 표시하여 문자열 필드를 이스케이프하는 데 대해 좀 더 포괄적인 지원을 추가하기 위해 샘플 6에 빌드됩니다. 이 샘플은 따옴표가 포함되거나 포함되지 않은 필드의 구문 분석을 지원하고 따옴표가 표시된 필드의 데이터에서 쉼표를 지원합니다. 따옴표를 메타데이터의 일부로 처리하므로 구문 분석될 때 데이터에서 제거되며, 이 모델을 사용하여 CSV 메시지를 출력할 때 다시 적용됩니다. 두 개의 큰따옴표를 함께 사용하여 따옴표가 표시된 문자열 필드의 데이터에 따옴표를 포함시킵니다. 입력 메시지에는 단일 헤더 레코드 다음에 단일 반복 쉼표 분리 레코드가 포함되어 있습니다. 이는 샘플 메시지 세트를 사용하여 구문 분석되며 XML 메시지로 쓰여집니다.

이 주제에는 샘플 실행에 대한 지시사항이 들어 있습니다. 또한 샘플이 수행되었는지 확인할 수 있도록 입력 테스트 메시지 예와 해당되는 예상 출력 메시지도 들어 있습니다.

이 샘플에 사용된 메시지 모델에 대한 자세한 설명은 CSV(Comma Separated Value) 메시지 샘플 탐색을 참조하십시오.

입력 테스트 메시지

이 샘플을 실행하는 데 사용된 테스트 메시지는 다음 형식을 기본으로 합니다.

2005-04-01,X123456IB7,customer details<CRLF>
Bob,Dyson,"""House of the Rising Sun"", 1, Desolation Row",Orlando,FL,32802,HYT-457-AX<CRLF>
Jimmy,Pace,"1002, Misty Mountain Drive",New York,NY,10001,ADU-239-BX<CRLF>
Ralf,McCartney,67 Penny Lane,Las Vegas,NV,89125,JUI-854-CF<CRLF>
Elvis,John,3 Yellow Brick Road,Chicago,IL,60699,GGY-118-AS<CRLF>
Rick,Clayton,"461, Ocean Boulevard",Miami,FL,33101,LOP-212-TY<CRLF>
5

<CRLF>는 ASCII 16진수 코드 포인트 x'0D' 및 x'0A'를 나타냅니다.

샘플 실행

이 샘플에서는 CSV2XML 메시지 플로우를 사용합니다. 여러 개의 입력 노드가 들어 있지만 이 샘플의 경우 CSV2XML.IN7이라는 큐가 있는 노드를 사용합니다. 메시지 플로우는 형식을 XML로 변경하는 Compute 노드를 통해 메시지를 전달하고 메시지를 모두 씁니다. 이는 CSV 메시지를 논리적 트리로 구문 분석한 후 XML 형식으로 작성합니다. 출력 XML 메시지는 구문 분석된 메시지의 논리적 구조를 표시합니다.

샘플을 실행하려면 다음을 수행하십시오.

  1. Message Brokers Toolkit의 브로커 응용프로그램 개발 Perspective로 전환하십시오.
  2. CSV_msg7.enqueue라는 테스트 메시지 큐에 삽입 파일을 여십시오.
  3. 큐에 쓰기를 누르십시오. 메시지가 CSV2XML.IN1 큐로 송신됩니다.

    메시지 플로우는 CSV 메시지를 구문 분석하고 동일한 논리적 메시지를 XML 형식으로 모두 씁니다. 메시지가 CSV2XML.OUT 큐에 나타나야 합니다.

  4. 이 출력 메시지를 보려면 Message Brokers Toolkit으로 돌아가서 도구 모음에 있는 큐에서 메시지 가져오기 아이콘을 누르십시오.
  5. 큐 관리자 이름은 WBRK6_DEFAULT_QUEUE_MANAGER로, 큐 이름은 CSV2XML.OUT으로 입력하십시오.
  6. 큐에서 읽기를 눌러 출력 메시지의 컨텐츠를 표시하십시오.
  7. 다른 이름으로 저장 옵션을 사용하여 메시지를 XML 파일로 저장한 후 XML 편집기로 보십시오.
  8. 예상한 출력 메시지와 이를 비교하십시오.

이제 XML_msg7.enqueue 파일(첫 번째 플로우에서 동일한 XML 메시지 출력을 포함함) 및 XML2CSV.IN과 XML2CSV.OUT을 두 개의 큐로 사용하여 2-6 단계를 반복하십시오. 그러면 첫 번째 단계에서 사용된 메시지 플로우의 역방향 플로우를 통해 XML 메시지를 전달합니다. 원래 CSV 메시지와 이를 비교하십시오. 이들 메시지는 서로 동일해야 합니다.

모든 단계가 수행되면 샘플이 완료됩니다.

이제 CSV(Comma Separated Value) 메시지 샘플 탐색에서 메시지 세트 프로젝트 및 이 메시지 정의에 대한 설명을 살펴보십시오.

예상 출력 메시지

예상되는 출력 XML 메시지는 다음과 같습니다.

<?xml version="1.0"?>
<CSV_7>
<header>
<requestDate>2005-04-01</requestDate>
<requestID>X123456IB7</requestID>
<requestType>customer details</requestType>
</header>
<customer>
<firstname>Bob</firstname>
<lastname>Dyson</lastname>
<streetaddress>&quot;House of the Rising Sun&quot;, 1, Desolation Row</streetaddress>
<cityname>Orlando</cityname>
<statecode>FL</statecode>
<postcode>32802</postcode>
<referencecode>HYT-457-AX</referencecode>
</customer>
<customer>
<firstname>Jimmy</firstname>
<lastname>Pace</lastname>
<streetaddress>1002, Misty Mountain Drive</streetaddress>
<cityname>New York</cityname>
<statecode>NY</statecode>
<postcode>10001</postcode>
<referencecode>ADU-239-BX</referencecode>
</customer>
<customer>
<firstname>Ralf</firstname>
<lastname>McCartney</lastname>
<streetaddress>67 Penny Lane</streetaddress>
<cityname>Las Vegas</cityname>
<statecode>NV</statecode>
<postcode>89125</postcode>
<referencecode>JUI-854-CF</referencecode>
</customer>
<customer>
<firstname>Elvis</firstname>
<lastname>John</lastname>
<streetaddress>3 Yellow Brick Road</streetaddress>
<cityname>Chicago</cityname>
<statecode>IL</statecode>
<postcode>60699</postcode>
<referencecode>GGY-118-AS</referencecode>
</customer>
<customer>
<firstname>Rick</firstname>
<lastname>Clayton</lastname>
<streetaddress>461, Ocean Boulevard</streetaddress>
<cityname>Miami</cityname>
<statecode>FL</statecode>
<postcode>33101</postcode>
<referencecode>LOP-212-TY</referencecode>
</customer>
<trailer>
<totalRecords>5</totalRecords>
</trailer>
</CSV_7>

기본 페이지 아이콘   샘플 홈으로 돌아가기