共用方式為


如何動態設定已使用之 Web 服務的 URI

為已使用的 Web 服務建立 Web 連接埠時,可以選取動態連接埠繫結。 選取動態連接埠繫結時,您必須在執行階段設定已使用之 Web 服務的 URI。 已選取的 URI 所呼叫的 Web 服務,必須和您用來建立 Web 連接埠類型的 Web 服務具備相同的 Web Proxy。

注意

本主題說明如何以程式設計的方式,在協調流程中設定動態 SOAP 傳送埠屬性。 然而,不管傳送埠是靜態還是動態的,您都可以在協調流程或自訂的管線元件中設定這些屬性。 如需自訂管線元件的詳細資訊,請參閱 開發自訂管線元件

Web 連接埠的動態連接埠繫結與非 Web 連接埠的動態連接埠繫結,具有不同的行為。 選取非 Web 連接埠的動態繫結時,無法使用 SOAP 配接器。

以動態 Web 連接埠使用 Web 服務時,傳送埠屬性會設定為預設值。 其中有些值會在內部設定,而其他值預設為 SOAP 配接器處理常式 屬性頁中所設定的值。 使用動態傳送埠時,您可以覆寫協調流程中的這些值。 如需詳細資訊,請參閱 取用 Web 服務時的考慮

動態變更已取用 Web 服務的 URI

  1. 新增 Web 埠,如 如何新增 Web 埠中所述。 不過,不選取 [ 立即指定 埠系結],而是選取 [動態 埠系結],如下圖所示。

    顯示 [埠系結] 畫面的影像。

  2. 在呼叫已取用 Web 服務的協調流程中,在您連線至 Web 埠的傳送圖形之前,于某個時間點新增運算式圖形。

  3. [運算式] 圖形中,新增類似下列的運算式:

    myWebPort(Microsoft.XLANGs.BaseTypes.Address) = "http://orders/myCompany.asmx";  
    

注意

您可從不同位置 (包含內送訊息、SQL 資料庫或企業營運系統應用程式),擷取 [BizTalk 運算式編輯器] 中所使用的 URI。

動態修改傳送埠屬性

  1. 在用來建構 Web 訊息的建構訊息 圖形中,如果尚未存在,請新增 訊息指派 圖形。

  2. 在 [ 訊息指派] 圖形中,新增類似下列的運算式:

    myWebMessage(SOAP.UseSSO) = true;  
    

    SOAP 傳送埠的所有屬性都是使用 SOAP 命名空間。

    下表列出使用動態 Web 連接埠時您可以設定的 SOAP 傳送埠屬性。

屬性名稱 類型 Description
AuthenticationScheme 字串 呼叫 Web 服務所使用的驗證方法

預設值:匿名

其他允許的值:基本、摘要、NTLM
使用者名稱 String 指定要用於存取目標 Web 服務的使用者名稱。

預設值:空白
密碼 String 要提供給伺服器驗證的使用者密碼。

預設值:空白
ClientCertificate 字串 用戶端安全通訊端層 (SSL) 憑證的指紋。

預設值:空白
UseSSO Boolean 指示此 Web 連接埠是否使用「單一登入」(SSO)。

預設值:False
AffiliateApplicationName 字串 此 Web 連接埠將用於贖回用戶端認證票證的 SSO 應用程式名稱。

預設值:空白
UseHandlerSetting Boolean 指示此 Web 連接埠是否使用 SOAP 傳送處理常式的 HTTP Proxy 設定。 注意: 如果已設定 UseProxy 內容屬性,則會忽略 UseHandlerSetting 內容屬性。

預設值:False
UseProxy Boolean 指示此 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管理主控台] 的 [WEB 服務] 索引標籤中,將[方法名稱] 設定為[稍後指定]。 如需SOAP 傳輸屬性對話方塊的詳細資訊,請參閱UI 指引和開發人員 API 命名空間參考中的SOAP 傳輸屬性對話方塊、Web 服務索引標籤。

預設值:空白
AssemblyName 字串 識別要載入和執行的 .NET 類型與組件。

預設值:空白
UnknownHeaders 字串 指定未知 SOAP 標頭的序列化清單。

預設值:空白
UserDefined 字串 定義使用者定義的類別

預設值:空白
UseSoap12 Boolean 指定產生支援 SOAP 1.2 通訊協定的 Proxy 程式碼。 若此屬性為 False,則會產生 SOAP 1.1 相容的 Proxy 程式碼。

預設值:False

注意

除了 ClientConnectionTimeout 設定之外,這些值只能在使用 動態 埠系結時動態設定。 使用 [立即指定 ] 埠系結時,它們是唯讀的。 您可以使用[立即指定] 和 [動態埠系結] 來設定ClientConnectionTimeout設定。

另請參閱

SOAP 標頭與已使用的 Web 服務
建立 Web 連接埠