다음을 통해 공유


맵 편집기 확장(BizTalk Server 샘플)

Extending Mapper 샘플에서는 BizTalk 맵 편집기를 사용 및 확장하는 방법을 보여 줍니다. 샘플에는 BizTalk Mapper의 다양한 기능을 보여주는 여러 BizTalk Server 맵 파일(.btm)이 포함되어 있습니다.

이 샘플의 용도

Extending Mapper 샘플에서는 내용 기준 라우팅(CBR)을 사용하며 오케스트레이션을 사용하지 않습니다. 이 샘플은 샘플 송신 포트에 필터를 지정하여 샘플 수신 포트에 직접 연결됩니다. 맵은 송신 포트에 지정되며 처리된 문서에 적용됩니다.

이 샘플이 있는 위치

<샘플 경로>\XmlTools\ExtendingMapper

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

파일 Description
MapperClassLibrary\AssemblyInfo.cs, MapperClassLibrary\MapperClassLibrary.csproj, MapperClassLibrary\MapperHelper.cs, MapperClassLibrary\MapperClassLibrary.sln Microsoft® Visual Studio® 프로젝트 파일 및 Visual C# ® 원본 파일.
Cleanup.bat 어셈블리의 배포를 취소하고 GAC(전역 어셈블리 캐시)에서 어셈블리를 제거하는 데 사용됩니다.
Destination.xsd 스키마 파일입니다.
ExtendingMapper.btproj, ExtendingMapper.sln 이 샘플에 사용할 BizTalk 프로젝트 및 솔루션 파일입니다.
ExtendingMapper.xml 소스 XML입니다.
ExtendingMapperBinding.xml 바인딩 XML입니다.
ExternalAssembly.xml 외부 어셈블리 XML입니다.
OverridingMapXslt.btm 맵 파일.
OverridingMapXslt.xml 재정의 맵 XML입니다.
OverridingMapXslt.xslt 재정의 맵 스타일시트입니다.
Scriptor_CallExternalAssembly.btm 샘플 맵 파일입니다.
Scriptor_GlobalVariableInInlineScript.btm 샘플 맵 파일입니다.
Scriptor_InlineScripts.btm 샘플 맵 파일입니다.
Scriptor_InlineXslt.btm 샘플 맵 파일입니다.
Scriptor_InlineXsltCallingExternalAssembly.btm 샘플 맵 파일입니다.
Scriptor_XsltCalltemplate.btm 샘플 맵 파일입니다.
Setup.bat 샘플을 빌드하고 초기화하는 데 사용됩니다.
Source.xsd 스키마 파일입니다.

이 샘플 빌드 및 초기화

다음 절차를 사용하여 Extending Mapper 샘플을 빌드하고 초기화합니다.

