CustomComponent(BizTalk Server 샘플)
CustomComponent 샘플은 스트리밍된 메시지를 수정하는 사용자 지정 파이프라인 구성 요소를 만들고 사용하는 방법을 보여 줍니다. 또한 파이프라인 디자이너에서 사용자 지정 파이프라인 구성 요소를 구성하는 방법도 보여 줍니다.
이 샘플의 용도
이 샘플에서는 입력 메시지에 문자열을 접두사로 추가하거나 추가할 수 있는 사용자 지정 파이프라인 구성 요소를 구현합니다. BizTalk Server 스트리밍 모드에서 메시지를 처리합니다. 즉, 전체 메시지가 메모리에 로드되지 않습니다. 여기서는 다음과 같은 순서로 된 단계를 통해 사용자 지정 파이프라인 구성 요소를 보여 줍니다.
BizTalk에서 특정 폴더의 파일에서 텍스트 메시지를 검색합니다.
텍스트 메시지가 FixMsg 사용자 지정 파이프라인 구성 요소를 포함하는 수신 파이프라인을 통해 발송됩니다. 메시지 첫 부분에 문자열을 삽입하도록 이 구성 요소를 구성합니다.
FixMsg 사용자 지정 파이프라인 구성 요소를 포함하는 송신 파이프라인을 통해 결과 텍스트 메시지를 보내고 메시지 끝에 문자열을 추가하도록 구성 요소를 구성합니다.
BizTalk Server 결과 문자 메시지를 특정 폴더의 파일에 씁니다.
이 샘플이 있는 위치
<샘플 경로>\Pipelines\CustomComponent\
다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.
파일 | Description |
---|---|
Cleanup.bat | 어셈블리의 배포를 취소하고 GAC(전역 어셈블리 캐시)에서 어셈블리를 제거하는 데 사용됩니다. 송신 및 수신 포트를 제거합니다. 필요한 경우 Microsoft IIS(인터넷 정보 서비스) 가상 디렉터리를 제거합니다. |
Input.txt | 샘플 입력 파일입니다. |
Setup.bat | 이 샘플을 빌드 및 초기화하는 데 사용됩니다. |
\FixMsg 폴더에서: AssemblyInfo.cs, FixMsg.csproj, FixMsg.sln |
이 샘플의 사용자 지정 파이프라인 구성 요소 부분에 대한 프로젝트, 솔루션 및 어셈블리 정보 파일입니다. |
\FixMsg 폴더에서: FixMsg.cs |
파이프라인 구성 요소 인터페이스를 구현합니다. |
\FixMsg 폴더에서: FixMsgStream.cs |
System.IO.Stream 클래스에 대한 래퍼를 구현하여 데이터를 스트림 처리할 수 있도록 합니다. |
\FixMsg 폴더에서: FixMsgDescription.cs |
파이프라인 디자이너에서 구성 요소 UI 리소스 액세스 및 렌더링 방법을 제공합니다. |
\FixMsg 폴더에서: FixMsg.resx |
속성 설명, 아이콘 및 오류 메시지를 포함합니다. |
\PipelineComponentSample 폴더에서: PipelineComponentSample.btproj, PipelineComponentSample.sln |
이 샘플의 BizTalk 프로젝트 부분에 대한 프로젝트 및 솔루션 파일입니다. |
\PipelineComponentSample 폴더에서: PipelineComponentSampleBinding.xml |
포트 바인딩과 같은 자동화된 설치에 사용됩니다. |
\PipelineComponentSample 폴더에서: FixMsgReceivePipeline.btp, FixMsgSendPipeline.btp |
각각 수신 및 송신 파이프라인에 대해 FixMsg 사용자 지정 파이프라인 구성 요소가 포함된 파이프라인을 BizTalk Server. |
이 샘플 빌드 및 초기화
CustomComponent 샘플을 빌드하고 초기화하려면
명령 창에서 다음 폴더로 이동합니다.
<샘플 경로>\Pipelines\CustomComponent
다음 작업을 수행하는 Setup.bat 파일을 실행합니다.
이 샘플에 대한 입력(In) 및 출력(Out) 폴더를 다음 폴더에 만듭니다.
<샘플 경로>\Pipelines\CustomComponent
이 샘플에 대한 Visual Studio 프로젝트를 컴파일하고 배포합니다.
BizTalk Server 수신 위치와 송신 및 수신 포트를 만들고 바인딩합니다.
참고
포트를 만들고 바인딩할 경우 이 샘플에 다음 경고가 표시됩니다.
Warning: Receive handler not specified for receive location "PCReceiveLocation"; updating with first receive handler with matching transport type.
Warning: Host not specified for orchestration "CustomComponent"; updating with first available host.
이러한 경고는 무시해도 됩니다. (사용자 설치에서 이름 지정에 차이가 있을 수 있는 경우 이를 수용하기 위해 호스트 이름과 수신 핸들러가 바인딩 파일에서 생략되었습니다.)
수신 위치를 사용하도록 설정하고 송신 포트를 시작합니다.
참고
이 샘플을 실행하기 전에 BizTalk Server가 빌드 및 초기화 프로세스 동안 오류를 보고하지 않았는지 확인해야 합니다.
참고
Setup.bat 파일을 실행하지 않은 채 이 샘플에서 프로젝트를 열고 빌드하려는 경우 먼저 .NET Framework Strong Name 유틸리티(sn.exe)를 사용하여 강력한 이름 키 쌍을 만들어야 합니다. 이 키 쌍을 사용하여 결과 어셈블리에 서명합니다.
참고
Setup.bat에서 변경한 사항을 취소하려면 먼저 BizTalk Server 관리 MMC 콘솔에서 호스트 인스턴스를 중지했다가 다시 시작해야 합니다. 다음으로, Cleanup.bat 실행합니다. Setup.bat를 두 번째로 실행하기 전에 Cleanup.bat를 실행해야 합니다.
이 샘플 실행
CustomComponent 샘플을 실행하려면
Input.txt 텍스트 파일의 복사본을 In 폴더에 붙여 넣습니다.
Out 폴더에서 만든 텍스트 파일을 확인합니다. 이 파일에는 시작 부분(수신 파이프라인) 및 끝부분(송신 파이프라인에 의해)에 추가 텍스트가 삽입된 파일 Input.txt 내용이 포함되어 있습니다. 이 파일의 이름 형식은 <MessageID>.xml. 여기서 <MessageID> 는 메시지를 고유하게 식별하기 위해 생성된 GUID입니다.
의견
다음 단계를 수행하여 파이프라인 디자이너에서 미리 구성된 파이프라인을 볼 수 있습니다.
솔루션 탐색기에서 ReceivePipeline.btp를 두 번 클릭하여 파이프라인 디자이너에서 수신 파이프라인을 엽니다. FixMsg 구성 요소가 수신 파이프라인의 유효성 검사 단계에 배치되는지 확인합니다.
디자인 화면의 유효성 검사 단계에서 FixMsg 구성 요소를 클릭합니다. 속성 창에서 파이프라인 구성 요소의 구성 속성을 확인할 수 있습니다. PrependData 속성이 수신 파이프라인 문자열 앞에 추가되도록 Data로 설정되어 있는지 확인합니다.
솔루션 탐색기에서 SendPipeline.btp를 두 번 클릭하여 파이프라인 디자이너에서 송신 파이프라인을 엽니다. FixMsg 구성 요소가 송신 파이프라인의 사전 어셈블 단계에 배치되는지 확인합니다.
디자인 화면의 사전 어셈블 단계에서 FixMsg 구성 요소를 클릭합니다. AppendData 속성은 송신 파이프라인 문자열에 추가할 데이터로 설정됩니다.