如何使用 BizTalk WCF 服務發佈精靈來發佈繫結至協調流程連接埠之 WCF 接收位置的服務中繼資料
您可以使用 BizTalk WCF 服務發佈精靈來建立 WCF 服務,以便發佈繫結至協調流程連接埠之現有 WCF 接收位置的服務中繼資料。
注意
您必須先建置 BizTalk 專案,然後再執行 BizTalk WCF 服務發佈精靈。 BizTalk 專案必須包括至少有一個型別修飾詞為公用之接收埠的協調流程。 發佈 WCF 配接器的服務中繼資料之前,您也必須使用 BizTalk 管理主控台或 BizTalk Server隨附的 BTSTask 命令列工具來建立 WCF 接收位置。 如需如何建立 WCF 接收位置的詳細資訊,請參閱 WCF 配接器中每個 WCF 配接器的適當主題。
若要發佈繫結至協調流程連接埠之現有 WCF 接收位置的服務中繼資料
按一下[開始],指向[所有程式],指向[Microsoft BizTalk Server 20xx],然後按一下 [BizTalk WCF 服務發佈精靈]。
注意
若要建立並發佈 BizTalk 協調流程和結構描述的 WCF 服務中繼資料,您可以使用 BizTalk WCF 服務發佈精靈。 若要以 SOAP 配接器將協調流程和結構描述發佈成 Web 服務,您可以使用 BizTalk Web 服務發佈精靈。
在 [ 歡迎使用 BizTalk WCF 服務發佈精靈 ] 頁面上,按 [下一步]。
在 [ WCF 服務類型 ] 頁面上,選取 [僅限 Metdata 端點] (MEX) 選項,以發佈 WCF 服務,以提供您將在下一個步驟中選取之 WCF 接收位置的服務中繼資料。
在 [WCF 服務類型] 頁面上的 [ 發佈接收位置的中繼資料 ] 下拉式清單中,選取要發行服務中繼資料的 WCF 接收位置,然後按 [ 下一步]。
在 [ 建立 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>
。注意
精靈在 Web 應用程式的 [App_DataTemp] 資料夾中建立的 BindingInfo.xml 檔案會使用管線的預設值。 接收管線的預設值是 Microsoft.BizTalk.DefaultPipelines.XMLReceive 管線,而傳送管線的預設值是 Microsoft.BizTalk.DefaultPipelines.PassThruTransmit 管線。
在 [ WCF 服務摘要 ] 頁面上,檢閱 WCF 服務的設定。
按一下 [建立 ] 以建立 WCF 服務。
按一下 [完成] 以完成 BizTalk WCF 服務發佈精靈。
若要設定發佈服務中繼資料的 Web 應用程式
針對 BizTalk WCF 服務發佈精靈所建立的 Web 應用程式啟用 ASP.NET。 如需詳細資訊,請參閱 啟用 Web 服務。
注意
如果您正使用 Windows Server 2008 或 Windows Vista,就必須將應用程式集區的識別帳戶新增至 BizTalk Server Administrators 群組。 將適當的帳戶新增至 BizTalk Server 系統管理員群組之後,您必須重新啟動 IIS 服務,才能讓設定生效。
開啟命令提示字元、移至 %SystemDrive%\InetPub\ 中 BizTalk WCF 服務發佈精靈建立 WCF 服務的資料夾,然後使用 [記事本] 來開啟 Web.config 檔案。
在 [記事本] 中,在system.web > 元素內 <新增下列這一行:
<trust level="Full" originUrl="" />
注意
這項設定是選擇性的,而且它會將受限於作業系統安全性之任何資源的存取權授與主控已發佈之 WCF 服務的 ASP.NET 應用程式。 當您在同一部電腦上安裝和執行 Windows SharePoint Services 以及已發佈的 WCF 服務時,這就是 WCF 所需的信任層級。
在 Internet Explorer 的 [位址] 方塊中,使用 HTTP:// host[:p ort]/apppath/wcfservicename.svc格式輸入 WCF 服務的 URL,以測試已發佈的 WCF 服務。 下表將描述這些參數。
參數 值 host[:port] 您已部署 WCF 服務之電腦的名稱。 冒號和連接埠編號可以接在這個伺服器名稱後面。 apppath 虛擬目錄的名稱和 Web 應用程式路徑。 wcfservicename.svc WCF 服務 .svc 檔案的名稱。 為了避免不小心洩露可能含有機密的服務中繼資料,我們建議您透過執行下列工作,在實際執行環境中停用這種行為:
在 [記事本] 中,開啟 Web.config,此檔案位於 %SystemDrive%\InetPub\ 底下 BizTalk WCF 服務發佈精靈建立 WCF 服務的資料夾中。
在 [記事本] 中,將serviceMetadata > 元素中的 <HTTPGetEnabled屬性設定為 false,如下列這一行所示:
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
另請參閱
如何使用 BizTalk WCF 服務發佈精靈來發佈根據訊息內容決定路由之 WCF 接收位置的服務中繼資料
逐步解說:使用 WCF-NetMsmq 配接器發佈 WCF 服務