共用方式為


逐步解說:利用 WCF-BasicHttp 配接器使用 WCF 服務

注意

如需介面卡的詳細資訊,請參閱BizTalk Server 中的配接器。

簡介

在本逐步解說中,您將使用使用 BizTalk 傳訊和 WCF-BasicHttp 傳送配接器,在 Internet Information Services (IIS) 內裝載的 Windows Communication Foundation (WCF) 服務。 此配接器會使用BasicHttpBinding系結來提供與舊版 Web 服務相容的傳輸/通訊協定堆疊實作,以作為 Microsoft BizTalk Server 與 WCF 功能之間的橋樑。 協調流程可以系結至使用 WCF 配接器來呼叫 WCF 服務的傳送埠,並在其邏輯商務處理中運用其功能。

WCF-BasicHttp 配接器包含傳送介面卡和接收配接器。 在此範例中,您只會使用此配接器的傳送端,透過 HTTP 通訊協定向 WCF 服務提出 WCF 服務要求。 對於 Solicit-Response 傳送埠,傳送配接器會傳送至 WCF 服務,並接收結果回應。 相反地,WCF 接收配接器可讓 WCF 用戶端應用程式在外部發佈和呼叫BizTalk Server協調流程。 如需其他資訊,請參閱 發佈 WCF 服務

完成此逐步解說之後,您將會瞭解如何執行下列工作:

  • 從 Microsoft Visual Studio 內,使用Deploy命令,將包含BizTalk Server解決方案和 WCF 服務的元件部署到本機實例BizTalk Server。 這樣會建立有組件填入其中的 BizTalk 應用程式。

  • 從 Visual Studio 內,使用BizTalk WCF 服務取用精靈來產生取用 WCF 服務所需的BizTalk Server架構和類型。 您也會產生空的協調流程,以便使用並系結至邏輯埠。 此協調流程會隨著架構和類型一起編譯及部署。 但是協調流程工作流程處理在這裡是空的,而且在此範例中不會使用,因為這只是單純的傳訊案例BizTalk Server。

  • 從 BizTalk Server 管理主控台,使用 WCF-BasicHttp 傳送埠來設定以內容為基礎的路由。 您將設定目標 WCF 服務預期接收的 SOAPAction 標頭。

  • 從 BizTalk Server 管理主控台中,設定篩選運算式,以路由傳送 WCF 服務可以傳送至輸出檔案夾的任何 SOAP 錯誤訊息。

  • 從 Internet Information Services (IIS) Manager 內,設定裝載 WCF 服務的 Web 應用程式來公開其中繼資料。 啟用之後, BizTalk WCF 服務取用精靈 可以取得此中繼資料,以產生類型和架構來存取 WCF 服務。

必要條件

若要執行此範例中的步驟,請確定您的環境會安裝下列必要條件:

  • 建置元件和執行部署程式的電腦,以及執行範例的電腦都需要 Microsoft Windows Server 2008 SP2、Microsoft .NET Framework 4.5 和 Microsoft BizTalk Server。

  • 用來建置元件和執行部署程式的電腦需要 Microsoft Visual Studio。

  • 執行範例的電腦需要 WCF 配接器和 WCF 管理工具。 這些是在 Microsoft BizTalk Server 安裝期間安裝的選項。

  • 在用來執行系統管理工作的電腦上,您必須以屬於 BizTalk Server Administrators 群組成員的使用者帳戶執行,以在 BizTalk Server 管理主控台內設定BizTalk Server應用程式設定。 此使用者帳戶也必須是本機 Administrators 群組的成員,才能部署應用程式、管理主機實例,以及其他可能需要的工作。

  • 在任何需要 WCF 功能的電腦上,在 Windows Communication Foundation 範例的一次性安裝程式完成 WCF 範例的一次性安裝程式

  • 在執行範例並將系結或 .msi 檔案匯入BizTalk Server的電腦上,請確定主機不是受信任的主機,否則匯入將會失敗。

  • 您必須下載逐步解說程式碼,並將其解壓縮到您的電腦。 本逐步解說是整個 WCF 配接器逐步解說套件的一部分。 您可以從 BizTalk Server 開發人員中心 https://go.microsoft.com/fwlink/?LinkId=194140 下載檔案WCFAdapterWalkthroughs.exe

