共用方式為


如何使用訊息內容屬性

系統屬性大多由 BizTalk 傳訊引擎及其元件在內部使用。 一般而言,不建議變更引擎針對這些屬性所設定的值,因為它可能會影響引擎的執行邏輯。 不過,您可以變更大量的屬性。

下表包含訊息引擎可以升級的訊息內容屬性清單。 您可以使用這些屬性,在 BizTalk Server Microsoft 的傳送埠和協調流程上建立篩選表達式。 例如,

PortName = MyMessage(BTS.ReceivePortName);  
MyFileName = MyMessage(FILE.ReceivedFileName);  
MySubject= MyMessage(POP3.Subject);  

獨立的數據表列出一些 BizTalk 應用程式中無法提升但可能有用的其他屬性。

房產 推廣的時間和地點 類型 說明
BTS。AckFailureCategory 由訊息引擎促進,在將確認訊息發佈至 MessageBox 資料庫之前。 xs:int 識別 ErrorCategory,這會提供暫停的位置和原因。
BTS.AckFailureCode 在將確認訊息發佈至 MessageBox 資料庫之前,會由訊息引擎進行處理。 xs:string 識別 ErrorCode,這會提供暫停的位置和原因。
BTS。AckID 在訊息發佈至 MessageBox 資料庫之前,由訊息引擎觸發確認通知。 xs:string 識別原始訊息的 MessageID
BTS.AckInboundTransportLocation 在訊息引擎將確認訊息發佈到訊息盒資料庫之前進行促進。 xs:string 從原始訊息識別 InboundTransportLocation
BTS.AckOutboundTransportLocation 在將確認訊息發佈至 MessageBox 資料庫之前,由訊息引擎發動。 xs:string 從原始訊息識別 OutboundTransportLocation
BTS.AckOwnerID 在將確認訊息發佈至 MessageBox 資料庫之前,由訊息引擎推動。 xs:string 從原始訊息識別實例標識碼。
BTS.AckReceivePortID 在將確認訊息發佈至 MessageBox 資料庫之前,由訊息引擎推動。 xs:string 識別原始訊息中的 ReceivePortID
BTS.AckReceivePortName 由訊息引擎促進確認訊息。 xs:string 識別原始訊息中的 ReceivePortName
BTS.AckSendPortID 在由訊息引擎將確認訊息發佈至 MessageBox 資料庫之前進行處理。 xs:string 從原始訊息識別 SendPortID
BTS.AckSendPortName 在將確認訊息發佈至 MessageBox 資料庫之前,被訊息引擎促成。 xs:string 從原始訊息識別 SendPortName
BTS.AckType 在將確認訊息發佈至 MessageBox 資料庫之前,由訊息引擎提升處理。 xs:string 允許協調流程監視認可和非認可。 確認的值將會是 ACK,而否定確認則為 NACK。
BTS.ActionOnFailure 在呼叫 IBTTTransportBatch::SubmitMessage() API 之前,可以透過配接器設定此屬性,以將訊息提交至 BizTalk。 xs:int 控制接收管線失敗時傳訊引擎的行為。 訊息引擎通常會暫停失敗的訊息,不過,某些適配器(例如 HTTP)在接收管線失敗時會將失敗直接回報給用戶端,而不是暫停訊息。

有效值:

- 預設。 如果屬性不存在,訊息引擎會自動嘗試暫停訊息。
- 0. 表示訊息引擎不應該自動暫停引擎。

