다음을 통해 공유


Message Enrichment 샘플(BizTalk Server 샘플)

Message Enrichment 샘플은 X12 및 EDIFACT 문서의 트랜잭션 집합 메시지에 교환 헤더를 추가하는 방법을 보여 줍니다.

이 샘플의 용도

이 샘플은 EDIFACT의 경우 UNA, UNB 및 UNG 헤더를, X12의 경우 ISA 헤더를 트랜잭션 집합에 추가하는 방법을 보여 줍니다. 특히 이 샘플은 다음 작업을 수행합니다.

  1. 테스트 메시지를 \Message Enrichment\In 폴더에 놓으면 수신 포트가 해당 메시지를 선택하여 처리한 다음 MessageBox에 놓습니다.

  2. 해당 수신 셰이프에 설정된 필터 식을 기반으로 메시지에 등록되는 MessageEnrichmentOrchestration이 MessageBox에서 테스트 메시지를 선택합니다.

  3. 오케스트레이션이 메시지의 컨텍스트 속성에서 교환 헤더를 읽습니다.

    참고

    UNA 및 UNG 헤더는 EDIFACT 메시지에서 옵션이므로 메시지의 컨텍스트 속성에 없을 수 있습니다.

  4. 오케스트레이션이 단일 새 메시에 교환 헤더와 메시지 본문을 모두 씁니다.

  5. 오케스트레이션이 ReceivePortNameCorrelationType 상관 관계 유형에 설정된 추가 속성을 메시지로 승격합니다. 그러면 오케스트레이션 사용자가 등록에 필요한 속성 목록을 선택할 수 있습니다. 이러한 속성은 메시지 생성 셰이프로 작성됩니다. 원본 메시지에 작성된 컨텍스트 속성 중 일부만 새 메시지에 작성됩니다.

  6. 오케스트레이션이 새 메시지를 MessageBox에 놓습니다.

  7. 송신 포트에서 새 메시지를 선택하여 FILE 어댑터를 통해 \Message Enrichment\Out 폴더로 보냅니다.

이 샘플이 있는 위치

이 샘플은 BizTalk Server 설치 폴더에 있습니다. \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment.

다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.

파일 Description
Cleanup.bat 예제 시나리오의 배포를 취소합니다. 배포 취소의 성공적인 실행을 위해 오케스트레이션에 대한 활성 인스턴스가 없어야 합니다. 그렇지 않으면 배포 취소가 실패합니다.
MessageEnrichment.sln MessageEnrichment 및 MessageEnrichmentLibrary 프로젝트를 포함합니다.
Setup.bat 수신 포트, 송신 포트 및 오케스트레이션으로 구성된 예제 시나리오를 배포합니다.
EDIFACT_example.edi 입력 EDIFACT 메시지입니다.
X12_example.edi 입력 X12 메시지입니다.
MessageEnrichment.btproj MessageEnrichment 오케스트레이션 및 스키마를 포함하는 프로젝트입니다.
MessageEnrichmentBindings.xml 오케스트레이션, 포트 및 파티에 대한 바인딩을 포함하는 파일입니다.
MessageEnrichmentOrchestration.odx 메시지에 헤더를 추가하는 오케스트레이션입니다.
MessageEnrichmentOrchestration.odx.cs 메시지에 헤더를 추가하는 오케스트레이션 코드입니다.
EFACT_D98B_APERAK.xsd 입력 메시지의 EDIFACT 스키마입니다.
Enriched_EFACT_D98B_APERAK.xsd 출력 메시지의 EDIFACT 스키마입니다.
X12_00401_864.xsd 입력 메시지의 X12 스키마입니다.
Enriched_X12_00401_864.xsd 출력 메시지의 X12 스키마입니다.
Headers.xsd 입력 메시지에 추가된 헤더의 스키마입니다.
MessageEnrichmentLibrary.csproj Headers.cs, OrchestrationUtilities.cs 및 ParseHeaders.cs 파일을 포함하는 프로젝트입니다.
Headers.cs 헤더 데이터를 나타내는 클래스를 포함합니다.
OrchestrationUtilities.cs 오케스트레이션에서 사용하는 유틸리티 메서드를 포함합니다.
ParseHeaders.cs 새 메시지에 사용되는 UNA의 기본값을 포함합니다. ParseHeaders.cs의 SerializeEDIFACTHeaders 메서드에서 이러한 값을 가져옵니다.

