如何使用訊息內容屬性
系統屬性大多數都是由「BizTalk 傳訊引擎」及其元件在內部使用。 一般而言,不建議變更引擎所設定的屬性值,因為這可能會影響引擎的執行邏輯。 但是,您仍然可以變更許多屬性。
下表包含「傳訊引擎」可升級的訊息內容屬性清單。 您可以使用這些屬性,在 Microsoft BizTalk Server中建立傳送埠和協調流程的篩選運算式。 例如
PortName = MyMessage(BTS.ReceivePortName);
MyFileName = MyMessage(FILE.ReceivedFileName);
MySubject= MyMessage(POP3.Subject);
另一份表格列出可能會在某些無法升級之 BizTalk 應用程式中使用的其他屬性。
屬性 | 升級的時機和位置 | 類型 | Description |
---|---|---|---|
BTS.AckFailureCategory | 在發佈通知訊息至 MessageBox 資料庫之前,「傳訊引擎」會升級此屬性。 | xs:int | 識別 ErrorCategory,這會提供暫停的位置和原因。 |
BTS.AckFailureCode | 在發佈通知訊息至 MessageBox 資料庫之前,「傳訊引擎」會升級此屬性。 | xs:string | 識別 ErrorCode,這會提供暫停的位置和原因。 |
BTS.AckID | 在發佈通知訊息至 MessageBox 資料庫之前,「傳訊引擎」會升級此屬性。 | xs:string | 識別原始訊息的 MessageID 。 |
BTS.AckInboundTransportLocation | 在發佈通知訊息至 MessageBox 資料庫之前,「傳訊引擎」會升級此屬性。 | 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 | 「傳訊引擎」在內部使用此屬性。 指定要求回應訊息資料流的伺服器名稱、程序識別碼和唯一 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 | 主要用來支援解譯器的「可復原交換處理」,這個屬性會控制訊息應發佈至 MessageBox 還是擱置於擱置序列中。 如果管線在交換中遇到損壞的訊息,而要擱置訊息並繼續處理,它可以設定 MessageDestination = SuspendQueue,並在引擎呼叫解譯器上的 GetNext() 時傳回訊息。 有效值: -預設。 如果屬性不存在,就會將訊息視為正常並發佈至 MessageBox。 - SuspendQueue。 指示傳訊引擎擱置訊息。 注意: 暫停的訊息會是管線後/對應訊息,而不是配接器所提交的訊息 (,也就是連線訊息) 。 |
BTS.MessageType | 在訊息剖析期間,解譯器管線元件會升級此屬性。 | xs:string | 指定訊息的類型。 訊息類型定義為檔架構命名空間和檔根節點的串連:HTTP:// <MyNamespace> # <MyRoot> 。 |
BTS.OutboundTransportLocation | 如果在訊息內容上設定這個屬性,「傳訊引擎」就會將它升級。 當協調流程將訊息傳送至傳送埠時,會在訊息內容上隱含設定這個屬性。 這個屬性也可以在協調流程或管線中明確設定。 | xs:string | 指定傳送訊息的目的地位置 URI。 URI 可能包含配接器前置詞,例如 HTTP://。 「傳訊引擎」會使用配接器前置詞,決定要在傳送訊息時使用的配接器類型。 如果配接器前置詞和 BTS 都一樣。已設定 OutboundTransportType 屬性,這是來自 BTS 的配接器類型 。OutboundTransportType 一律優先于從前置詞決定的配接器類型。 有效值: BizTalk 訊息佇列: DIRECT=、 PRI加值稅E=和 PUBLIC= 檔案: file:// FTP: FTP:// HTTP: HTTP:// 和 HTTPs:// SMTP: mailto: SOAP: SOAP:// SQL: SQL:// |
BTS.OutboundTransportType | 如果在訊息內容上設定這個屬性,「傳訊引擎」就會將它升級。 當協調流程將訊息傳送至傳送埠時,會在內容上隱含設定這個屬性。 這個屬性也可以在協調流程或管線中明確設定。 | xs:string | 指定用來傳送訊息的配接器類型。 可用的配接器類型為 FILE、 FTP、 HTTP、 SMTP、 SOAP和 SQL。 這個屬性的值和位址中指定的配接器前置詞都不區分大小寫。 |
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 | 從請求-回應傳送埠發佈回應訊息時,由傳訊引擎升級。 | 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 應用程式可能會有幫助。
屬性 | 升級的時機和位置 | 類型 | Description |
---|---|---|---|
BTS.AckDescription | 在發佈通知訊息至 MessageBox 資料庫之前,「傳訊引擎」會設定此屬性。 | xs:string | 識別 ErrorDescription,這會提供暫停的位置和原因。 |
BTS.EncryptionCert | 無法升級。 | xs:int | 識別對應至加密憑證的指紋。 在協調流程中,或在管線內 MIME/SMIME 編碼器管線元件之前的自訂管線元件中,設定這個屬性,以便在接收已簽章和已加密訊息的要求-回應連接埠上執行回應加密。 |
BTS.InterchangeID | 針對到達伺服器的每個訊息,「傳訊引擎」會設定此屬性。 | xs:string | 定義唯一識別碼,此識別碼是用來群組同一個交換訊息所產生的檔。 |
BTS.Loopback | 在提交回送執行的要求訊息時,配接器會設定此屬性。 | xs:boolean | 定義是否應提交訊息至伺服器以執行回送作業。 在回送執行程序中,要求訊息會發佈至 MessageBox 資料庫中,並在其中當做回應直接傳送至接收配接器。 |
BTS.SignatureCertificate | 在提交訊息至伺服器時,有些配接器會設定此屬性。 「合作對象解析」管線元件會使用這個屬性。 | xs:string | 識別簽章憑證的指紋,此簽章憑證已用於簽署 BizTalk Server 收到的訊息。 |
BTS.SourcePartyID | 在識別內送訊息的合作對象之後,「合作對象解析」管線元件會設定此屬性。 | xs:string | BizTalk 合作對象的識別碼。 |
BTS.SSOTicket | 如果接收配接器支援這個屬性,則會在發佈訊息至伺服器時設定它。 | xs:string | 票證包含目前使用者的加密網域和使用者名稱,以及票證到期時間。 已啟用 SSO 的配接器向目的地端點驗證時,會使用此票證取得使用者認證。 |
BTS.WindowsUser | 在提交訊息至伺服器時,有些配接器會設定此屬性。 「合作對象解析」管線元件會使用這個屬性。 | xs:string | 指定訊息以此使用者帳戶提交至伺服器。 |
如需與管線元件和配接器相關聯之屬性和屬性結構描述的詳細資訊,請參閱下列主題: