共用方式為


如何使用 BizTalk WCF 服務發佈精靈將協調流程發佈為 WCF 服務

您可以使用 [BizTalk WCF 服務發佈精靈] 將協調流程發佈為 WCF 服務。

注意

您必須先建置 BizTalk 專案,然後再執行 BizTalk WCF 服務發佈精靈。 BizTalk 專案必須包括至少有一個型別修飾詞為公用之接收埠的協調流程。 當連接埠建立時,這個類型修飾詞會存在協調流程的屬性中。

若要將協調流程發佈為 WCF 服務

  1. 按一下[開始],指向[所有程式],指向 [BizTalk Server],然後按一下 [BizTalk WCF 服務發佈精靈]。

    注意

    您可以使用 [BizTalk WCF 服務發佈精靈] 來建立 BizTalk 協調流程和結構描述,並使用 WCF 配接器將它們發佈為 WCF 服務。 若要以 SOAP 配接器將協調流程和結構描述發佈成 Web 服務,您可以使用 BizTalk Web 服務發佈精靈。

  2. 在 [ 歡迎使用 BizTalk WCF 服務發佈精靈 ] 頁面上,按 [ 下一步]。

  3. [WCF 服務類型] 頁面上,選取 [ 服務端點 ] 選項,在 BizTalk 元件中選取的 BizTalk 協調流程上發佈 WCF 服務。

    WCF 服務類型頁面

  4. [WCF 服務類型] 頁面上,選取 [ 啟用中繼資料端點 ] 核取方塊,指出 Internet Information Services 所裝載的隔離 WCF 接收位置是否 (IIS) 發佈服務中繼資料,以使用 HTTP/GET 要求進行擷取。 藉由啟用此核取方塊,精靈會產生 Web.config serviceMetadata > 元素的 <HTTPGetEnabled屬性設定為true。 您可以在開發環境中使用中繼資料匯入工具 (例如 SvcUtil.exe) 產生呼叫此服務所需的用戶端程式碼。 發佈中繼資料的位址是端點位址加上 ?wsdl 查詢字串。

    注意

    為避免不慎洩露較為機密的服務中繼資料,建議您在實際執行環境中停用此行為。 這可透過將 httpgetenabled 設為 False 或刪除 MEX 虛擬目錄來完成。

  5. [WCF 服務類型] 頁面上,于 [配接器名稱] ([傳輸類型) ] 下 拉式清單中,選取 WCF 服務發佈的隔離 WCF 配接器。 您可以選取下列任何一個配接器:

    • WCF-BasicHttp。 WCF-BasicHttp 配接器可以與 WS-I 基本設定檔 1.1 相符的 Web 服務 (例如以 ASMX 為基礎的服務) 通訊。

    • WCF-WSHttp。 WCF-WSHttp 配接器可以透過 HTTP 和 HTTPS 上的 WS-* 標準,與服務進行通訊。

    • WCF-CustomIsolated。 WCF-CustomIsolated 配接器可以在 HTTP 傳輸上啟用 Windows Communication Foundation (WCF) 擴充性功能。

  6. [WCF 服務類型 ] 頁面上,選取 [ 在下列應用程式中建立 BizTalk 接收位置 ] 核取方塊,以針對您在 [配接器 名稱 ] 下拉式清單中選取的 WCF 配接器,建立對應至每個產生的 .svc 檔案的接收埠和位置。 如果接收位置已經存在,則不會取代該接收位置。 選取此選項之後,請選擇要在 [BizTalk 應用程式名稱 ] 下拉式清單中產生接收埠和位置的應用程式,然後按 [ 下一步]。

  7. 在 [ 建立 WCF 服務 ] 頁面上,選取 [將 BizTalk 協調流程發佈為 WCF 服務],然後按 [ 下一步]。

    建立 WCF 服務頁面

  8. [BizTalk 元件 ] 頁面上,于 [BizTalk 元件檔案 (*.dll) ] 文字方塊中,輸入 BizTalk 元件檔案的名稱,或按一下 [ 流覽 ] 流覽至包含協調流程 () 發行的元件,然後按 [ 下一步]。

    注意

    選擇 BizTalk 組件檔案之前,請將所有相依的組件複製到與 BizTalk 組件相同的資料夾中,或將這些相依組件安裝至全域組件快取 (GAC)。

    注意

    如果您將 BizTalk 元件檔案安裝到 GAC 中,請確定 GAC 中的元件已更新為您將在 [BizTalk 元件 ] 對話方塊中選取的元件。 如果 GAC 中的組件具有相同的完整格式名稱,BizTalk WCF 服務發佈精靈就會使用 GAC 中的組件檔案,而非您所選取的組件檔案。

    注意

    長度超過 260 個字元的路徑可能會導致路徑太長的錯誤訊息出現。

    BizTalk 元件頁面

  9. 在 [ 協調流程和埠 ] 頁面上,按一下加號 (+) ,展開每個元件和協調流程的樹狀節點。 透過選取對應樹狀節點的核取方塊,選取要發佈的協調流程和連接埠。 如果您想要為所有選取的接收埠建立一個 WCF 服務 (.svc 檔案) ,而不是針對每個接收埠建立一個 WCF 服務,請選取 [ 將所有選取的埠合併成單一 WCF 服務 ] 選項,然後按 [ 下一步]。

    注意

    當您將所有選取的連接埠合併成單一 WCF 服務時,所有選取的連接埠都會具有相同的連接埠類型,而且這些連接埠中的作業名稱都是唯一的。

    作業和埠頁面

  10. [WCF 服務屬性 ] 頁面的 [ WCF 服務目標名稱空間 ] 文字方塊中,輸入 WCF 服務的目標命名空間,然後按 [ 下一步]。

    WCF 服務屬性頁面

  11. 在 [ WCF 服務位置] 頁面的 [ 位置 ] 文字方塊中,輸入產生 WCF 服務的 Web 目錄名稱。 您可以接受預設位置 (http://localhost/<BizTalk Assembly Name>) 、在 [ 位置 ] 文字方塊中輸入 WCF 服務的位置,或按一下 [ 流覽 ] 並選取 Web 目錄。 接著,選取下列任何一個選項:

    • 覆寫現有專案。 這個選項只有在 Web 目錄已經存在時才能使用。 只有當您選取了這個選項時,才能夠發佈至相同的位置。 否則,您必須輸入不同的專案位置。

    • 允許匿名存取 WCF 服務。 這個選項會新增已建立之虛擬目錄的匿名存取。 根據預設,虛擬目錄會從其父虛擬目錄或網站 (如果它是最上層虛擬目錄的話) 繼承存取權限。

      當您完成此頁面時,請按 [ 下一步]。

      WCF 服務位置頁面

    注意

    專案位置可以存在不同的伺服器上。 若要將 WCF 服務發佈至不同的伺服器,請將專案名稱輸入為 http://<servername>/<WCF service location>

    注意

    專案位置可以存在非預設的網站上。 發佈至非預設的網站時,請在 URL 中加入網站的連接埠編號。 例如: http://<servername>:8080/<WCF service location>

    注意

    在使用精靈建立接收位置時,精靈會使用預設值來建立接收位置。 接收管線的預設值是 Microsoft.BizTalk.DefaultPipelines.PassThruReceive 管線。 如果透過已發佈 WCF 服務收到的訊息需要任何特殊的管線處理 (例如驗證、相互關聯/屬性升級或輸入/輸出對應) 則您應該使用 BizTalk Server 管理主控台,將接收管線設定為Microsoft.BizTalk.DefaultPipelines.XMLReceive或自訂管線。

    注意

    如果您在到達此頁面之後決定不要使用 發佈協調流程作為 WCF 服務 選項,在 [ 建立 WCF 服務 ] 頁面上,您可能會看到 Web 服務描述 會顯示您在變更發佈選項之前所選取 BizTalk 元件的服務和方法名稱。 這是因為發佈方法變更時,記憶體中的 Web 服務描述並未清除。

  12. [WCF 服務摘要] 頁面上,檢閱 WCF 服務的設定。

  13. 按一下 [建立 ] 以建立 WCF 服務。

  14. 按一下 [完成] 以完成 BizTalk WCF 服務發佈精靈。

  15. 在使用 [BizTalk WCF 服務發佈精靈] 發佈 WCF 服務之後,您還必須適當設定這些服務。 如需如何設定隔離 WCF 接收配接器的資訊,請參閱 如何設定使用 BizTalk WCF 服務發佈精靈發佈的 WCF 服務

另請參閱

如何用 BizTalk WCF 服務發佈精靈來設定已發佈 WCF 服務。
逐步解說:使用 WCF-BasicHttp 配接器發佈 WCF 服務
如何使用 BizTalk WCF 服務發佈精靈將結構描述發佈為 WCF 服務