다음을 통해 공유


속성 승격을 사용하여 인스턴스 메시지 처리

속성 필드 메서드를 사용하여 속성을 승격하려면 속성 스키마를 생성해야 합니다. 속성 스키마를 만드는 방법에 대한 자세한 내용은 속성 스키마를 만드는 방법을 참조하세요. 모든 속성 승격과 마찬가지로 메시지 스키마에서 스키마 노드의 속성 승격 속성을 사용하여 액세스할 수 있는 속성 승격 대화 상자를 사용합니다.

참고

승격 속성에 액세스하고 사용하려면 속성을 승격하는 파이프라인을 선택해야 합니다. 예를 들어 PassthruReceive 파이프라인을 사용하는 경우 속성이 승격되지 않으므로 콘텐츠 기반 라우팅 및 기타 기능이 제대로 작동하지 않습니다.

속성 승격 대화 상자의 대화 상자 오른쪽에서 속성 필드 탭이 선택되어 있는지 확인합니다. 다음으로, 속성 필드 탭의 맨 위에 있는 속성 스키마 목록에 적절한 속성 스키마가 포함되어 있는지 확인 합니다 . 필요한 경우 BizTalk 형식 선택 대화 상자를 사용하여 폴더 단추를 사용하여 적절한 속성 스키마를 선택합니다. 그런 다음 대화 상자 왼쪽에 있는 스키마 트리의 노드를 확장하여 속성 필드로 승격할 필드 요소 노드 또는 필드 특성 노드를 찾아 선택한 다음 추가를 클릭합니다. 마지막으로 속성 필드 사전 테이블의 속성 열에 있는 드롭다운 목록을 사용하여 승격된 속성을 연결할 속성 스키마에서 Field 요소 노드를 선택합니다. 속성 승격 대화 상자를 사용하여 속성을 속성 필드로 승격하는 방법에 대한 단계별 지침은 메시지 컨텍스트에 데이터를 속성 필드로 복사하는 방법을 참조하세요.

참고

레코드 노드를 속성 스키마의 Field 요소 노드로 승격할 수도 있지만 Record 노드의 콘텐츠 형식 속성이 SimpleContent로 설정된 경우에만 승격할 수 있습니다.

참고

모든 승격이 다른 루트 노드 아래에서 수행되는 한, 하나의 스키마 내에서 동일한 속성을 여러 번 승격할 수 있습니다. 메시지가 단일 루트 노드에 대해 유효성이 검사되고 해당 루트 노드 아래에서 승격된 속성만 런타임에 계산되기 때문입니다.

속성 필드로 승격되는 속성 집합에서 필드 요소 노드 또는 필드 특성 노드를 제거하려면 속성 필드 탭의 속성 필드 사전 테이블에서 승격된 속성을 선택한 다음 제거를 클릭합니다.

속성 필드 사전 테이블의 노드 경로 열에는 승격된 속성에 해당하는 스키마 노드에 대한 XPath가 표시됩니다. 인스턴스 XPath 편집 대화 상자를 사용하여 이 값을 직접 편집할 수 있습니다. 해당 셀을 선택할 때 해당 셀의 오른쪽 끝에 표시되는 줄임표(...) 단추를 클릭하여 이 대화 상자를 열 수 있습니다. BizTalk 편집기에서 확인할 수 없는 XPath는 유효성 검사 작업을 방해하므로 XPath 값을 직접 편집할 때는 주의해야 합니다.

BizTalk 편집기는 속성 필드 메커니즘을 사용하여 속성을 승격하기 위한 간소화된 명령도 제공합니다. 이 명령을 빠른 승격이라고 하며 Promote | 을 사용하여 사용할 수 있습니다. BizTalk 및 바로 가기 메뉴의 빠른 승격 명령입니다. 이 명령은 선택한 필드 노드(또는 레코드 노드)를 포함하는 스키마에 대한 속성 페이지 대화 상자의 기본 속성 스키마 이름 속성으로 지정된 속성 스키마에 자동으로 만들어지는 속성 필드로 승격합니다. 빠른 승격 명령을 사용하여 속성을 속성 필드로 승격하는 방법에 대한 단계별 지침은 메시지 컨텍스트에 데이터를 속성 필드로 복사하는 방법을 참조하세요.

속성 필드 메커니즘을 사용하여 속성을 승격할 경우 두 개의 XSD(XML 스키마 정의) 언어 조각이 메시지 스키마의 XSD 표시에 추가됩니다. 첫 번째 XSD 조각은 다음 예제와 같이 해당 속성 스키마를 식별하는 스키마 요소와 연결된 주석 조각입니다.

<xs:annotation>  
    <xs:appinfo>  
        <b:imports>  
            <b:namespace prefix="ns0"  
                uri="http://BizTalk_Server_Project1.PropertySchema1"  
                location=".\propertyschema1.xsd" />  
        </b:imports>  
    </xs:appinfo>  
</xs:annotation>  

두 번째 XSD 조각은 다음 예제와 같이 속성 필드 메커니즘을 사용하여 승격된 필드 요소 노드 또는 필드 특성 노드 값을 식별하는 Root 요소와 연결된 주석 조각입니다(이름 변경 여부에 관계없이).

<xs:annotation>  
    <xs:appinfo>  
        <b:properties>  
            <b:property name="ns0:PromProp1"  
                xpath="/*[local-name()='Root' and namespace-  
                 uri()='http://BizTalk_Server_Project1.Schema2']/  
                 *[local-name()='MyRec1']/@*[local-  
                 name()='Field_x0020_1']" />  
            <b:property name="ns0:PromProp2"  
                xpath="/*[local-name()='Root' and namespace-  
                 uri()='http://BizTalk_Server_Project1.Schema2']/  
                 *[local-name()='MyRec1']/*[local-  
                 name()='ProgramManager']/*[local-name()='Name']" />  
        </b:properties>  
    </xs:appinfo>  
</xs:annotation>  

참고 항목

메시지 콘텐츠를 사용하여 메시지 처리를 제어하는 방법
메시지 컨텍스트에 속성 필드로 데이터를 복사하는 방법