FlatFileSend(BizTalk Server 샘플)
FlatFileSend 샘플에서는 BizTalk Server 사용하여 XML 파일을 해당하는 플랫 파일로 처리하는 방법을 보여 줍니다.
이 샘플의 용도
이 샘플에서는 FFInput 폴더를 수신 위치로 구성합니다. 샘플 파일 FlatFileSend_in.xml 같은 파일을 이 폴더에 배치하면 BizTalk Server 다음 단계를 사용하여 이 파일의 메시지를 처리합니다.
BizTalk Server 수신 위치 폴더 FFInput의 입력 파일에서 메시지를 읽습니다.
XML 수신 파이프라인을 통해 메시지가 전달됩니다.
MessageBox 데이터베이스에서 송신 파이프라인이 Flat File Assembler 구성 요소로 구성되어 있는 FILE 송신 포트로 메시지가 라우팅됩니다. Flat File Assembler 구성 요소는 플랫 파일 스키마를 사용하여 XML 메시지를 동등한 플랫 파일 표현으로 변환합니다.
BizTalk Server 변환된 메시지를 송신 어댑터 폴더 FFOutput의 텍스트 파일에 씁니다.
이 샘플이 디자인된 방식 및 이유
샘플 메시지는 이 샘플의 기본 디자인에서 큰 부분을 차지합니다. 사용자 지정 송신 파이프라인 내의 플랫 파일 스키마와 Flat File Assembler를 사용하여 플랫 파일 메시지를 어셈블해야 합니다. 이러한 디자인 요소 및 다른 디자인 요소는 다음 표에 요약되어 있습니다.
디자인 요소 | 선택 이유 |
---|---|
사용자 지정 송신 파이프라인 | - 사용자 지정 파이프라인은 플랫 파일 어셈블러와 플랫 파일 스키마를 사용하여 instance 메시지를 플랫 파일 형식으로 변환합니다. 플랫 파일 어셈블러는 파이프라인 자체가 아니며 BizTalk Server 관리 콘솔에서 송신 파이프라인을 구성할 때 사용할 수 없습니다. |
플랫 파일 스키마 | - XML 스키마로 동일한 레코드 및 필드 특성(구조 포함)을 모두 정의하고 XML instance 메시지를 플랫 파일 메시지로 변환하는 데 필요한 모든 플랫 파일 특성을 정의하는 메커니즘을 제공합니다(또는 그 반대의 경우). |
구독 필터 | - 구독 필터는 속성 필드를 기반으로 하나 이상의 조건을 충족하는 메시지를 캡처하여 실제 라우팅을 수행합니다. |
XMLReceive | - 인바운드 XML 메시지 처리를 수행합니다. 이 예제에서는 구매 주문의 XML 표현이 소스 메시지로 사용됩니다. |
이러한 요소가 결합되어 수신 위치로부터 XML 형식의 구매 주문 메시지를 받고 플랫 파일 구매 주문을 송신 위치에 쓰는 솔루션을 생성합니다.
이 샘플이 있는 위치
<Samples Path>\Pipelines\AssemblerDisassembler\FlatFileSend
다음 표는 이 샘플의 파일을 보여 주고 각각의 용도에 대해 설명합니다.
파일 | Description |
---|---|
Cleanup.bat | 어셈블리 배포를 취소하고 전역 어셈블리 캐시에서 어셈블리를 제거하는 데 사용됩니다. 송신 및 수신 포트를 제거합니다. 필요한 경우 Microsoft IIS(인터넷 정보 서비스) 가상 디렉터리를 제거합니다. |
FlatFileSend.btproj, FlatFileSend.sln | 이 샘플에 대한 프로젝트 및 솔루션 파일입니다. |
FlatFileSendBinding.xml | 포트 바인딩과 같은 자동화된 설치에 사용됩니다. |
FlatFileSend_in.xml | 샘플 입력 파일입니다. |
PO.xsd | 아웃바운드 플랫 파일의 스키마입니다. |
SendPipeline.btp | BizTalk Server 플랫 파일 어셈블러 구성 요소를 사용하여 파이프라인 파일을 보냅니다. |
Setup.bat | 이 샘플을 빌드 및 초기화하는 데 사용됩니다. |
이 샘플의 사용 방법
고유한 플랫 파일 처리 솔루션의 기초로 이 샘플을 사용합니다. 이 샘플에 사용된 디자인 요소는 대부분 고유한 요구 사항에 맞게 확장할 수 있습니다.
이 샘플 빌드 및 초기화
명령 창에서 다음 폴더로 이동합니다.
<Samples Path>\Pipelines\AssemblerDisassembler\FlatFileSend
다음 작업을 수행하는 Setup.bat 파일을 실행합니다.
다음 폴더에 이 샘플의 입력(FFInput) 및 출력(FFOutput) 폴더를 만듭니다.
<Samples Path>\Pipelines\AssemblerDisassembler\FlatFileSend
이 샘플에 대한 Visual Studio 프로젝트를 컴파일합니다.
BizTalk Server 수신 위치와 송신 및 수신 포트를 만들고 바인딩합니다.
참고
이 샘플에서는 포트
Warning: Receive handler not specified for receive location "FlatFileSend_RL"; updating with first receive handler with matching transport type. Warning: Host not specified for orchestration "FlatFileSend"; updating with first available host.
를 만들고 바인딩할 때 다음 경고를 표시합니다. 이러한 경고를 안전하게 무시할 수 있습니다. (사용자 설치에서 이름 지정에 차이가 있을 수 있는 경우 이를 수용하기 위해 호스트 이름과 수신 핸들러가 바인딩 파일에서 생략되었습니다.)수신 위치를 사용하도록 설정하고 송신 포트를 시작합니다.
참고
이 샘플을 실행하기 전에 BizTalk Server가 빌드 및 초기화 프로세스 동안 오류를 보고하지 않았는지 확인해야 합니다.
참고
Setup.bat를 실행하지 않고 이 샘플에서 프로젝트를 열고 빌드하려는 경우 먼저 .NET Framework Strong Name Utility(sn.exe)를 사용하여 강력한 이름 키 쌍을 만들어야 합니다. 이 키 쌍을 사용하여 결과 어셈블리에 서명을 합니다.
참고
Setup.bat가 변경한 내용을 실행 취소하려면 Cleanup.bat를 실행합니다. Setup.bat를 두 번째로 실행하기 전에 Cleanup.bat를 실행해야 합니다.
이 샘플 실행
FlatFileSend_in.xml 파일의 복사본을 FFInput 폴더에 넣습니다.
FFOutput 폴더에 만들어진 텍스트 파일을 확인합니다. 텍스트 파일의 이름은 메시지 ID GUID를 기반으로 합니다. 이 파일에는 XML 입력 파일 FlatFileSend_in.xml에 해당하는 플랫 파일이 들어 있습니다.
이 샘플에서 사용된 클래스 또는 메서드
구성 스크립트 Setup.bat와 Cleanup.bat는 다음과 같은 관리 WMI(Windows Management Instrumentation) 스크립트를 사용합니다.
Start Send Port\StartSendPort.vbs
Enable Receive Location\EnableRecLoc
Remove Send Port\RemoveSendPort
설정 및 정리 배치 파일은 다음과 같이 BTSTask를 사용합니다.
바인딩 파일을 적용하고 애플리케이션, 포트 및 바인딩을 만드는 BTSTask ImportBindings
BTSTask RemoveApp 을 사용하여 FlatFileSendApplication 제거