其他值則保留供日後使用。
BTS.CorrelationToken 如果在訊息內容上設定這個屬性,訊息引擎就會升級此屬性。 當要求-回應配接器或協調流程將要求訊息提交至 MessageBox 資料庫時,這個屬性會在內容上隱含地設定。 xs:string 啟用要求-回應通訊埠的回應路由。
BTS。EpmRRCorrelationToken 由訊息引擎在執行要求-回應訊息時推動。 屬性會在訊息提交至 MessageBox 資料庫之前提升。 xs:int 供傳訊引擎內部使用。 指定要求回應資料流的伺服器名稱、進程 ID 和唯一 GUID。
BTS.InboundTransportLocation 在從接收配接器收到訊息之後,並在將其發佈到 MessageBox 資料庫之前,由訊息引擎推動進行處理。 xs:string 指定處理程式接收訊息的位置 (URI)。
BTS.InboundTransportType 從接收配接器接收訊息之後,以及將訊息發佈至 MessageBox 資料庫之前,由訊息引擎升級。 xs:string 指定接收此訊息並將它送入伺服器的配接器類型:FILE、HTTP 等。
BTS。InterchangeSequenceNumber 在從接收配接器收到訊息之後,以及在將它發佈至 MessageBox 資料庫之前,由傳訊引擎傳送。 xs:int 表示交換中文件的序號。 如果檔不是分解成個別文件的交換的一部分,則此值會是 1。 屬性可以在協調流程、傳送管線和傳送配接器中讀取。
BTS.IsDynamicSend 這個屬性可以在訊息內容上設定。 它不會升級,而且只會套用至傳送作業。 xs:boolean 當傳送作業位於動態傳送埠時,訊息引擎會將值為 true 的狀態寫入訊息內容。 如果您想要在傳送管線中動態設定靜態傳送埠的屬性,您必須將此值設定為 true。
BTS。MessageDestination 從 GetNext() 傳回訊息時,可由反組譯程式管線元件在接收管線中設定此屬性。 xs:string 此屬性主要用於支援反組譯工具中的可復原交換處理,可控制訊息是發佈至消息框還是暫停至暫止佇列。 如果管線在交換中遇到不正確的訊息,並且希望暫停該訊息繼續處理,則可以設定 MessageDestination = SuspendQueue,當引擎在反組譯程式上呼叫 GetNext() 時,便可傳回該訊息。

有效值:

- 預設。 如果屬性不存在,則會假設訊息良好且發佈至消息框。
- SuspendQueue。 指示訊息引擎暫停訊息。 注意: 暫停的訊息會是管線後/對應訊息,而不是配接器所提交的訊息(亦即線路訊息)。
BTS。MessageType 在訊息剖析期間由反組譯器的管線元件促進。 xs:string 指定訊息的類型。 訊息類型定義為文件架構命名空間和檔根節點的串連:http://<MyNamespace>#<MyRoot>。
BTS。OutboundTransportLocation 如果在訊息內容上設定這個屬性,訊息引擎就會升級此屬性。 當協調流程將訊息傳送至傳送埠時,這個屬性會在訊息內容上隱含地設定。 您也可以在協調流程或管線中明確設定這個屬性。 xs:string 指定傳送訊息的目的地位置 URI。 URI 可能包含配接器前置詞,例如 http://。 傳訊引擎會使用配接器前置詞來判斷傳送訊息時要使用的配接器類型。 如果配接器前置詞和 BTS.OutboundTransportType 屬性都已設定,則來自 BTS.OutboundTransportType 的配接器類型將始終優先於從前置詞決定的配接器類型。

有效值:

BizTalk 消息佇列: DIRECT=PRIVATE=PUBLIC=

檔案: file://

FTP: FTP://

HTTP: http://https://

SMTP: mailto:

SOAP: SOAP://

SQL: SQL://
BTS。OutboundTransportType 如果在訊息內容上設定這個屬性,訊息引擎就會升級此屬性。 當協調流程將訊息傳送到傳送埠時,這個屬性會在上下文中隱含設定。 您也可以在作業協調或資料處理管線中明確設定這個屬性。 xs:string 指定用來傳送訊息的配接器類型。 可用的配接器類型包括 FILEFTPHTTPSMTPSOAPSQL

在此屬性上設定的值以及位址中指定的配接器前置詞不會區分大小寫。
BTS·PropertiesToUpdate 配接器會在需要保留重新提交或暫停失敗訊息上的部分屬性值時,設定這個屬性。

