다음을 통해 공유


방법: ESB On-Ramp(수신 램프)를 사용하여 메시지 유효성 검사

목표

이 섹션에서는 ESB 디스패처 디스어셈블 파이프라인 구성 요소를 구성하여 ESB 온-램프에 제출된 XML 메시지에 대한 메시지 유효성 검사를 수행하는 방법을 보여 줍니다.

이 방법 항목에서는 다음 단계를 완료합니다.

  • ItinerarySelectReceiveXml 파이프라인을 사용하는 ESB 온-램프를 만듭니다.

  • 메시지 콘텐츠의 유효성을 검사하도록 ESB 디스패처 디스어셈블 파이프라인 구성 요소를 구성합니다.

  • 적절한 여정을 resolve 여정 선택기 파이프라인 구성 요소를 구성합니다.

  • 유효한 메시지와 잘못된 메시지를 사용하여 메시지 유효성 검사를 테스트합니다.

필수 구성 요소

이 방법 항목의 절차에서는 개발 활동에 대한 필수 구성 요소를 완료해야 합니다.

시작하기 전에

이 방법 항목의 뒷부분에 있는 단계를 수행하기 전에 다음 작업을 완료합니다.

  • 잘못된 테스트 메시지를 만듭니다.

  • ESB 여정 DSL(도메인별 언어) 모델을 만듭니다.

  • 여정의 속성을 구성합니다.

  • 여정의 구조를 정의합니다.

  • 모델을 여정 데이터베이스로 내보냅니다.

    다음 절차에서는 이러한 각 작업을 수행하는 방법을 설명합니다.

잘못된 테스트 메시지를 만들려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. NAOrderDoc.xml 복사본을 만든 다음 복사본 Invalid.xml 이름을 바꿉니다.

  3. 메모장에서 Invalid.xml 엽니다.

  4. ns0:requestType>10/ns0<:requestType을 <ns0:requestType>> TEN</ns0:requestType>으로 변경<합니다.

  5. Invalid.xml UTF-8로 저장한 다음 메모장을 닫습니다.

    참고

    이 요소의 숫자 값을 텍스트로 변경하면 메시지가 스키마에 따라 더 이상 유효하지 않습니다.

ESB 여정 DSL 모델을 만들려면

  1. Visual Studio에서 C:\HowTos\Patterns\Patterns.sln을 엽니다.

  2. 솔루션 탐색기 여정라이브러리를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 여정을 클릭합니다.

  3. 새 항목 추가 대화 상자의 이름 상자에 유효성 검사를 입력하고 추가를 클릭합니다.

여정의 속성을 구성하려면

  1. Visual Studio에서 Validation.itinerary의 디자인 화면을 클릭합니다. 유효성 검사 속성 창 다음 속성을 구성합니다.

    1. 모델 내보내기 드롭다운 목록에서 데이터베이스 여정 내보내기를 클릭합니다.

    2. 여정 데이터베이스 속성 옆에 있는 줄임표 단추(...)를 클릭합니다.

    3. 연결 속성 대화 상자에서 여정 리포지토리 데이터베이스를 호스트하는 SQL Server 선택한 다음 데이터베이스의 이름을 지정합니다(기본 이름은 EsbItineraryDb).

  2. 여정 상태 드롭다운 목록에서 배포를 클릭합니다.

    참고

    이 단계를 사용하면 여정을 중앙 리포지토리로 내보낼 수 있습니다. 메시지를 받으면 이 리포지토리에서 여정을 선택하고 연결할 수 있습니다. 나중에 정적 확인자를 사용하여 이 리포지토리에서 적절한 여정을 선택하도록 여정 선택기 파이프라인 구성 요소를 구성합니다.

