如何使用 BizTalk WCF 服務發佈精靈將協調流程發佈為 WCF 服務
您可以使用 [BizTalk WCF 服務發佈精靈] 將協調流程發佈為 WCF 服務。
注意
您必須先建置 BizTalk 專案,然後再執行 BizTalk WCF 服務發佈精靈。 BizTalk 專案必須包括至少有一個型別修飾詞為公用之接收埠的協調流程。 當連接埠建立時,這個類型修飾詞會存在協調流程的屬性中。
若要將協調流程發佈為 WCF 服務
按一下[開始],指向[所有程式],指向 [BizTalk Server],然後按一下 [BizTalk WCF 服務發佈精靈]。
注意
您可以使用 [BizTalk WCF 服務發佈精靈] 來建立 BizTalk 協調流程和結構描述,並使用 WCF 配接器將它們發佈為 WCF 服務。 若要以 SOAP 配接器將協調流程和結構描述發佈成 Web 服務,您可以使用 BizTalk Web 服務發佈精靈。
在 [ 歡迎使用 BizTalk WCF 服務發佈精靈 ] 頁面上,按 [ 下一步]。
在 [WCF 服務類型] 頁面上,選取 [ 服務端點 ] 選項,在 BizTalk 元件中選取的 BizTalk 協調流程上發佈 WCF 服務。
在 [WCF 服務類型] 頁面上,選取 [ 啟用中繼資料端點 ] 核取方塊,指出 Internet Information Services 所裝載的隔離 WCF 接收位置是否 (IIS) 發佈服務中繼資料,以使用 HTTP/GET 要求進行擷取。 藉由啟用此核取方塊,精靈會產生 Web.config serviceMetadata > 元素的 <HTTPGetEnabled屬性設定為true。 您可以在開發環境中使用中繼資料匯入工具 (例如 SvcUtil.exe) 產生呼叫此服務所需的用戶端程式碼。 發佈中繼資料的位址是端點位址加上 ?wsdl 查詢字串。
注意
為避免不慎洩露較為機密的服務中繼資料,建議您在實際執行環境中停用此行為。 這可透過將 httpgetenabled 設為 False 或刪除 MEX 虛擬目錄來完成。
在 [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) 擴充性功能。
在 [WCF 服務類型 ] 頁面上,選取 [ 在下列應用程式中建立 BizTalk 接收位置 ] 核取方塊,以針對您在 [配接器 名稱 ] 下拉式清單中選取的 WCF 配接器,建立對應至每個產生的 .svc 檔案的接收埠和位置。 如果接收位置已經存在,則不會取代該接收位置。 選取此選項之後,請選擇要在 [BizTalk 應用程式名稱 ] 下拉式清單中產生接收埠和位置的應用程式,然後按 [ 下一步]。
在 [ 建立 WCF 服務 ] 頁面上,選取 [將 BizTalk 協調流程發佈為 WCF 服務],然後按 [ 下一步]。
在 [BizTalk 元件 ] 頁面上,于 [BizTalk 元件檔案 (*.dll) ] 文字方塊中,輸入 BizTalk 元件檔案的名稱,或按一下 [ 流覽 ] 流覽至包含協調流程 () 發行的元件,然後按 [ 下一步]。
注意
選擇 BizTalk 組件檔案之前,請將所有相依的組件複製到與 BizTalk 組件相同的資料夾中,或將這些相依組件安裝至全域組件快取 (GAC)。
注意
如果您將 BizTalk 元件檔案安裝到 GAC 中,請確定 GAC 中的元件已更新為您將在 [BizTalk 元件 ] 對話方塊中選取的元件。 如果 GAC 中的組件具有相同的完整格式名稱,BizTalk WCF 服務發佈精靈就會使用 GAC 中的組件檔案,而非您所選取的組件檔案。
注意
長度超過 260 個字元的路徑可能會導致路徑太長的錯誤訊息出現。
在 [ 協調流程和埠 ] 頁面上,按一下加號 (+) ,展開每個元件和協調流程的樹狀節點。 透過選取對應樹狀節點的核取方塊,選取要發佈的協調流程和連接埠。 如果您想要為所有選取的接收埠建立一個 WCF 服務 (.svc 檔案) ,而不是針對每個接收埠建立一個 WCF 服務,請選取 [ 將所有選取的埠合併成單一 WCF 服務 ] 選項,然後按 [ 下一步]。
注意
當您將所有選取的連接埠合併成單一 WCF 服務時,所有選取的連接埠都會具有相同的連接埠類型,而且這些連接埠中的作業名稱都是唯一的。
在 [WCF 服務屬性 ] 頁面的 [ WCF 服務目標名稱空間 ] 文字方塊中,輸入 WCF 服務的目標命名空間,然後按 [ 下一步]。
在 [ WCF 服務位置] 頁面的 [ 位置 ] 文字方塊中,輸入產生 WCF 服務的 Web 目錄名稱。 您可以接受預設位置 (
http://localhost/<BizTalk Assembly Name>
) 、在 [ 位置 ] 文字方塊中輸入 WCF 服務的位置,或按一下 [ 流覽 ] 並選取 Web 目錄。 接著,選取下列任何一個選項:覆寫現有專案。 這個選項只有在 Web 目錄已經存在時才能使用。 只有當您選取了這個選項時,才能夠發佈至相同的位置。 否則,您必須輸入不同的專案位置。
允許匿名存取 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 服務描述並未清除。
在 [WCF 服務摘要] 頁面上,檢閱 WCF 服務的設定。
按一下 [建立 ] 以建立 WCF 服務。
按一下 [完成] 以完成 BizTalk WCF 服務發佈精靈。
在使用 [BizTalk WCF 服務發佈精靈] 發佈 WCF 服務之後,您還必須適當設定這些服務。 如需如何設定隔離 WCF 接收配接器的資訊,請參閱 如何設定使用 BizTalk WCF 服務發佈精靈發佈的 WCF 服務。
另請參閱
如何用 BizTalk WCF 服務發佈精靈來設定已發佈 WCF 服務。
逐步解說:使用 WCF-BasicHttp 配接器發佈 WCF 服務
如何使用 BizTalk WCF 服務發佈精靈將結構描述發佈為 WCF 服務