이 샘플을 빌드 및 초기화하려면 다음을 수행하십시오.

  1. 명령 창에서 디렉터리(cd)를 다음 폴더로 변경합니다.

    <샘플 경로>\XmlTools\ExtendingMapper

  2. 다음 작업을 수행하는 Setup.bat 파일을 실행합니다.

    • 이 샘플의 입력(\In) 및 출력(\Out) 폴더를 만듭니다.

    • 이 샘플에 대한 Visual Studio 프로젝트를 컴파일 및 배포합니다.

    • BizTalk Server 수신 위치와 송신 및 수신 포트를 만들고 바인딩합니다.

      Scriptor_CallExternalAssembly.btm 또는 Scriptor_InlineXsltCallingExternalAssembly.btm 맵을 사용하려면 Visual Studio에서 ExtendingMapper.sln을 열고 다음과 같이 수정합니다(그렇지 않은 경우 3단계로 이동).

    1. 솔루션 탐색기에서 Scriptor_CallExternalAssembly.btm을 엽니다.

    2. 맵 편집기 그리드에서 Scripting 펑토이드를 선택합니다.

    3. 속성 표에서 스크립트 속성을 선택하고 줄임표(...) 단추를 클릭하여 펑토이드 스크립트를 구성합니다.

    4. Scripting 펑토이드 구성 대화 상자에서 스크립트 펑토이드 구성을 선택하고 다음을 지정합니다.

      설정
      스크립트 유형 외부 어셈블리
      스크립트 어셈블리 Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary
      스크립트 클래스 Microsoft.Samples.BizTalk.ExtendingMapper.MapperHelper
      Script 메서드 MyConcat
    5. Visual Studio파일 메뉴에서 저장 을 선택하여 지도 파일에 변경 내용을 저장하고 솔루션을 닫습니다.

  3. 아무 키나 눌러 Setup.bat를 계속합니다.

    중요

    Scriptor_InlineXsltCallingExternalAssembly.btm을 사용하려면 ExternalAssembly.xml 파일을 편집해야 합니다. ExternalAssembly.xml은 BizTalk에서 맵 편집기 확장 개체가 등록된 네임스페이스를 .NET 어셈블리에 매핑하는 데 사용됩니다. 종속 어셈블리가 정규화된 이름(자동으로 생성되는 공개 키 토큰 포함)으로 참조되었으므로 이 값을 업데이트해야 합니다. Scriptor_InlineXsltCallingExternalAssembly.btm을 사용할 필요가 없는 경우에는 a부터 e까지의 단계를 완료할 필요가 없습니다.

  4. Windows Explorer Windows folder>\assembly\로 <이동합니다.

    1. Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

    2. 공개 키 토큰 값을 복사합니다.

    3. 텍스트 편집기에서 샘플 경로>\XML Tools\ExtendingMapper\ExternalAssembly.xml 엽니다<.

    4. AssemblyName="Microsoft.Samples.BizTalk.ExtendingMapper.MapperClassLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=68496d20c737d84b" 특성을 선택하고 PublicKeyToken 값을 c단계에서 복사한 공개 키 토큰 값으로 바꿉니다.

    5. ExternalAssembly.xml을 저장하고 닫습니다.

    참고

    이 샘플을 실행하기 전에 빌드 및 초기화 프로세스 동안 보고된 오류가 없는지 확인해야 합니다.