這表示當訊息重新提交或繼續時,它會在內容上設定指定的屬性。
xs:string 包含 XML 字串,其中包含表示屬性名稱、命名空間和值的元素。
BTS.ReceivePortID 從接收配接器接收訊息之後,以及將訊息發佈至 MessageBox 資料庫之前,由訊息引擎升級。 xs:int 識別接收訊息的接收埠。
BTS.ReceivePortName 從接收配接器接收訊息之後,以及將訊息發佈至 MessageBox 資料庫之前,由訊息引擎升級。 xs:string 接收訊息之接收埠的使用者易記名稱。
BTS.RouteDirectToTP 由訊息引擎推動,在訊息內容上執行回送或要求-回應操作。 屬性會在訊息提交至 MessageBox 資料庫之前提升。 xs:boolean 傳訊引擎在內部使用,以啟用迴圈回送和請求-回應情境。
BTS.SPGroupID 當訊息從協調流程傳送至傳送埠時,由訊息引擎升級。 xs:string 指定傳送埠群組的識別碼。
BTS.SPID 當訊息引擎將訊息從協調流程發送到傳送埠時,會發起該操作。 xs:string 指定傳送埠的識別碼。
BTS.SPName 從 Solicit-Response 傳送埠發佈回應訊息時,由傳訊引擎提升。 xs:string 用於從 Solicit-Response 傳送埠訂閱回應訊息。 值是傳送埠的名稱。
BTS.SPTransportBackupID 當訊息從協調流程傳送至傳送埠時,由訊息引擎升級。 xs:string 指定傳送埠中備份配接器的標識碼。
BTS.SPTransportID 由訊息引擎觸發,當訊息從協調程序傳送到傳送埠時。 xs:string 指定傳送埠中主要配接器的標識碼。
BTS.SuspendAsNonResumable 這個屬性可以先由配接器設定,再呼叫 SubmitMessage() 或在協調流程中,再將訊息傳送至傳送埠。 注意: SubmitRequestMessage() 會忽略此屬性;雙向訊息一律會暫停為不可繼續。 xs:boolean 控制訊息引擎在訊息失敗時是否應該將訊息暫停為不可恢復。 通常情況下,訊息會暫停設為可恢復,但在某些情況下這可能不適當——例如,在有序傳送或接收埠中恢復訊息會打亂訊息的順序。

有效值:

-假。 訊息將被暫停,但可繼續處理(這是系統的預設設定)。
-真。 訊息暫停且無法恢復。
BTS。SuspendMessageOnRoutingFailure 從接收配接器接收訊息之後,以及將訊息發佈至 MessageBox 資料庫之前,由訊息引擎升級。 xs:boolean 指定當傳入訊息發生路由失敗時的行為。

有效值:

- 預設值 / False。 如果屬性不存在或設定為 False,引擎會在發生路由失敗時通知適配器發生的錯誤。
-真。 路由引擎會在路由失敗時自動暫停訊息。 注意: 暫停的訊息會是管線後/對應訊息,而不是配接器所提交的訊息(亦即線路訊息)。

此命名空間中有一些其他屬性會攜帶某些 BizTalk 應用程式可能有用的資訊。

房產 推廣的時間和地點 類型 說明
BTS.AckDescription 在將通知訊息發佈至 MessageBox 資料庫之前,先由訊息引擎設定。 xs:string 識別 ErrorDescription,這會提供暫停的位置和原因。
BTS.EncryptionCert 無法晉升。 xs:int 識別對應至加密憑證的指紋。 在管線中MIME/SMIME編碼器管線元件之前放置的協調流程或自定義管線元件中設定此屬性,以在接收已簽署和加密訊息的要求回應埠上執行回應加密。
BTS.InterchangeID 傳訊引擎會針對每個抵達伺服器的訊息進行設定。 xs:string 定義唯一標識碼,用來將來自相同交換訊息的檔分組。
BTS回環 提交要求訊息以供回送執行時,由配接器設定。 xs:boolean 定義訊息是否應該提交至伺服器,以執行回送。 在回送執行中,要求訊息會發佈至 MessageBox 資料庫,而該資料庫會將其直接路由傳送至接收配接器作為回應。
BTS。SignatureCertificate 將訊息提交至伺服器時,由某些配接器設定。 這個屬性由合作方解析流程元件使用。 xs:string 識別用來簽署 BizTalk Server 所接收訊息的簽署憑證指紋。
BTS。SourcePartyID 在識別出接收訊息的主體後,由主體解析流程元件設定。 xs:string BizTalk 合作對象的識別碼。
BTS.SSOTicket 如果接收配接器支援這個屬性,則會在將訊息發佈至伺服器時設定它。 xs:string 票證包含目前使用者的加密網域和用戶名稱,以及票證到期時間。 已啟用 SSO 的配接器會使用票證,以在向目的地端點進行驗證時取得用戶的認證。
BTS。WindowsUser 將訊息提交至伺服器時,由某些配接器設定。 這個屬性由參與方解析管道元件使用。 xs:string 指定代表訊息送入伺服器之用戶的帳戶。

如需與管線元件和配接器相關聯之屬性和屬性架構的其他資訊,請參閱下列各項:

另請參閱

關於 BizTalk 訊息內容屬性
如何使用表達式將值指派給動態埠