指定 WCF 傳送配接器的 SOAP 動作
您可以設定 WCF。 WCF 傳送配接器傳輸屬性對話方塊或協調流程 運算式 圖形中的動作內容屬性。 如果您設定 WCF。協調 流程中的動作內容屬性,您必須在靜態傳送埠的 [WCF 配接器傳輸屬性] 對話方塊中,將 [動作 ] 欄位保留空白。 如果您也會在靜態傳送埠中指定動作, 則為 WCF。 系統會覆寫您在協調流程中設定的動作內容屬性。
此外,有兩種方式可以指定此屬性:單一動作格式和動作對應格式。 如果您以單一動作格式來設定此屬性, http://MyService/IMyContract/MyAction1 例如,WCF 傳送配接器傳輸屬性對話方塊中的 SOAP 動作一律會設定為此屬性中指定的值。 或者,您可以在協調流程 運算式 圖形中設定單一動作格式。 例如
OutboundMessage(WCF.Action)="http://MyService/IMyContract/MyAction1";
如果您以動作對應格式設定此屬性,傳出 SOAP 動作是由 BTS 決定。作業 內容屬性。 例如,如果這個屬性設定為 WCF 傳送配接器傳輸屬性對話方塊和 BTS 中的下列 XML 格式 。作業 屬性會設定為 協調 流程中傳送埠中的Operation_1,WCF 傳送配接器會針對傳出 SOAP 動作使用 http://MyService/IMyContract/MyAction1 。
BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="Operation_1" Action="http://MyService/IMyContract/MyAction1" />
<Operation Name="Operation_2" Action="http://MyService/IMyContract/MyAction2" />
<Operation Name="Operation_3" Action="http://MyService/IMyContract/MyAction3" />
</BtsActionMapping>
指定 WCF 的動作對應 。 不支援 運算式 圖形中的動作。 您必須在 [WCF 傳輸屬性] 對話方塊中指定動作對應。 然後 WCF 配接器會使用 BTS 查閱 SOAP 動作 。作業 內容屬性,協調流程會設定為傳送訊息之埠上的作業名稱。
如果傳出訊息是以內容為基礎的路由傳送, (CBR) 屬性 http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation
未設定,WCF 傳送配接器會將整個動作對應字串設定為傳出 WCF 訊息的動作。 若要解決這個問題,您可以執行下列一種方法:
將傳送埠上的動作欄位設定為
http://MyService/IMyContract/MyAction1
。設定 BTS。管 線中的作業內容屬性。 例如,將 的值
http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation
設定為 Operation1。將動作欄位保留空白,並且改用內送訊息中的動作。
您也可以使用 [BizTalk WCF 服務使用精靈],來搭配使用 WCF 服務與單一動作或動作對應。 如需詳細資訊,請參閱 如何使用 BizTalk WCF 服務取用精靈來取用 WCF 服務。