송신 포트를 구성, 등록 및 시작하려면

  1. 시작을 클릭하고 모든 프로그램을 선택하고 Microsoft BizTalk Server 선택한 다음 BizTalk Server 관리를 선택합니다.

  2. BizTalk Server 관리 콘솔에서 BizTalk Server 관리를 확장하고 BizTalk 그룹 [<servername>:<management 데이터베이스>]을 클릭하여 애플리케이션을 확장합니다.

  3. ExtendingMapperApplication을 클릭하여 확장한 다음 포트 보내기를 클릭합니다.

  4. 오른쪽 창에서 포트 보내기를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

  5. ExtendingMapperSP – 송신 포트 속성 대화 상자에서 아웃바운드 맵 페이지를 클릭합니다.

    지도 열의 드롭다운 목록에서 필요한 맵을 선택한 다음 확인을 클릭합니다. 다음 표는 맵에 대해 설명합니다.

    적용할 맵 속성 Description
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_CallExternalAssembly 이 펑토이드에 대한 입력 매개 변수를 기반으로 맵의 Scripting 펑토이드에서 외부 .NET 어셈블리의 함수를 호출하는 방법을 보여 줍니다. 그러면 맵 파일에서 처리 논리를 명확하게 구분하는 데 도움이 됩니다. 이 맵 파일에서는 이 샘플과 함께 제공되는 어셈블리 MapperClassLibrary.dll을 사용합니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineScripts C#, Visual Basic.NET 및 JScript.NET 같은 .NET 언어를 사용하여 맵 파일의 Scripting 펑토이드 내에 간단한 인라인 스크립트를 작성하는 방법을 보여 줍니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_GlobalVariableInInlineScript 스크립팅 펑토이드의 인라인 스크립트에서 전역 변수를 사용하는 방법을 보여 줍니다. 전역 변수는 일반적으로 여러 스크립팅 펑토이드의 지도 파일에서 상태 정보를 유지하는 데 사용됩니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXslt 맵의 Scripting 펑토이드 내에서 원시 인라인 XSLT를 사용하여 대상 문서에서 구조를 구성하는 방법을 보여 줍니다. 다른 펑토이드를 사용하여 BizTalk Mapper에서 수행할 수 없는 경우 인라인 XSLT가 있는 Scripting 펑토이드를 사용하여 대상 문서의 일부를 구성할 수 있습니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_XsltCalltemplate 맵의 Scripting 펑토이드 내에서 XSLT 호출 템플릿을 사용하여 대상 문서에서 구조를 만드는 방법을 보여 줍니다. 인라인 XSLT에 비해 XSLT 호출 템플릿의 장점은 호출 템플릿이 매개 변수를 수락할 수 있으므로 Scripting 펑토이드에 대한 입력 매개 변수를 기반으로 구조를 만들 수 있다는 것입니다. 다른 펑토이드를 사용하여 BizTalk Mapper에서 수행할 수 없는 경우 인라인 XSLT가 있는 Scripting 펑토이드를 사용하여 대상 문서의 일부를 구성할 수 있습니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. Scriptor_InlineXsltCallingExternalAssembly 맵에 있는 Scripting 펑토이드의 인라인 XSLT 내부에서 외부 .NET 어셈블리를 호출하는 방법을 보여 줍니다. 호출할 외부 .NET 어셈블리의 세부 정보를 포함하는 사용자 지정 확장 파일 ExternalAssembly_extxml.xml BizTalk Mapper 그리드의 사용자 지정 확장 XML 속성을 재정의하는 방법을 설명합니다. 다른 펑토이드를 사용하여 Mapper UI에서 이 작업을 수행할 수 없을 때마다 인라인 XSLT가 있는 Scripting 펑토이드를 사용하여 대상 문서의 일부를 구성할 수 있습니다.
    Microsoft.Samples.BizTalk.ExtendingMapper. OverridingMapXslt BizTalk 맵 편집기 파일의 컴파일된 XSLT를 사용자 지정 XSLT 파일을 사용하여 완전히 재정의하는 방법을 보여 줍니다. 사용자 지정 XSL 경로속성과 선택적으로 BizTalk Mapper 그리드의 사용자 지정 확장 XML 속성을 재정의하여 이 작업을 수행할 수 있습니다. 제공하는 사용자 지정 XSLT 파일은 런타임에 사용하려는 프로젝트의 컴파일된 BizTalk Server 어셈블리에 포함되어 있습니다. 이 경우 맵 파일(.btm)의 내용은 무시됩니다. 이 맵 파일은 각각 사용자 지정 XSL 경로사용자 지정 확장 XML 속성에 OverridingMapXslt.xslt 및 OverridingMapXslt.xml 사용합니다.

    솔루션 탐색기에서 맵 파일의 유효성을 검사할 수 있습니다. 그런 다음 BizTalk Mapper 그리드의 사용자 지정 XSL 경로 속성을 편집하고 사용할 수 있는 템플릿 파일로 사용할 수 있습니다. BizTalk 맵 편집기를 사용하여 이 XSLT를 만들 수 없는 경우에는 언제든지 이 옵션을 사용할 수 있습니다.

이 샘플 실행

다음 절차를 사용하여 Extending Mapper 샘플을 실행합니다.

이 샘플을 실행하려면

  1. 입력 파일 ExtendingMapper.xml 샘플 경로>\XmlTools\ExtendingMapper\In의 입력 폴더<에 복사합니다.

  2. 파일이 변환되고 Samples Path>\XmlTools\ExtendingMapper\Out 폴더로 라우팅<되는 방식을 확인합니다. 변형 내용은 적용한 맵을 기반으로 결정됩니다.

참고 항목

XML 도구(BizTalk Server 샘플 폴더)