共用方式為


屬性結構描述

在 Microsoft BizTalk Server 中,升級的屬性可讓各種BizTalk Server元件存取資料的主要專案,在此內容中稱為在實例訊息內抵達的辨別欄位和屬性欄位,而不需要知道如何在訊息本身內尋找它們。 您可以針對不同類型的訊息,決定哪些資料項目需要升級至更高的可見層級。 根據您選擇升級這類欄位的方式,您可能需要建立和定義關聯的屬性結構描述。

注意

升級屬性僅限非重複項目/屬性。

辨別欄位只能在協調流程中存取,不需要建立對應的屬性結構描述。 若您只需要從協調流程中存取升級的訊息資料,可以將資料升級為一或多個辨別欄位。

屬性欄位可以從各種 BizTalk Server 元件 (包括管線和協調流程) 中存取。 屬性欄位也可用於訊息路由。 若您需要從內容而不是從協調流程存取升級的訊息資料,則必須建立一或多個屬性結構描述以描述要升級的資料。

屬性結構描述是與訊息結構描述相關聯的特殊結構描述。 它用於將執行個體訊息中的特定值升級為訊息內容。 屬性升級提供集中的機制,以提取您從執行個體訊息中定義的訊息之主要部分,並且讓處理訊息的 BizTalk Server 元件,在處理透過 BizTalk Server 傳送的訊息時更容易存取。

建立屬性架構概觀

您可以使用 BizTalk Server 的快速升級功能自動建立預設屬性結構描述。 這是建立屬性欄位升級必要的屬性結構描述最容易的方式。 如需有關如何執行快速升級的詳細資訊,請參閱 如何將資料複製到訊息內容做為屬性欄位

您也可以建立新的屬性架構。 當 BizTalk 專案開啟時,請選取 BizTalk 專案,以滑鼠右鍵按一下並選取 [新增],按一下 [新增專案],然後按一下 [架構]。

注意

  • 若屬性結構描述與訊息結構描述相關聯,則這兩個結構描述必須在相同的 BizTalk 專案中。 不支援將屬性結構描述與其相關的訊息結構描述分隔在不同的 BizTalk 專案中。

  • 如果您有兩個具有相同命名空間的屬性結構描述,則即使這兩個結構描述是在不同的組件中定義,它們將無法在執行階段正確解析。 您將在執行階段收到路由失敗。

辨別欄位和屬性欄位

有兩個屬性升級類型:辨別欄位和屬性欄位。 後者使用屬性結構描述。 在 BizTalk 編輯器中,您可以使用 [升級屬性] 對話方塊來管理這兩種類型的屬性升級,您可以使用[架構] 節點的 [升級屬性]屬性來存取。

注意

  • 您可升級的值有部分限制。 如需詳細資訊,請參閱 升級屬性中的資料表。

  • [辨別] 欄位不會出現在篩選條件運算式。 只有屬性欄位會出現在篩選條件運算式。

與訊息結構描述比較,屬性結構描述較簡單。 在架構樹狀結構中,您只能將 Field Element 節點插入為 架構 節點的即時子節點,建立兩層深度的結構。 在大部分的情況下,您可以設定 Field Element 節點的屬性,就像在訊息架構中顯示的 Field Element 節點一樣。 限制您只能使用 XSD 簡單類型。

重要

您不能重新命名任何一個已經用於其他結構描述的結構描述。 這包含已經建立其升級的屬性結構描述。 若這麼做,所使用的結構描述將找不到其他結構描述,因為它所包含的名稱已經不正確。

屬性架構基底屬性對Field Element節點而言是唯一的,因為它們出現在屬性架構中。 此屬性預設為空白,但可設定為 MessageDataPropertyBaseMessageCoNtextPropertyBase,導致 propSchFieldBase 屬性新增至 fieldInfo 注釋元素,其中一個或其中一個值。

propSchFieldBase 屬性設定為 MessageDataPropertyBase時,表示升級屬性的值會對應至訊息中的資料,例如某些欄位的值。 當 propSchFieldBase 屬性設定為 MessageCoNtextPropertyBase時,表示升級屬性的值可能來自其他位置,例如信封,或是管線元件可能設定它。

屬性架構中的Field Element節點也有一個名為敏感性資訊的屬性,當設定為[是] 時,會將對應的值從 BizTalk 總管和訊息事件和服務實例追蹤中保持可見,藉此保留其敏感性本質。 如需詳細資訊,請參閱UI 指引和開發人員 API 命名空間參考中的敏感性資訊

以下屬性結構描述的 XML 結構描述定義 (XSD) 語言表示法包含與識別此結構描述為屬性結構描述 (schema_type="property") 的結構描述項目相關聯的註解。 它也包含架構節點下方的三個Field Element節點。 名為 PromProp1 的第一個 Field 元素 節點沒有為其 屬性架構基底 屬性定義的值,但後者的兩個 Field 元素 節點會將該屬性分別設定為 MessageDataPropertyBaseMessageCoNtextPropertyBase

<?xml version="1.0" encoding="utf-16" ?>   
<xs:schema xmlns="http://BizTalk_Server_Project1.PropertySchema1"  
           xmlns:b="http://schemas.microsoft.com/BizTalk/2003"  
           targetNamespace="http://BizTalk_Server_Project1.PropertySchema1"  
           xmlns:xs="http://www.w3.org/2001/XMLSchema">  
    <xs:annotation>  
       <xs:appinfo>  
  
        </xs:appinfo>  
    </xs:annotation>  
    <xs:element name="" type="xs:string">  
        <xs:annotation>  
            <xs:appinfo>  
  
            </xs:appinfo>  
        </xs:annotation>  
    </xs:element>  
    <xs:element name="" type="xs:string">  
        <xs:annotation>  
            <xs:appinfo>  
  
            </xs:appinfo>  
        </xs:annotation>  
    </xs:element>  
    <xs:element name="" type="xs:string">  
        <xs:annotation>  
            <xs:appinfo>  
  
            </xs:appinfo>  
        </xs:annotation>  
    </xs:element>  
</xs:schema>  
  

另請參閱

不同類型的 BizTalk 結構描述