다음을 통해 공유


XML Disassembler 파이프라인 구성 요소

XML Disassembler 파이프라인 구성 요소는 XML 구문 분석 및 디스어셈블을 하나의 구성 요소로 결합합니다. 이 구성 요소의 주요 기능은 다음과 같습니다.

  • 봉투(Envelope) 제거

  • 교환 디스어셈블

  • 교환 및 개별 문서 수준에서 메시지 컨텍스트로 콘텐츠 속성 승격

    봉투를 받으면 XML Disassembler 구성 요소에서 다음 작업이 발생합니다.

  1. 디스어셈블러는 디자인 타임에 구성 요소와 정적으로 연결된 봉투 스키마를 사용하거나 런타임에 메시지 유형에서 봉투 스키마를 확인하여 동적으로 봉투를 구문 분석합니다. 스키마는 봉투 구문 분석 과정에서 봉투의 구조를 확인하는 데 사용됩니다. 봉투 구조가 정의되지 않은 경우 루트 노드의 네임스페이스 및 기본 이름을 사용하여 스키마를 조회하는 재귀적 방식으로 해당 구조를 찾습니다.

  2. 디스어셈블러 구성 요소는 봉투 내의 각 문서를 구문 분석합니다. 각 문서에 대해 BizTalk 메시지 개체가 고유한 컨텍스트로 만들어지고 봉투 및 문서 자체에서 승격된 모든 속성이 복사됩니다. 이 구성 요소는 봉투 및 메시지와 관련된 XSD 스키마에서 주석으로 코딩되어 미리 정의된 XPath를 사용하여 봉투 및 메시지 인스턴스에서 콘텐츠 속성을 끕니다. 개별 문서 스키마뿐만 아니라 봉투 스키마도 파이프라인 디자이너의 디스어셈블러 구성 요소와 연결되어 있습니다.

    XML Disassembler는 메시지 본문의 데이터만 처리합니다. 따라서 본문의 속성만 승격할 수 있습니다. 승격 가능한 속성과 관련된 필드의 날짜/시간 값은 속성 승격이 발생할 때 UTC로 변환됩니다. 본문이 아닌 파트는 출력 메시지에 변경되지 않은 상태로 복사됩니다.

참고

현재 XML Disassembler 파이프라인 구성 요소는 날짜/시간 속성이 메시지 저장소에 도달하기 전에 모두 UTC로 변환합니다. BizTalk Server는 표준 시간대에 대한 정보가 없는 SQL 날짜/시간 유형을 내부적으로 사용합니다. 오케스트레이션에서 날짜/시간 속성을 생성한 다음 후속 메시지와의 상관 관계를 위해 이 속성을 사용하면 XML Disassembler 파이프라인 구성 요소에서 응답 시 해당 속성을 UTC로 변환하기 때문에 속성이 제대로 작동하지 않을 수 있습니다. 이때 Microsoft SQL Server는 원본 시간 필드와 응답 시간 필드가 동일한 필드인지 식별할 수 없습니다. 마찬가지로 메시지 이벤트 및 서비스 인스턴스 추적 데이터를 볼 때도 이러한 차이점을 발견할 수 있습니다.

XML 디스어셈블러 파이프라인 구성 요소를 구성하는 방법에 대한 자세한 내용은 XML 디스어셈블러 파이프라인 구성 요소를 구성하는 방법을 참조하세요.

섹션 내용