共用方式為


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

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

注意

您必須先建置自己的 BizTalk 專案,才可以執行 [BizTalk Web 服務發佈精靈]。

注意

您也可以使用命令列工具 BTSWebSvcPub.exe,將協調流程發佈為 Web 服務。 如需詳細資訊,請參閱 BTSWebSvcPub Command-Line 參考

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

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

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

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

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

    注意

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

    注意

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

    注意

    如果在包含協調流程的 Visual Studio 中開啟 [BizTalk Web 服務發佈精靈],BizTalk 組件檔中會填入包含此協調流程的組件。

    注意

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

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

    注意

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

  6. [Web 服務屬性]頁面的 [Web 服務目標命名空間] 方塊中,輸入 Web 服務的目標命名空間,選取適當的方塊以指定精靈如何處理 SOAP 標頭,以及SharePoint Portal Server 2007 單一 Sign-On (SSO) Web 服務的支援。 如果您想要進一步自訂 Web 服務實作,請按一下 [ 進階 ] 按鈕。 如此將顯示更多可用的選項:

    選項 Description
    SOAP 參數樣式 預設 這個選項會指定參數在 SOAP 訊息中格式化的方式。 如需詳細資訊,請參閱 的 https://go.microsoft.com/fwlink/?LinkId=62259 SoapParameterStyle 列舉。
    SOAP 參數樣式 Bare 這個選項會指定參數在 SOAP 訊息中格式化的方式。 如需詳細資訊,請參閱 的 https://go.microsoft.com/fwlink/?LinkId=62259 SoapParameterStyle 列舉。
    SOAP 參數樣式 Wrapped 這個選項會指定參數在 SOAP 訊息中格式化的方式。 如需詳細資訊,請參閱 的 https://go.microsoft.com/fwlink/?LinkId=62259 SoapParameterStyle 列舉。
    相容主張 這個選項會指定繫結主張所遵詢的「Web 服務互通性」(WSI) 規格。 如需詳細資訊,請參閱 WebServiceBindingAttribute.ConformsTo 屬性,網址為 https://go.microsoft.com/fwlink/?LinkId=193064
    相容主張 WS-I 基本設定檔 1.1 這個選項會指定繫結主張所遵詢的「Web 服務互通性」(WSI) 規格。 如需詳細資訊,請參閱 WebServiceBindingAttribute.ConformsTo 屬性,網址為 https://go.microsoft.com/fwlink/?LinkId=193064
    強制要求回應 [預設] 這個選項會指定單向 BizTalk 作業是否應該公開為要求-回應的 Web 方法。 預設是不強制單向旗標。
    強制要求回應 No 這個選項會指定單向 BizTalk 作業是否應該公開為要求-回應的 Web 方法。 預設是不強制單向旗標。
    強制要求回應 Yes 這個選項會指定單向 BizTalk 作業是否應該公開為要求-回應的 Web 方法。 預設是不強制單向旗標。
  7. 在 [ Web 服務屬性 ] 頁面上,按 [ 下一步]。

    注意

    所有選取的 SOAP 標頭選項,都會全域套用至執行這個精靈執行個體時所建立的所有 Web 服務和 Web 方法。

  8. 如果您選取 [新增其他 SOAP 標頭 ] 選項,[ 要求 SOAP 標頭 ] 和 [ 回應 SOAP 標頭] 頁面隨即出現。 您可以使用下列對話方塊中的 [新增] 和 [移除] 按鈕 ,新增移除 要求和回應 SOAP 標頭:

    • 若要新增 SOAP 標頭,請按一下 [ 新增]。 在 [BizTalk 元件檔案 (*.dll) ] 文字方塊中,輸入或流覽包含 SOAP 標頭架構的元件。 [可用的架構類型] 清單檢視會顯示架構的每個根項目。 選取要新增為要求或回應 SOAP 標頭的根節點。 若要選取多個專案,請按住 CTRL 鍵,然後按一下 [ 確定]。

    • 若要從清單中移除 SOAP 標頭,請從新增的 SOAP 標頭清單中選取它,然後按一下 [ 移除]。

    • 按一下每個SOAP 標頭頁面上的 [下一步] 以繼續精靈。

    注意

    目標命名空間和根項目名稱會定義 SOAP 標頭。

    注意

    如果目標命名空間/根項目名稱的相同組合新增為要求和回應 SOAP 標頭,它將不會被視為輸入/輸出標頭。 您必須在協調流程內部,手動將內送標頭複製到外寄標頭。

    注意

    目標命名空間/根項目名稱的相同組合只能新增為要求 SOAP 標頭和回應 SOAP 標頭各一次。

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

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

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

    • 建立 BizTalk 接收位置。 這個選項會自動建立對應於每個產生之 .asmx 檔案的 SOAP 配接器接收埠和位置。 如果接收位置已經存在,則不會取代該接收位置。 SOAP 配接器的接收位置是使用 / <virtual directory name> / <orchestration namespace_typename_portname.asmx> 格式解析。 選取這個選項之後,再選擇將產生接收埠和位置的應用程式。

      注意

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

      注意

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

      注意

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

      注意

      當您從協調流程使用 (呼叫) Web 服務時,SOAP 配接器只支援通過型傳送管線。 您可以使用自訂傳送管線,但它不能包含會修改訊息內文部分的元件。 這些元件包括 XML 組合器和任何編碼元件。

      注意

      當您到達此頁面時,如果您選擇從 [ 發佈架構為 Web 服務 ] 選項返回,在 [Web 服務 ] 頁面中,您可能會看到 [Web 服務描述 ] 會顯示先前選取的 BizTalk 元件中的服務和方法名稱,然後再從 [發佈 BizTalk 協調流程] 作為 Web 服務 選項。 這是因為發佈方法變更時,記憶體中的 Web 服務描述並未清除。

  10. [下一步] 以檢閱 ASP.NET Web 服務專案的設定。

  11. 按一下 [建立 ] 以建立 ASP.NET Web 服務。

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

注意

如果要在 Windows Vista 上將某個協調流程發佈為 Web 服務,您必須更新裝載服務的虛擬目錄。 若要這樣做,請從命令提示字元發出下列命令,並將 vdir > 取代 < 為虛擬目錄的名稱: %systemroot%\system32\inetsrv\APPCMD.EXE 移轉 config 「Default Web Site/ < vdir name > 」。

另請參閱

將協調流程發佈為 Web 服務如何將協調流程對應至 Web 服務