共用方式為


指定 WCF 傳送配接器的 SOAP 動作

您可以在 WCF 傳送配接器的傳輸屬性對話框或編排中的 表達式 圖形中設定 WCF.Action 內容屬性。 如果您在協調流程中設定 WCF.Action 上下文屬性,必須在靜態傳送埠的 [WCF 配接器傳輸屬性] 對話框中將 [動作] 欄位留空。 如果您也在靜態傳送埠中指定動作,WCF.Action 上下文屬性將會覆寫您在編排中設定的內容。

此外,有兩種方式可以指定此屬性:單一動作格式和動作對應格式。 如果您以單一動作格式設定此屬性,例如 http://MyService/IMyContract/MyAction1,那麼 WCF 傳送配接器傳輸屬性對話方塊中的 SOAP 動作一律會設定為此屬性中指定的值。 或者,您可以在協調流程 表示式 圖形中設定單一動作格式。 例如,

OutboundMessage(WCF.Action)="http://MyService/IMyContract/MyAction1";  

如果您以動作對應格式設定此屬性,則傳出的 SOAP 動作是由 BTS.Operation 內容屬性決定的。 例如,如果在 WCF 傳送配接器傳輸屬性對話框中將此屬性設定為以下 XML 格式,且在協調流程傳送埠中將 BTS.Operation 屬性設為 Operation_1,WCF 傳送配接器將使用 http://MyService/IMyContract/MyAction1 來進行傳出 SOAP 操作。

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.Action 指定動作對應在 表達式 圖形中不支援。 您必須在 [WCF 傳輸屬性] 對話框中指定動作對應。 然後 WCF 配接器會使用 BTS.Operation 內容屬性來查閱 SOAP 動作,而編排會將此屬性設定為傳送訊息的埠上的作業名稱。

如果使用內容為基礎的路由(CBR) 傳送傳出訊息但未設定 http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation 屬性,WCF 傳送配接器會將整個動作對應字串設定為傳出WCF 訊息的動作。 若要解決此問題,您可以執行下列其中一項作業:

  • 傳送埠上的動作欄位設定為 http://MyService/IMyContract/MyAction1

  • 在管線中設定 BTS.Operation 的內容屬性。 例如,將的值 http://schemas.microsoft.com/BizTalk/2003/system-properties#Operation 設定為 Operation1。

  • 將動作欄位保留空白,並改用傳入訊息中的動作。

    您也可以使用 BizTalk WCF 服務取用精靈,透過單一動作或動作對應來取用 WCF 服務。 如需詳細資訊,請參閱 如何使用 BizTalk WCF 服務取用精靈來取用 WCF 服務

另請參閱

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