이 샘플의 사용 방법

이 샘플은 EDI 트랜잭션 집합 메시지에 교환 헤더를 추가하는 데 필요한 작업을 수행할 때 예제로 사용할 수 있습니다.

이 샘플 빌드 및 초기화

Message Enrichment 샘플을 빌드 및 초기화하려면 이 샘플에 대한 BizTalk 프로젝트를 빌드 및 배포하고, 수신 포트와 위치를 구성하고, 서로 다른 두 송신 포트를 구성해야 합니다.

이 샘플용 BizTalk 프로젝트를 빌드 및 배포하려면

  1. Notepad.Exe 사용하여 \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\MessageEnrichment\를 엽니다.
    MessageEnrichment\properties\AssemblyInfo.cs를 선택하고 파일 아래쪽에 다음 줄을 추가합니다.

    [assembly: Microsoft.XLANGs.BaseTypes.BizTalkAssembly(typeof(Microsoft.BizTalk.XLANGs.BTXEngine.BTXService))]  
    
  2. 수정된 AssemblyInfo.cs 파일을 저장하고 메모장을 종료합니다.

  3. 명령 창에서 다음 폴더로 이동합니다.

    \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\EDI\Message Enrichment

  4. 다음 작업을 수행하는 Setup.bat를 실행합니다.

    • \MessageEnrichment 폴더에서 이 샘플에 대한 수신(in) 및 보내기(out) 폴더를 만듭니다.

    • MessageEnrichmentLibrary\testkey.snk에 키 쌍을 작성합니다.

    • MessageEnrichmentLibrary.btproj 프로젝트를 빌드 및 배포합니다.

    • MessageEnrichment.btproj 프로젝트를 빌드 및 배포합니다.

    • MessageEnrichmentBindings.xml의 바인딩 정보를 읽습니다.

      참고

      이 프로젝트를 바인딩하려면 BizTalk 호스트가 인증 신뢰로 표시되어 있어야 합니다. 신뢰되지 않는 호스트에 이 샘플을 사용하려면 MessageEnrichmentBindings.xml을 수정하고 HostTrusted=”true” 항목을 HostTrusted=”false”로 변경하십시오.

    • 오케스트레이션 바인딩을 업데이트합니다.

    • 송신 포트, 송신 포트 그룹 및 수신 포트를 업데이트합니다.

    • 파티 및 등록을 업데이트합니다.

    • 송신 포트를 시작합니다.

    • 수신 위치를 설정합니다.

    • 오케스트레이션을 등록하고 시작합니다.

    이제 BizTalk Server에서 이 샘플을 사용할 준비가 되었습니다.

이 샘플 실행

Message Enrichment 샘플을 실행하려면 다음 절차를 사용합니다.

이 샘플을 실행하려면

  1. \MessageEnrichment\Instances 폴더의 EDIFACT_examples.edi 파일을 \MessageEnrichment\In 폴더에 복사합니다.

  2. EDIFACT_examples.edi 파일이 \MessageEnrichment\In 폴더에서 사라지고 \MessageEnrichment\Out 폴더에 나타나는지 확인합니다.

  3. \MessageEnrichment\Out 폴더에서 파일을 열고 해당 파일이 \MessageEnrichment\Instances 폴더에 있는 EDIFACT_examples.edi 파일의 XML 표현이며, 출력 파일에 EDIFACT UNA, UNB 및 UNG 헤더가 있다는 점을 제외하고 내용이 EDIFACT_examples.edi 파일과 같은지 확인합니다.

  4. \MessageEnrichment\Instances 폴더의 X12_examples.edi 파일에 대해 1~2단계를 반복합니다.

  5. \MessageEnrichment\Out 폴더에서 새 파일을 열고 해당 파일이 \MessageEnrichment\Instances 폴더에 있는 X12_examples.edi 파일의 XML 표현이며, 출력 파일에 X12 ISA 헤더가 있다는 점을 제외하고 내용이 X12_examples.edi 파일과 같은지 확인합니다.

이 샘플에서 사용된 클래스 또는 메서드

None

참고 항목

EDI 및 AS2(BizTalk Server 샘플 폴더)