部署範例 WCF 服務

  1. 執行自我解壓縮 WCFBasicHttpSendAdapter.exe 檔案,並將檔案解壓縮到 C:\WCFBasicHttpSendAdapter 資料夾中。

  2. 在 Visual Studio 中開啟 C:\WCFBasicHttpSendAdapter\WCFBasicHttpSendAdapter.sln

  3. 在 方案總管 中,展開BasicHttpWCFServiceConsuming專案。 此專案是由傳送埠呼叫的 WCF 服務。 它會使用 Internet Information Services (IIS) 裝載于受控主機環境中。 在 IIS 中裝載會使用訊息型啟用來管理服務的啟用和存留期。 展開 App_Code,然後開啟 OrderProcess.cs 以檢閱。 此 WCF 服務會透過 OrderRequest 方法接收訂單要求訊息。 OrderProcess.cs 檔案包含 WCF 服務的介面重組和實作。 它只會透過 OrderResponse 方法傳回訂單回應訊息。

  4. 檢閱 OrderProcess.svc 檔案。 它只包含一行,用來告訴 IIS 啟用用戶端應用程式的服務。 用來裝載服務的 @ServiceHost 屬性是 WCF 程式設計模型中的擴充點。 處理站模式會使用 ServiceHostFactory 來建立 ServiceHost 的實例與 WCF 服務的實例,以處理傳入要求。 這個實例的具現化是以 ServiceBehaviorAttribute.ConcurrencyMode 屬性為基礎,決定服務是否支援一個執行緒、多個執行緒或重新進入呼叫。 具現化也會由 ServiceBehavior.InstanceMode 屬性決定,這個屬性會決定只有一個實例會針對所有呼叫端提供單一實例 (單一) ,如果每個呼叫都會建立一個實例, (無狀態) ,或針對每個會話建立一個實例, (具狀態) 。

    <%@ServiceHost language=c# Debug="true" Service="Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming.OrderProcessServiceType" %>
    
  5. 在 Visual Studio 的 方案總管 中,開啟Web.config以檢閱。 在 IIS 中裝載時,WCF 服務是使用 Web.config 檔案來設定,而不是在主控台應用程式中裝載的 app.config 檔案。

    • 請確定serviceMetaData> 元素的 <HTTPGetEnabled屬性已設定 true 為 ,讓BizTalk WCF 服務取用精靈可以取用服務的中繼資料。

    • 請確定安全性> 專案的mode屬性 < 已設定為None。 因為本逐步解說使用 安全性模式,所以裝載此服務的 Web 應用程式必須設定為允許匿名存取。

  6. 由於 Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming 元件必須安裝在 GAC 中,因此需要強名稱金鑰檔案才能完成部署程式。 以滑鼠右鍵按一下 BasicHttpWcfServiceConsuming 專案,然後按一下 [ 屬性]。 在 [ 屬性] 頁面上,按一下 [ 簽署],然後選取 [ 簽署元件]。 按一下 [選擇強式名稱金鑰檔案] 下拉式清單中的向下箭號,按一下 [< 新增 >],然後在[金鑰檔案名] 文字方塊中輸入 keyfile.snk 。 取消核取 [使用密碼保護我的金鑰檔案],然後按一下 [ 確定]。

  7. 在 方案總管中,以滑鼠右鍵按一下[BasicHttpWcfServiceConsuming],然後按一下 [重建]。

  8. 使用 Windows 檔案總管,將 C:\WCFBasicHttpSendAdapter\BasicHttpWCFServiceConsuming 的內容複寫到 C:\InetPub\wwwroot 資料夾。

  9. 設定 Web 應用程式以裝載 WCF 服務,如下所示:

    1. 按一下 [開始],指向 [系統管理員工具],然後按一下 [ Internet Information Services (IIS) 管理員]。

    2. 建立執行此服務的應用程式集區。 以滑鼠右鍵按一下 [應用程式集區],按一下 [ 新增應用程式集區...],輸入應用程式集區的名稱,然後按一下 [ 確定]。

    3. 展開 [應用程式集區],以滑鼠右鍵按一下您剛才建立的應用程式集區,然後選取 [ 進階設定]。 在 [進程模型] 區段下,輸入可存取 [身分識別] 欄位中BizTalk Server資料庫的帳戶。

    4. 依序展開 [網站]、[ 預設網站]、以滑鼠右鍵按一下 [BasicHttpWCFServiceConsuming],然後按一下 [ 轉換為應用程式 ] 來建立此 WCF 服務的 Web 應用程式。

    5. 在 [ 轉換成應用程式 ] 對話方塊中,按一下 [ 選取 ] 以選取稍早建立的應用程式集區,然後按一下 [ 確定]。

    6. 在 [功能檢視] 中,按一下 [驗證] 圖示,並確定已啟用[匿名驗證] 選項。 這支援具有 安全性模式的 WCF 服務。

  10. 測試已發佈的 WCF 服務,如下所示:

    1. 在 IIS 管理員中,展開 [網站],然後展開 [BasicHttpWCFServiceConsuming]。

    2. 在 IIS 管理員的右窗格中,以滑鼠右鍵按一下 OrderProcess.svc,然後按一下 [ 流覽]。 這會開啟 Internet Explorer 以顯示 OrderProcessServiceType 服務 頁面,指出您已成功建立執行中的 WCF 服務。 此頁面還包含完整的 WSDL 位址,可讓您複製和搭配服務中繼資料工具 (svcutil.exe) 用來建立 Proxy 程式碼,以及一個組態檔,可用來開發服務的用戶端應用程式。

    3. 將完整的 WSDL 位址複製到系統剪貼簿。 請勿複製 「svcutil.exe」 元件: http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc?wsdl

