當您建立已取用 Web 服務的 Web 連接埠時,您可以選取動態埠系結。 當您選取動態埠系結時,必須在運行時間設定取用Web服務的URI。 選取的 URI 必須呼叫一個 Web 服務,此 Web 服務應具有與您用於建立 Web 端口類型的 Web 服務相同的 Web 代理。
備註
本主題描述如何在協調流程中以程式設計方式設定動態SOAP傳送埠屬性。 不過,您也可以在協調流程或自定義管線元件中設定這些屬性,不論傳送埠是靜態或動態的。 如需自定義管線元件的詳細資訊,請參閱 開發自定義管線元件。
Web 埠的動態埠系結行為與非Web埠的動態埠系結行為不同。 選取非 Web 埠的動態系結時,您無法使用 SOAP 配接器。
使用動態 Web 埠來取用 Web 服務時,傳送埠屬性會設定為預設值。 其中有些值是在內部設定,而其他值預設為 SOAP配接器處理程式 屬性頁中所設定的值。 當您使用動態傳送埠時,您可以在協調流程中覆寫這些值。 如需詳細資訊,請參閱 取用Web服務時的考慮。
動態變更已取用 Web 服務的 URI
新增 Web 埠,如 如何新增 Web 埠中所述。 不過,不要選取 [ 立即指定 埠系結],而是選取 [動態 埠系結],如下圖所示。
在呼叫已取用 Web 服務的協調流程中,在您連線到 Web 埠的傳送圖形之前,於某個時間點新增表達式圖形。
在 [表達式 ] 圖形中,新增類似下列的表達式:
myWebPort(Microsoft.XLANGs.BaseTypes.Address) = "http://orders/myCompany.asmx";
備註
您可以從各種位置擷取 BizTalk 運算式編輯器中使用的 URI,包括傳入訊息、SQL 資料庫或企業營運應用程式。
動態修改傳送埠屬性
在您用來建構 Web 訊息的 建構訊息 圖形中,若尚未存在 訊息指派 圖形,請新增一個。
在 [訊息指派 ] 圖形中,新增類似下列的表達式:
myWebMessage(SOAP.UseSSO) = true;
SOAP 傳送埠的所有屬性都會使用SOAP命名空間。
下表包含使用動態 Web 埠時可設定的 SOAP 傳送埠屬性清單。
屬性名稱 | 類型 | 說明 |
---|---|---|
AuthenticationScheme | 繩子 | 用來呼叫 Web 服務的驗證方法 默認值:匿名 其他允許的值:基本、摘要、NTLM |
使用者名稱 | 繩子 | 要指定用來存取目標 Web 服務的用戶名稱。 默認值:空白 |
密碼 | 繩子 | 要用於向伺服器進行驗證的用戶密碼。 默認值:空白 |
ClientCertificate | 繩子 | 用戶端安全套接字層 (SSL) 憑證的指紋。 默認值:空白 |
UseSSO | 布爾邏輯 | 指出此 Web 埠是否會使用 Single Sign-On (SSO)。 默認值:False |
AffiliateApplicationName | 繩子 | 用於此 Web 埠以兌換客戶端憑證票證的 SSO 應用程式名稱。 默認值:空白 |
UseHandlerSetting | 布爾邏輯 | 指出此 Web 埠是否會使用 SOAP 傳送處理程式 HTTP Proxy 設定。
注意: 如果已設定 UseProxy 內容屬性,則會忽略 UseHandlerSetting 內容屬性。 默認值:False |
UseProxy | 布爾邏輯 | 指出此 Web 埠是否會使用 Proxy 伺服器來存取目標 Web 服務。
注意: 如果已設定 UseProxy 內容屬性,則會忽略 UseHandlerSetting 內容屬性。 默認值:False |
ProxyAddress | 繩子 | 要用於 Web 服務呼叫的 HTTP Proxy 位址。 默認值:從 SOAP 傳送處理程式屬性擷取。 |
ProxyPort | 整數 | 要用於 Web 服務呼叫的 HTTP Proxy 連接埠。 默認值:從 SOAP 傳送處理程式屬性擷取。 |
ProxyUsername | 繩子 | 要用於 HTTP Proxy 的用戶名稱。 默認值:從 SOAP 傳送處理程式屬性擷取。 |
ProxyPassword | 繩子 | 要用於 HTTP Proxy 的密碼。 默認值:從 SOAP 傳送處理程式屬性擷取。 |
ClientConnectionTimeout(客戶端連線超時) | Int32 | HTTP 用戶端連線的逾時值。 默認值:與 ASP.NET HTTP 連線逾時的預設值相同。 |
TypeName | 繩子 | 指定要叫用之 Web 方法的類別名稱。 默認值:空白 |
MethodName | 繩子 | 指定將叫用之類別的方法。
注意:若要以程式設計方式設定靜態 SOAP 傳送埠的 MethodName 屬性,您必須在 BizTalk Server 管理控制台的 [SOAP 傳輸屬性] 對話框的 [Web 服務] 索引卷標中,將 [方法名稱] 設定為 [稍後指定]。 如需SOAP傳輸屬性對話框的詳細資訊,請參閱UI指引和開發人員 API 命名空間參考中的SOAP傳輸屬性對話框、Web服務索引標籤。 默認值:空白 |
組件名稱 | 繩子 | 識別要載入和執行的 .NET 類型和元件。 默認值:空白 |
UnknownHeaders | 繩子 | 指定未知 SOAP 標頭的串行化清單。 默認值:空白 |
UserDefined | 繩子 | 定義使用者定義類別 默認值:空白 |
UseSoap12 | 布爾邏輯 | 指定 以產生將支援SOAP 1.2通訊協定的 Proxy 程式代碼。 如果此屬性為 False,則會產生符合 SOAP 1.1 規範的 Proxy 程式代碼。 默認值:False |
備註
除了 ClientConnectionTimeout 設定之外,這些值只能在使用 動態 埠系結時動態設定。 使用立即指定埠綁定時,它們是唯讀的。 您可以使用 [立即指定] 和 [動態埠系結] 來設定 ClientConnectionTimeout 設定。