共用方式為


指定 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 服務

另請參閱

使用 WCF 配接器內容屬性設定動態傳送埠