將 WCF-BasicHttp 配接器的架構和類型新增至範例 BizTalk 應用程式

  1. 因為配接器會呼叫 WCF 服務,所以需要架構和型別的資訊,以瞭解如何使用中繼資料對該服務進行該呼叫。 BizTalkApp 提供成品來取用 WCF 服務。 在 Visual Studio 的 方案總管 中,以滑鼠右鍵按一下BizTalkApp,按一下 [新增],然後按一下 [新增產生的專案]。

  2. 在 [ 新增產生的專案 ] 對話方塊的 [ 範本 ] 區段中,選取 [ 取用 WCF 服務],然後按一下 [ 新增]。

  3. 在 [ 歡迎使用 BizTalk WCF 服務取用精靈 ] 頁面上,按 [下一步]。 此精靈將讀取中繼資料,並建立結構描述和類型。

  4. 在 [ 中繼資料來源] 頁面上,選取 [ 中繼資料 Exchange (MEX) 端點 ] 選項,從您在上一個程式中複製到剪貼簿的 URL 取用中繼資料,然後按 [ 下一步]。

  5. 在 [ 中繼資料端點 ] 頁面上,將您在上一個程式中複製的完整 WSDL 位址貼到 [ 中繼資料位址 ] 下拉式清單中,然後按一下 [ 取得 ] 以取得範例 WCF 服務的元資料檔案。 取得中繼資料會啟用 [ 下一步] 按鈕。 選取 [下一步] 以繼續操作。

  6. 在 [ 匯入 WCF 服務中繼資料摘要 ] 頁面上,檢閱您的設定。 此對話方塊會顯示要匯入之中繼資料的命名空間、XSD 和 WSDL 摘要。 它也會顯示協調流程 (.odx) 、系結 (.xml) ,以及架構 (.xsd) 檔案會在匯入程式期間寫入的位置。 按一下 [匯入 ] 以建立要用於取用範例 WCF 服務的 BizTalk 成品和類型。

  7. 在 [ 正在完成 BizTalk WCF 服務取用精靈 ] 頁面上,按一下 [ 完成]。

  8. 在 Visual Studio 的 方案總管 中,BizTalk WCF 服務取用精靈會產生下列檔案:

    • 協調流程檔案 OrderProcessServiceType.odx。 此協調流程中沒有工作流程階段。 不過,您可以將 它新增至它,並將它系結至邏輯埠以取用 WCF 服務。 它確實包含重要的 BizTalk 類型,例如埠類型和多部分訊息類型,用於此範例中。 若要檢視此資訊,請按兩下 OrderProcessServiceType.odx 協調流程。 按一下 [檢視],按一下 [其他視窗],然後按一下 [ 協調流程檢視]。 依 序展開 [類型]、[ 埠類型] 和 [ IOrderProcess]。 您會看到 Submit 方法。 展開該方法,您會看到 OrderRequestOrderResponse 埠類型。 按一下每個埠類型,並在屬性瀏覽器中檢視其 [描述] 欄位,並查看不同的 WSDL 輸入和輸出訊息。 按一下 [多部分訊息類型 ],然後檢視 OrderRequestOrderResponse 多部分訊息類型。 按一下其 [描述] 欄位,然後檢視每個訊息類型的 WDSL 訊息名稱。

    • 會產生兩個架構檔案。 第一個架構檔案 (OrderProcessServiceType_biztalk_WCF_basicHTTPsendadapter_basicHTTPWCFserviceconsuming.xsd) 定義範例 WCF 服務所使用的訊息類型。 它會在OrderRequestOrderResponse呼叫中使用OrderID欄位。

    • dataContractSerializer會針對命名空間 http://schemas.microsoft.com/2003/10/Serialization/ 中的類型、專案和屬性,匯出第二個架構檔案 (OrderProcessServiceType_schemas_microsoft_com_2003_10_Serialization.xsd) 。

    • 會產生兩個系結檔案,稍後將用來建立 BizTalk 應用程式: OrderProcessServiceType.BindingInfo.xmlOrderProcessServiceType_Custom.BindingInfo.xml。 在一般情況下,您通常會使用非自訂系結檔案。 但在您有自訂繫結項目的一些罕見情況下,會使用自訂綁定檔。 自訂繫結項目會建立應用程式的傳送埠。 按兩下OrderProcessServiceType.BindingInfo.xml檔案並搜尋SendPort定義行,然後檢閱當您將此系結檔案匯入BizTalk Server時所建立的傳送埠:

      <SendPort Name="WCFSendPort_OrderProcessServiceType_ServiceEndpoint" …  >
      
    • 這些檔案會用於使用 WCF 配接器的傳送埠,以取用中繼資料中所述的範例 WCF 服務。