여정의 구조를 정의하려면

  1. 도구 상자에서 On-Ramp 모델 요소를 디자인 화면으로 끌어옵니다. OnRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 ReceiveNAOrder를 입력합니다.

    2. Extender 드롭다운 목록에서 On-Ramp ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 Microsoft.Practices.ESB를 클릭합니다.

    4. 수신 포트 드롭다운 목록에서 OnRamp.Itinerary를 클릭합니다.

  2. 도구 상자에서 오프 램프 모델 요소를 디자인 화면으로 끌어온 다음 기존 모델 요소의 오른쪽에 놓습니다. OffRamp1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendNAOrder를 입력합니다.

    2. Extender 드롭다운 목록에서 오프 램프 ESB Extender를 클릭합니다.

    3. BizTalk 애플리케이션 드롭다운 목록에서 GlobalBank.ESB를 클릭합니다.

    4. 송신 포트 드롭다운 목록에서 DynamicResolutionOneWay를 클릭합니다.

  3. 도구 상자에서 여정 서비스 모델 요소를 디자인 화면으로 끌어서 ReceiveNAOrder 모델 요소와 SendNAOrder 모델 요소 사이에 배치합니다. ItineraryService1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 SendPortFilter를 입력합니다.

    2. 여정 서비스 확장기 드롭다운 목록에서 램프 끄기 확장기를 클릭합니다.

    3. 램프 끄기 드롭다운 목록에서 SendNAOrder를 확장한 다음 송신 처리기를 클릭합니다.

  4. SendPortFilter 요소의 Resolver 컬렉션을 마우스 오른쪽 단추로 클릭한 다음 새 해결 프로그램 추가를 클릭합니다. Resolver1 속성 창 다음 속성을 구성합니다.

    1. Name 속성을 클릭한 다음 ConfigureOffRamp를 입력합니다.

    2. 해결 프로그램 구현 드롭다운 목록에서 정적 해결 프로그램 확장을 클릭합니다.

    3. 전송 이름 드롭다운 목록에서 파일을 클릭합니다.

    4. 전송 위치 속성을 클릭한 다음 C:\HowTos\Out\Validated%MessageID%.xml입력합니다.

  5. 도구 상자에서 커넥터를 클릭합니다. ReceiveNAOrder 모델 요소에서 SendPortFilter 모델 요소로 연결을 끌어옵니다.

  6. 도구 상자에서 커넥터를 클릭합니다. SendPortFilter 모델 요소에서 SendNAOrder 모델 요소로 연결을 끌어옵니다.

모델을 여정 데이터베이스로 내보내려면

  1. Visual Studio에서 유효성 검사 여정의 디자인 화면을 마우스 오른쪽 단추로 클릭한 다음 모델 내보내기를 클릭합니다.

    참고

    여정은 여정 데이터베이스로 내보내졌으며 이제 여정 선택기 파이프라인 구성 요소에서 사용할 수 있습니다.

  2. 모든 프로젝트 아티팩트 저장

단계

ESB 온-램프를 만들고 구성하려면

  1. 작업 표시줄에서 시작을 클릭하고 모든 프로그램을 가리킨 다음 BizTalk Server 가리킨 다음 BizTalk Server 관리를 클릭합니다.

  2. BizTalk Server 관리 콘솔에서 BizTalk 그룹을 확장하고 애플리케이션을 확장한 다음 Microsoft.Practices.ESB를 확장합니다.

  3. 수신 위치를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 단방향 수신 위치를 클릭합니다.

  4. 수신 포트 선택 대화 상자에서 OnRamp.Itinerary를 클릭한 다음 확인을 클릭합니다.

  5. 수신 위치 속성 대화 상자의 이름 상자에 OnRamp.Itinerary.HowTo를 입력합니다.

  6. 형식 드롭다운 목록에서 FILE을 클릭한 다음 구성을 클릭합니다.

  7. 파일 전송 속성 대화 상자의 수신 폴더 상자에 C:\HowTos\DropFolder를 입력하고 확인을 클릭합니다.

