如何使用 BizTalk WCF 服務發佈精靈將結構描述發佈為 WCF 服務
您會使用 [BizTalk WCF 服務發佈精靈] 將結構描述發佈為 WCF 服務。
注意
您必須先建置 BizTalk 專案,然後再執行 BizTalk WCF 服務發佈精靈。 BizTalk 專案必須包含結構描述,才能發佈為 WCF 服務。
將架構發佈為 WCF 服務
按一下[開始],指向[所有程式],指向[Microsoft BizTalk Server 20xx],然後按一下 [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 服務 ] 頁面上,選取 [ 發佈架構為 WCF 服務],然後按 [ 下一步]。
在 [ WCF 服務 ] 頁面上,定義要發佈的 WCF 服務 () 。 使用 [Web 服務描述 ] 對話方塊中的樹狀結構來新增、移除、重新命名及編輯 WCF 服務要發佈的 Web 服務描述節點。 [ 資訊 ] 對話方塊提供所選節點的相關資訊,並顯示目前節點或子節點中的任何錯誤:
樹狀結構的根節點 (Web 服務描述) 會描述要發佈的 WCF 服務。 虛擬目錄名稱會使用根節點做為預設名稱。 您可以選取 [重新命名 Web 服務描述],修改 WCF 服務要發佈的 Web 服務描述名稱。
預設服務節點 Operation1的 Web 方法節點 Service1,預設顯示在 [Web 服務描述 ] 對話方塊中,可用於要求-回應接收位置。 如果您打算發佈此服務描述的單向 WCF 接收位置,請以滑鼠右鍵按一下預設 Web 方法節點,按一下 [ 刪除 Web 方法],然後建立單向 Web 方法,如下所示:以滑鼠右鍵按一下預設服務節點,指向 [新增 Web 方法],然後按一下 [單向]。
若要新增 WCF 服務,請以滑鼠右鍵按一下 Web 服務描述名稱,然後按一下 [ 新增 Web 服務]。 這樣便會建立新的 WCF 服務,而不需要進行任何 WCF 作業。 若要修改 WCF 服務的名稱,請以滑鼠右鍵按一下 WCF 服務節點,按一下 [重新命名 Web 服務],然後按 ENTER 以接受新名稱。
若要新增 WCF 作業,請以滑鼠右鍵按一下 WCF 服務節點,指向 [ 新增 Web 方法],然後按一下要求 WCF 作業的單 向 () 或要求回應 (,以取得要求 -回應 WCF 作業) 。
若要設定要求和回應架構類型,請以滑鼠右鍵按一下 [要求 ] 或 [ 回應 ] 節點,然後按一下 [ 選取架構類型]。 在 [ 要求訊息類型 ] 對話方塊中,在 [BizTalk 元件檔] 文字方塊中輸入包含檔架構的元件名稱,或按一下 [ 流覽 ] 來搜尋元件。 [可用的架構類型] 清單檢視會顯示架構的每個根項目。 選取要新增為要求或回應結構描述類型的根節點。
注意
如果您將 BizTalk 元件檔安裝到全域組件快取中, (GAC) ,請確定 GAC 中的元件已更新為您將在 [ 要求訊息類型 ] 對話方塊中選取的元件。 如果 GAC 中的組件具有相同的完整格式名稱,[BizTalk WCF 服務發佈精靈] 就會使用 GAC 中的組件檔案,而非您所選取的檔案。
您可以重新命名 要求 和 回應 節點,而不會影響產生的程式碼。 在定義結構描述之後,您便可以重新命名部分項目,這樣做會修改 WCF 作業參數名稱。 您可以透過檢視 WCF 服務所要發佈的服務中繼資料,查看這些變更。
注意
重新命名任何 Web 服務描述節點時,不可以使用空格。
按 [下一步] 繼續精靈。
在 [ WCF 服務屬性] 頁面上的 [ WCF 服務目標名稱] 文字方塊中,輸入 WCF 服務的目標命名空間,然後按 [ 下一步]。
在 [WCF 服務位置] 頁面上的 [ 位置 ] 文字方塊中,輸入產生 WCF 服務的 Web 目錄名稱。 您可以接受預設位置 (
http://localhost/<Web service description name>
) 、在 [ 位置 ] 文字方塊中輸入 WCF 服務的位置,或按一下 [ 流覽 ] 並選取 Web 目錄。 接著,選取下列任何一個選項:覆寫現有專案。 此選項只有在 Web 目錄已存在時才能使用。 只有當您選取了這個選項時,才能夠發佈至相同的位置。 否則,您必須輸入不同的專案位置。
允許匿名存取 WCF 服務。 這個選項會新增已建立之虛擬目錄的匿名存取。 根據預設,虛擬目錄會從其父虛擬目錄或網站 (如果它是最上層虛擬目錄的話) 繼承存取權限。
當您完成此頁面時,請按 [ 下一步]。
注意
專案位置可以存在不同的伺服器上。 若要將 WCF 服務發佈至不同的伺服器,請將專案名稱輸入為
http://<servername>/<WCF service location>
。注意
專案位置可以存在非預設的網站上。 發佈至非預設的網站時,請在 URL 中加入網站的連接埠編號。 例如:
http://<servername>:8080/<WCF service location>
。注意
在使用精靈建立接收位置時,精靈會使用預設值來建立接收位置。 接收管線的預設值是 Microsoft.BizTalk.DefaultPipelines.PassThruReceive 管線。 如果透過已發佈 WCF 服務收到的訊息需要任何特殊的管線處理 (例如驗證、相互關聯/屬性升級或輸入/輸出對應) ,則您應該使用 BizTalk 管理主控台將接收管線設定為 Microsoft.BizTalk.DefaultPipelines.XMLReceive或自訂管線。
在 [ WCF 服務摘要 ] 頁面上,檢閱 WCF 服務的設定。
按一下 [建立 ] 以建立 WCF 服務。
按一下 [完成] 以完成 BizTalk WCF 服務發佈精靈。
在使用 [BizTalk WCF 服務發佈精靈] 發佈 WCF 服務之後,您還必須適當設定這些服務。 如需如何設定隔離 WCF 接收配接器的詳細資訊,請參閱 如何設定使用 BizTalk WCF 服務發佈精靈發佈的 WCF 服務。
另請參閱
如何用 BizTalk WCF 服務發佈精靈來設定已發佈 WCF 服務。
逐步解說:使用 WCF-BasicHttp 配接器發佈 WCF 服務
如何使用 BizTalk WCF 服務發佈精靈將協調流程發佈為 WCF 服務