部署範例 BizTalk 解決方案 BizTalkApp

  1. 部署BizTalk Server應用程式,如下所示:

    1. 在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [屬性]。

    2. [專案Designer] 視窗中,按一下 [部署] 索引標籤,然後在BizTalk Server管理資料庫使用不同的資料庫伺服器時變更Server屬性。 確定應用程式名稱為 WCFBasicHttpSendAdapter

    3. 在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [重建]。

    4. 在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [部署]。 這會將 Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp 元件部署到 GAC,並將成品部署到名為WCFBasicHttpSendAdapter的BizTalk Server應用程式。

  2. 依照下列說明設定 BizTalk 應用程式中的 WCF-BasicHttp 傳送埠:

    1. 按一下[開始],指向[所有程式],指向[Microsoft BizTalk Server 20xx],然後按一下[BizTalk Server管理]。

    2. 在 BizTalk Server 管理主控台中,依序展開[BizTalk 群組]、[應用程式]、以滑鼠右鍵按一下[WCFBasicHttpSendAdapter]、指向 [入],然後按一下 [系]。

    3. 在 [ 匯入系結 ] 對話方塊中,移至 C:\WCFBasicHttpSendAdapter\BizTalkApp 資料夾,選取 [OrderProcessServiceType.BindingInfo.xml],然後按一下 [ 開啟]。 這是 BizTalk WCF 服務 取用精靈先前所建立的其中一個系結檔案。 這會建立 WCFSendPort_OrderProcessServiceType_ServiceEndpoint 傳送埠。

    4. 在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],然後按一下 [傳送埠]。

    5. 在 [BizTalk Server 管理主控台] 的右窗格中,按兩下WCFSendPort_OrderProcessServiceType_ServiceEndpoint,這是匯入系結檔案 OrderProcessServiceType.BindingInfo.xml 所建立。 這會顯示 [ 傳送埠屬性 ] 對話方塊。

    6. 在 [ 傳送埠內容 ] 對話方塊中,按一下 [ 設定]。

    7. 在 [一般]索引標籤上,檢閱 的 http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc [位址 (URI) ] 欄位。 這是 IIS 中裝載的 WCF 服務位址,WCF-BasicHttp 配接器將會呼叫。

    8. 檢閱 [SOAP 動作標頭/動作 ] 文字方塊的內容:

      <BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <Operation Name="Submit" Action="http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming/IOrderProcess/Submit" />
      </BtsActionMapping>
      

      此欄位表示傳出 SOAP HTTP 要求訊息的意圖。 在這裡,從 Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming 命名空間呼叫 IOrderProcess 介面上的 Submit 作業。

      注意

      BizTalk WCF 服務取用精靈所產生的系結檔案會使用StaticAction屬性的動作對應格式。 針對 WCF 傳送配接器使用內容型路由以將訊息傳送至 WCF 服務時,您必須設定 BTS。動作 對應格式的管線元件中作業屬性,做為要用於內容型路由的欄位。 或者,您可以針對以內容為基礎的路由使用單一動作格式。 在本逐步解說中,您會使用單一動作格式。 如需單一動作格式和動作對應格式的詳細資訊,請參閱UI 指引和開發人員 API 命名空間參考中的WCF-BasicHttp 傳輸屬性對話方塊、傳送、一般索引標籤。

    9. 按一下 [確定] 兩次返回 BizTalk Server 管理主控台。

  3. 建立單向靜態接收埠和 FILE 接收位置。 接收埠是一或多個接收位置的邏輯容器。 這是您將卸載檔案配接器將挑選的範例 WCF 訊息,然後傳送至 WCF 服務的位置。

    1. 在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [接收埠],指向 [新增],然後按一下[單向接收埠]。

    2. 在 [ 接收埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WCFBasicSendAdapter.ReceivePurchaseOrder ,然後按一下 [ 確定]。

    3. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[WCFBasicHttpSendAdapter.ReceivePurchaseOrder],指向 [新增],然後按一下 [接收位置]。

    4. 在 [ 接收位置屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WCFBasicSendAdapter.ReceivePurchaseOrder.FILE

    5. 在 [接收位置屬性] 對話方塊的[類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[檔案],然後按一下 [設定]。

    6. 在 [ 檔案傳輸屬性 ] 對話方塊的 [ 一般 ] 索引標籤的 [ 接收資料夾 ] 文字方塊中,輸入 C:\WCFBasicHttpSendAdapter\OrderRequestIn ,然後按一下 [ 確定]。

    7. 在 [ 接收位置屬性 ] 對話方塊中,按一下 [ 確定]。

  4. 建立篩選,以將訊息路由傳送至 WCF-BasicHttp 從您在上一個步驟中建立的 FILE 接收位置傳送埠。 與埠相關聯的篩選就像是 SQL 「where」 子句,如果評估為 true,則會將該訊息提供給該埠。

    1. 在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],按一下 [傳送埠],然後按兩下[WCFSendPort_OrderProcessServiceType_ServiceEndpoint]。

    2. 在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[BTS]。[屬性]欄位中的 ReceivePortName,輸入 WCFBasicSendAdapter.ReceivePurchaseOrder [] 欄位,然後按一下 [確定]。 此篩選運算式會將傳入訊息從 WCFBasicSendAdapter.ReceivePurchaseOrder 接收埠路由傳送至此 WCF-BasicHttp 傳送埠。

  5. 為範例應用程式建立兩個 FILE 傳送埠。 第一個傳送埠會從 WCF 服務將輸出回應訊息傳送至 FILE 埠。 第二個傳送埠是用來處理從目的地為用戶端的 WCF 服務傳送的錯誤訊息。

    1. 在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態單向傳送埠]。

    2. 在 [ 傳送埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WCFBasicSendAdapter.SendPurchaseOrder.FILE

    3. 在 [ 傳送埠屬性 ] 對話方塊的 [類型] 旁的 [ 傳輸 ] 區段中,從下拉式清單中選取 [ 檔案 ],然後按一下 [ 設定]。

    4. 在 [ 檔案傳輸屬性] 對話方塊的 [ 一般 ] 索引標籤的 [ 目的地資料夾 ] 文字方塊中,輸入 C:\WCFBasicHttpSendAdapter\OrderResponseOut,然後按一下 [ 確定]。

    5. 在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[BTS]。[屬性] 欄位中的 MessageType,在 [] 欄位中輸入 http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWCFServiceConsuming#OrderResponse ,以從範例 WCF 服務指定回應訊息類型,然後按一下 [確定]。 此篩選運算式會將回應訊息從範例 WCF 服務路由傳送至此 FILE 傳送埠。 傳送埠會藉由在篩選屬性中指定該類型來訂閱 OrderResponse 類型的訊息。 這是來自 WCF 服務之回應訊息的訊息類型。

    6. 在 [ 傳送埠內容 ] 對話方塊中,按一下 [ 確定]。

    7. 在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態單向傳送埠]。

    8. 在 [ 傳送埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WCFAdapterErrorSend.FILE

    9. 在 [傳送埠屬性] 對話方塊的[類型] 旁的 [傳輸] 區段中,從下拉式清單中選取 [檔案],然後按一下 [設定]。

    10. 在 [ 檔案傳輸屬性 ] 對話方塊的 [ 一般 ] 索引標籤的 [ 目的地資料夾 ] 文字方塊中,輸入 **C:\WCFBasicHttpSendAdapter\WCFAdapterErrorOut**,然後按一下 [ 確定]。

    11. 在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[WCF]。[屬性]欄位中的 IsFault,輸入 True [] 欄位,然後按一下 [確定]。 在應用程式中,您可以藉由檢查 WCF 來偵測例外狀況或錯誤 傳回給呼叫端之訊息的 IsFault 屬性。 如果傳送的訊息是 SOAP 錯誤訊息,此屬性將會設定為 True 。 此篩選運算式會將錯誤訊息從範例 WCF 服務路由傳送至此 FILE 傳送埠。

  6. 指定範例應用程式的主控件名稱和繫結,如下所示:

    在 BizTalk Server 管理主控台中,依序展開WCFBasicHttpSendAdapter協調流程、以滑鼠右鍵按一下Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp.OrderProcessServiceTypeClient協調流程、按一下 [屬性]、[結]、將[主機] 設定為[BizTalkServerApplication],然後按一下 [確定] 以儲存設定。

使用 WCF-BasicHttp 傳送配接器測試範例解決方案

  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[WCFBasicHttpSendAdapter],然後按一下 [啟動]。

  2. 在 [ 開始] 對話方塊中,按一下 [ 啟動]。

  3. 在 BizTalk Server 管理主控台中,依序展開 [平臺設定]、[主機實例]、以滑鼠右鍵按一下[BizTalkServerApplication] 或其他適當的主機實例,然後按一下 [重新開機]。

  4. 開啟命令提示字元,輸入 iisreset 以回收 IIS 及其相依服務,然後按 ENTER 鍵。

  5. 在命令提示字元中, 將C:\WCFBasicHttpSendAdapter\TestData\WCFBasicSendAdapter.OrderRequest.Sample.xml 複製到 C:\WCFBasicHttpSendAdapter\OrderRequestIn 資料夾。 此訊息會路由傳送至靜態 Solicit-Response 傳送埠 的雙向WcfSendPort_OrderProcessServiceType_ServiceEndpoint 。 這個雙向傳送埠的傳送端會在 IIS 裝載的 WCF 服務上呼叫 Submit 方法。 結果會傳回至 WcfSendPort_OrderProcessServiceType_ServiceEndpoint 傳送埠的回應埠。 WCFBasicSendAdapter.SendPurchaseOrder.FILE傳送埠的訂用帳戶會在訊息類型為 http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWCFServiceConsuming#OrderResponse 時觸發。 它會取得已成功處理的訊息,並將其寫出至 C:\WCFBasicHttpSendAdapter\OrderResponseOut 資料夾。

  6. 檢查 C:\WCFBasicHttpSendAdapter\OrderResponseOut 資料夾,以取得來自 WCF 服務的回應訊息。

  7. 在命令提示字元中, C:\WCFBasicHttpSendAdapter\TestData\WCFBasicSendAdapter.OrderRequest.Invalid.xmlC:\WCFBasicHttpSendAdapter\OrderRequestIn 資料夾。 此訊息包含不正確命名空間,讓 WCF 服務傳回錯誤訊息。

  8. 檢查 C:\WCFBasicHttpSendAdapter\WCFAdapterErrorOut 資料夾,以取得包含 WCF 服務錯誤訊息的 XML 檔案。 查看 <faultstring> 欄位,其中顯示錯誤訊息原因為不正確訊息本文。

另請參閱

逐步解說:使用 WCF-BasicHttp 配接器發佈 WCF 服務如何使用 BizTalk WCF 服務取用精靈來取用 WCF 服務指定 WCF 配接器的訊息本文