메시지 유효성 검사를 수행하도록 온-램프를 구성하려면

  1. 수신 위치 속성 대화 상자의 수신 파이프라인 드롭다운 목록에서 여정SelectReceiveXml을 클릭한 다음 줄임표 단추(...)를 클릭합니다.

  2. 파이프라인 구성 대화 상자를 사용하여 다음 XML 디스어셈블러 구성 요소 속성을 구성합니다.

    1. GlobalBank.Esb 애플리케이션을 확장한 다음 스키마를 클릭합니다. GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다. 이름어셈블리 속성을 복사하여 텍스트 파일에 붙여넣습니다.

    2. 디스어셈블 구성 요소의 ValidateDocument 드롭다운 목록에서 True를 클릭합니다.

    3. DocumentSpecNames 속성을 클릭한 다음 스키마의 정규화된 이름을 입력합니다. 정규화된 이름은 이름으로 시작하고 쉼표와 1단계에서 추출된 어셈블리 정보가 뒤따릅니다. 다음은 이에 대한 예입니다.

      GlobalBank.ESB.DynamicResolution.Schemas.NAOrderDoc, GlobalBank.ESB.DynamicResolution.Schemas, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c2c8b2b87f54180a

      참고

      유효성을 검사할 스키마의 정규화된 이름입니다. 스키마 이름 및 어셈블리 이름, 버전, 문화권 및 공개 키 토큰의 네 가지 어셈블리 속성으로 구성됩니다. 여러 값이 허용됩니다. 여러 스키마를 파이프(|) 기호로 구분합니다.

여정 선택기 파이프라인 구성 요소를 구성하려면

  1. 파이프라인 구성 대화 상자에서 다음 여정 선택기 구성 요소 속성을 구성합니다.

    1. ItineraryFactKey 속성을 클릭한 다음 Resolver.Itinerary를 입력합니다.

    2. ResolverConnectionString 속성을 클릭한 다음, ITINERARY:\\name=Validation;을 입력합니다.

    3. 확인을 클릭하여 파이프라인 구성 대화 상자를 닫습니다.

  2. 확인을 클릭하여 수신 위치 속성 대화 상자를 닫습니다.

  3. BizTalk Server 관리 콘솔에서 OnRamp.Itinerary.HowTo 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용을 클릭합니다.

메시지 유효성 검사 및 여정 선택을 테스트하려면

  1. Windows Explorer C:\HowTos로 이동합니다.

  2. DropFolder 폴더에 NAOrderDoc.xml 복사(이동 안 함)합니다.

  3. C:\HowTos\Out으로 이동합니다. Validated%MessageID%.xml 디렉터리에 기록되었는지 확인합니다.

    참고

    유효한 메시지는 예상대로 여정 기반 라우팅을 완료했습니다.

  4. Out 폴더에서 Validated%MessageID%.xml 삭제합니다.

  5. Windows Explorer C:\HowTos로 이동합니다.

  6. DropFolder 폴더에 Invalid.xml 복사(이동 안 함)합니다.

  7. C:\HowTos\Out으로 이동합니다. 새 메시지가 배달되지 않은지 확인합니다.

    참고

    메시지의 유효성을 검사할 수 없습니다. 따라서 여정 기반 라우팅을 완료할 수 없습니다.

  8. 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 이벤트 뷰어 클릭합니다.

  9. 이벤트 뷰어 Windows 로그를 확장한 다음 애플리케이션을 클릭합니다.

  10. SourceBizTalk Server이벤트 ID5719인 최근 이벤트를 찾습니다.

    참고

    잘못된 메시지의 제출 및 실패로 인해 애플리케이션 이벤트 로그에 예외 항목이 발생했습니다.

  11. BizTalk Server 관리 콘솔에서 OnRamp.Itinerary.HowTo 수신 위치를 마우스 오른쪽 단추로 클릭한 다음 사용 안 함을 클릭합니다.

  12. OnRamp.Itinerary.HowTo 수신 위치를 사용하지 않도록 설정한 후 마우스 오른쪽 단추로 클릭한 다음 삭제를 클릭합니다. 수신 위치 삭제 확인 대화 상자에서 예를 클릭합니다.

추가 리소스

자세한 내용은 다음 관련 항목을 참조하십시오.