共用方式為


使用協調流程存取 WCF 訊息中的 SOAP 標頭

若要存取協調流程中傳入 WCF 訊息的 SOAP 標頭值,請使用內容屬性 WCF。InboundHeaders。 WCF 配接器會將輸入訊息中的自訂 SOAP 標頭和標準 SOAP 標頭複製到 WCF。InboundHeaders 屬性。 您也可以使用 WCF 配接器,選取要以程式設計方式升級至或寫入至內容屬性的屬性。 如需詳細資訊 ,請參閱具有已發佈 WCF 服務的 SOAP 標頭

內容屬性中包含的值是字串,其中包含具有 <標頭> 根項目的 XML 資料,而傳入的 SOAP 標頭則會複製為headers> 元素的 < 子項目。 存取此資料最簡單的方式是在 訊息指派運算式 圖形中使用 BizTalk 運算式編輯器、在 XmlDocument中載入字串,以及使用 XPath 查詢來存取特定欄位。 如需在 BizTalk 運算式編輯器中建立 XML 檔的詳細資訊,請參閱 XLANG-s 語言

下列程式碼範例會取得 WCF 訊息 指派運算式 圖形中的要求 SOAP 標頭 。InboundHeaders 屬性:

stringVar = inboundMessageInstance(WCF.InboundHeaders);

內容屬性與特定的訊息有關聯。 「傳訊引擎」不會將要求訊息中 SOAP 標頭的值自動對應至回應訊息。 建立 WCF 服務的回應訊息時,您必須透過 WCF 特別設定 SOAP 標頭值 。OutboundCustomHeaders 屬性。 下列命令是設定 SOAP 標頭內容屬性的最簡單方法:

outboundMessageInstance(WCF.OutbounCustomHeaders) = "<headers><Origination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Home</Origination><Destination xmlns=\"http://SOAPHeaderSchemas.OrigDestSOAPHeader\">Work</Destination></headers>"

您也可以建立 XmlDocument 並將 XmlDocument 的字串值寫入內容屬性,以設定內容屬性。

如需如何使用 WCF 配接器存取 SOAP 標頭的詳細資訊,請參閱 上的 https://go.microsoft.com/fwlink/?LinkId=79960 SDK 範例「搭配 WCF 配接器使用自訂 SOAP 標頭」。

另請參閱

使用管線元件 WCF配接器屬性架構和具有已取用 WCF 服務的 SOAP 標頭屬性存取 WCF 訊息中的 SOAP 標頭