영어로 읽기

다음을 통해 공유


파이프라인 도구

Microsoft BizTalk Server SDK(소프트웨어 개발 키트)와 함께 제공되는 파이프라인 도구를 사용하면 송신/수신 포트와 같은 BizTalk Server 환경을 구성하지 않고도 파이프라인이 제대로 작동하는지 확인할 수 있습니다. 파이프라인 도구는 다음 작업에도 사용할 수 있습니다.

  • 서버 환경 외부에 있는 타사 파이프라인 구성 요소 디버깅

  • 구문 분석 엔진의 오류 메시지 진단

  • 컴파일, 배포, 배포 취소, 재컴파일 등의 부담 없이 다양한 스키마 실험

  • Flat File 및 XML assembler/disassembler 동작 탐색

  • 디스어셈블러의 출력 보기, 승격된 메시지 컨텍스트 속성 및 속성 값 검색

  • disassembler 및 assembler 구성 요소 없이 송신/수신 파이프라인 실행(예: S/MIME decoder의 출력을 볼 수 있음)

  • 전체 메시징 하위 시스템이 아닌 파이프라인만을 대상으로 세부 성능 측정

SDK에서의 위치

<설치 경로>\SDK\Utilities\PipelineTools

파이프라인 도구는 파이프라인 및 파이프라인 구성 요소(Flat File 및 XML assembler/disassembler 구성 요소)를 실행하고 디버깅하고 프로파일링하는 데 사용합니다.

파일 인벤토리

다음 표는 파이프라인 도구 파일 및 그 용도에 대해 설명합니다.

파일 Description
DSDump.exe 플랫 파일 주석의 포함 여부에 관계없이 하나 이상의 XSD 스키마를 메모리 내에 간단하게 표시한 문서 스키마 구조를 덤프할 수 있습니다. 이 도구는 $Root$0$3$2와 같은 구문 분석 엔진 오류를 가져와 이를 해독하려는 경우에 유용하게 사용할 수 있습니다. $ 뒤의 숫자는 문서 스키마에 나타나는 0부터 시작하는 인덱스 또는 레코드를 의미합니다.
FFAsm.exe Flat File assembler 구성 요소를 실행합니다. 그러면 송신 파이프라인 에뮬레이션을 통해 구성 요소가 직접 호출되어 사용자의 XML 문서가 어떻게 플랫 파일 문서로 serialize되고 어셈블되는지 볼 수 있습니다.
FFDasm.exe Flat File disassembler 구성 요소를 실행합니다. 그러면 수신 파이프라인 에뮬레이션을 통해 구성 요소가 직접 호출되어 사용자의 플랫 파일 문서가 어떻게 하나 이상의 XML 문서로 구문 분석되고 디스어셈블되는지 볼 수 있습니다.
Pipeline.exe 송신 또는 수신 파이프라인을 실행하고 하나 이상의 입력 문서와 해당 파트, XSD 스키마 및 관련 정보를 받아 파이프라인이 실행된 후 출력 문서를 생성합니다. Pipeline.exe BizTalk Server 데이터베이스에 액세스하지 않으므로 실행 중에 BizTalk Server 데이터베이스에 액세스하는 BizTalk Framework 어셈블러 및 디스어셈블러 구성 요소가 포함된 파이프라인은 지원되지 않을 수 있습니다.
XMLAsm.exe XML assembler 구성 요소를 실행합니다. 그러면 송신 파이프라인 에뮬레이션을 통해 구성 요소가 직접 호출되어 사용자의 XML 문서가 어떻게 출력 XML 문서로 serialize되고 어셈블되고 envelope되는지 볼 수 있습니다.
XMLDasm.exe XML disassembler 구성 요소를 실행합니다. 그러면 수신 파이프라인 에뮬레이션을 통해 구성 요소가 직접 호출되어 사용자의 플랫 파일 문서가 어떻게 하나 이상의 XML 문서로 구문 분석되고 디스어셈블되고 unenvelop되는지 볼 수 있습니다.

사용량

계속해서 아래 섹션에서는 각 파일에 대해 더 자세히 설명합니다.

DSDump.exe

DSDump.exe를 사용하면 플랫 파일 주석의 포함 여부에 관계없이 하나 이상의 XSD 스키마를 메모리 내에 간단하게 표시한 문서 스키마 구조를 덤프할 수 있습니다.

DSDump.exe (문서 스키마 덤프 도구)는 다음과 같은 명령줄 매개 변수를 지원합니다.

DSDump.exe schemaFileName  

DSDump가 성공적으로 실행되면 문서 스키마가 콘솔로 출력됩니다.

FFAsm.exe

FFAsm.exe(Flat File assembler)는 다음과 같은 명령줄 매개 변수를 지원합니다.

usage: ffasm document... [-dm documentMask...]-bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -c ] [ -d ] [ -sb ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -c                 Display assembled FF message on the console  
  -d                 Demote properties  
  -sb                Set body schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Output message encoding name (e.g. windows-1252) or   
                         code page (e.g. 936)  
  -v                 Verbose mode  

file name macros:  
  %MessageID%        FF message identifier (Guid)  
  %MessagePartID%    FF message part identifier (Guid)  

예를 들어 하나의 헤더 및 속성 강등이 있는 단일 플랫 파일 문서에 세 개의 입력 XML 문서를 어셈블하려면 다음 명령을 사용하십시오.

FFAsm.exe file_in1.xml file_in2.xml file_in3.xml –hs myHeaderSchema.xsd –bs myBodySchema.xsd -d  

FFDasm.exe

FFDasm.exe(Flat File disassembler)는 다음과 같은 명령줄 매개 변수를 지원합니다.

usage: ffdasm document -bs bodySchema [ -hs headerSchema ] [ -ts trailerSchema ] [ -s ] [ -c ] [ -p ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           Flat File document  
  bodySchema         Flat File body schema  
  headerSchema       Flat File header schema  
  trailerSchema      Flat File trailer schema  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  encoding           Input message body part encoding name (e.g. windows-1252) or code page (e.g., 396)  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

예를 들어 하나의 헤더, 본문 및 트레일러가 있는 플랫 파일 문서를 디스어셈블하고 그 결과를 콘솔에 표시하려면 다음 명령을 사용하십시오.

FFDasm.exe file_in.txt –hs myHeaderSchema.xsd –bs myBodySchema.xsd –ts myTrailerSchema.xsd –c  

Pipeline.exe

Pipeline.exe(파이프라인 도구)는 다음과 같은 명령줄 매개 변수를 지원합니다.:

usage: pipeline ( pipeline[.btp] | -pt pipelineTypeName [ -an assemblyName ] ) -d document... [ -part part... ] [ -s schema[.xsd][:namespace.type]... ] [ -proj project[.btproj] ] [ -p ] [ -c ] [ -t ] [ -m filenamemask ] [ -pm partfilenamemask ] [ -en encoding ] [ -v ]  

where:  
  pipeline                Pipeline file name  
  pipelineTypeName     Compiled pipeline assembly qualified type name (e.g.   
"MyPipelines.ReceivePipeline, MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66" or full name (e.g.   
"MyPipelines.ReceivePipeline") if assembly name is   
specified  
  assemblyName         Compiled pipeline assembly file name (e.g.   
MyPipelines.dll) or name (e.g. "MyPipelines,   
Version=1.0.0.0, Culture=neutral,   
PublicKeyToken=e03965cb5971ad66")  
  document             Input document(s)  
  part                 Input document's part  
  schema               Schema file name  
  namespace            Schema namespace (as in BizTalk project system)  
  type                 Schema type (as in BizTalk project system)  
  project              BizTalk project file  
  -p                   Display promoted context properties for receive and   
send pipelines, and promote context properties for   
send pipelines  
  -c                      Display output document on the console  
  -t                      Display elapsed time of components execution  
  filenamemask         Output message file name mask (default is   
Message_%MessageID%.out)  
  partfilenamemask     Output part file name mask (default is   
Part_%MessagePartID%.out)  
  encoding             Output message encoding name (e.g. windows-1252)   
or code page (e.g. 936)  
  -v                   Verbous mode  

note:  
You can specify namespace and type for schemas either using namespace.type notation in schema file reference or by using BizTalk project file.  

file name macros:  
  %MessageID%           Message identifier (Guid)  
  %MessagePartID%       Message part identifier (Guid)  
  %MessageNumber%       Message number  

예를 들어 mySchema.xsd를 사용하여 XML disassembler 및 XML Validator 구성 요소가 있는 ReceivePipeline.btp 파일에서 수신 파이프라인을 실행하고 그 결과를 콘솔에 표시하려면 다음 명령을 사용하십시오.

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd:MyProject.MySchema -c  

- 또는 -

Pipeline.exe ReceivePipeline.btp –d file_in.xml –s MySchema.xsd –proj MyProject.btproj -c  

첫 번째 예제에서는 스키마에 대한 정규화된 형식 이름(MyProject.MySchema)이 명령줄 인수로 포함됩니다. 두 번째 예제에서는 지정된 BizTalk 프로젝트 파일에서 스키마를 가져옵니다.

다음 예제와 같이 컴파일된 BizTalk Server 프로젝트 파일에서 파이프라인을 실행할 수도 있습니다(파이프라인은 해당 어셈블리 정규화된 형식 이름으로 참조됨).

Pipeline.exe -pt "TestBtsProject.ReceivePipeline, TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

다음 예제에서는 각 파이프라인의 유형 이름 및 어셈블리 파일 이름으로 파이프라인이 참조됩니다.

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an TestBtsProject.dll -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c   

다음 예제는 어셈블리 이름으로 참조되는 파이프라인을 보여 줍니다.

Pipeline.exe -pt TestBtsProject.ReceivePipeline –an "TestBtsProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e03965cb5971ad66" -d in.xml -s PO.xsd -proj TestBtsProject.btproj –c  

Pipeline.exe는 파이프라인을 시작하는 데 사용된 자격 증명을 사용하여 실행되며, 일반 BizTalk Server 호스트 인스턴스가 실행되는 계정을 사용하지 않으므로 데이터베이스 액세스가 필요한 구성 요소가 포함된 파이프라인을 실행하지 못할 수 있습니다. 필요한 권한이 모두 있는 계정에서 Pipeline.exe를 실행하십시오.

타사 사용자 지정 구성 요소가 없는 사용자 지정 파이프라인을 확인하는 데만 Pipeline.exe를 사용해야 합니다. 타사 사용자 지정 구성 요소가 있는 사용자 지정 파이프라인을 확인하는 데 Pipeline.exe를 사용하더라도 원하는 출력이 생성됩니다. 하지만 타사 사용자 지정 구성 요소가 있는 동일한 사용자 지정 파이프라인을 배포하고 수신 또는 송신 포트에서 파이프라인을 사용한 다음 Pipeline.exe를 사용하여 파이프라인에 메시지를 전송하면 파이프라인에서 오류가 발생하고 BizTalk Server에서 오류를 반환합니다.

XMLAsm.exe

XMLAsm.exe(XML 어셈블러 도구)는 다음 명령줄 매개 변수를 지원합니다.

usage: xmlasm document...[-dm documentmask...] -ds documentSchema... [ -es envelopeSchema... ] [ -c ] [ -d ] [ -sd ] [ -m filenamemask ] [ -v ]  

where:  
  document           XML document(s)  
  documentMask       XML document(s) file mask, e.g., c:\\documents\\*.xml  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -c                 Display assembled XML message on the console  
  -d                 Demote properties  
  -sd                Set document schema(s) as design-time property  
  -d                 Demote properties  
  -m                 Output file name mask (default is %MessageID%)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  

예를 들어 하나의 봉투(Envelope)가 있는 단일 XML 문서에 두 개의 입력 XML 문서를 어셈블하고 그 결과를 콘솔에 표시하려면 다음 명령을 사용하십시오.

FFAsm.exe file_in1.xml file_in2.xml–es myEnvelopeSchema.xsd –ds myBodySchema.xsd –c  

XMLDasm.exe

XMLDasm.exe는 다음과 같은 명령줄 매개 변수를 지원합니다.

usage: xmldasm document -ds documentSchema... [ -es envelopeSchema... ] [ -s ] [ -c ] [ -p ] [ -sd ] [ -se ] [ -m filenamemask ] [ -en encoding ] [ -v ]  

where:  
  document           XML document  
  documentSchema     XML document schema(s)  
  envelopeSchema     XML envelope schema(s)  
  -s                 Validate document structure  
  -c                 Display disassembled XML message on the console  
  -p                 Display promoted properties on the console  
  -sd                Set document schema(s) as design-time property  
  -se                Set envelope schema(s) as design-time property  
  -m                 Output file name mask (default is %MessageID%)  
  encoding           Input message body part encoding name (e.g., windows-1252) or code page (e.g., 936)  
  -v                 Verbous mode  

file name macros:  
  %MessageID%        XML message identifier (Guid)  
  %MessagePartID%    XML message part identifier (Guid)  
  %MessageNumber%    XML message number  

예를 들어 두 개의 중첩 봉투(Envelope)가 있는 XML 문서를 디스어셈블하고 그 결과를 콘솔에 표시하려면 다음 명령을 사용하십시오.

XmlDasm.exe file_in.txt –ds myDocumentSchema.xsd –es myEnvelopeSchema1.xsd –es myEnvelopeSchema2.xsd –c  

참고 항목

SDK의 유틸리티