逐步解說:利用 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 服務
執行自我解壓縮 WCFBasicHttpSendAdapter.exe 檔案,並將檔案解壓縮到 C:\WCFBasicHttpSendAdapter 資料夾中。
在 Visual Studio 中開啟 C:\WCFBasicHttpSendAdapter\WCFBasicHttpSendAdapter.sln 。
在 方案總管 中,展開BasicHttpWCFServiceConsuming專案。 此專案是由傳送埠呼叫的 WCF 服務。 它會使用 Internet Information Services (IIS) 裝載于受控主機環境中。 在 IIS 中裝載會使用訊息型啟用來管理服務的啟用和存留期。 展開 App_Code,然後開啟 OrderProcess.cs 以檢閱。 此 WCF 服務會透過 OrderRequest 方法接收訂單要求訊息。 OrderProcess.cs 檔案包含 WCF 服務的介面重組和實作。 它只會透過 OrderResponse 方法傳回訂單回應訊息。
檢閱 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" %>
在 Visual Studio 的 方案總管 中,開啟Web.config以檢閱。 在 IIS 中裝載時,WCF 服務是使用 Web.config 檔案來設定,而不是在主控台應用程式中裝載的 app.config 檔案。
請確定serviceMetaData> 元素的 <HTTPGetEnabled屬性已設定
true
為 ,讓BizTalk WCF 服務取用精靈可以取用服務的中繼資料。請確定安全性> 專案的mode屬性 < 已設定為None。 因為本逐步解說使用 無 安全性模式,所以裝載此服務的 Web 應用程式必須設定為允許匿名存取。
由於 Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWcfServiceConsuming 元件必須安裝在 GAC 中,因此需要強名稱金鑰檔案才能完成部署程式。 以滑鼠右鍵按一下 BasicHttpWcfServiceConsuming 專案,然後按一下 [ 屬性]。 在 [ 屬性] 頁面上,按一下 [ 簽署],然後選取 [ 簽署元件]。 按一下 [選擇強式名稱金鑰檔案] 下拉式清單中的向下箭號,按一下 [< 新增 >],然後在[金鑰檔案名] 文字方塊中輸入
keyfile.snk
。 取消核取 [使用密碼保護我的金鑰檔案],然後按一下 [ 確定]。在 方案總管中,以滑鼠右鍵按一下[BasicHttpWcfServiceConsuming],然後按一下 [重建]。
使用 Windows 檔案總管,將 C:\WCFBasicHttpSendAdapter\BasicHttpWCFServiceConsuming 的內容複寫到 C:\InetPub\wwwroot 資料夾。
設定 Web 應用程式以裝載 WCF 服務,如下所示:
按一下 [開始],指向 [系統管理員工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
建立執行此服務的應用程式集區。 以滑鼠右鍵按一下 [應用程式集區],按一下 [ 新增應用程式集區...],輸入應用程式集區的名稱,然後按一下 [ 確定]。
展開 [應用程式集區],以滑鼠右鍵按一下您剛才建立的應用程式集區,然後選取 [ 進階設定]。 在 [進程模型] 區段下,輸入可存取 [身分識別] 欄位中BizTalk Server資料庫的帳戶。
依序展開 [網站]、[ 預設網站]、以滑鼠右鍵按一下 [BasicHttpWCFServiceConsuming],然後按一下 [ 轉換為應用程式 ] 來建立此 WCF 服務的 Web 應用程式。
在 [ 轉換成應用程式 ] 對話方塊中,按一下 [ 選取 ] 以選取稍早建立的應用程式集區,然後按一下 [ 確定]。
在 [功能檢視] 中,按一下 [驗證] 圖示,並確定已啟用[匿名驗證] 選項。 這支援具有 無 安全性模式的 WCF 服務。
測試已發佈的 WCF 服務,如下所示:
在 IIS 管理員中,展開 [網站],然後展開 [BasicHttpWCFServiceConsuming]。
在 IIS 管理員的右窗格中,以滑鼠右鍵按一下 OrderProcess.svc,然後按一下 [ 流覽]。 這會開啟 Internet Explorer 以顯示 OrderProcessServiceType 服務 頁面,指出您已成功建立執行中的 WCF 服務。 此頁面還包含完整的 WSDL 位址,可讓您複製和搭配服務中繼資料工具 (svcutil.exe) 用來建立 Proxy 程式碼,以及一個組態檔,可用來開發服務的用戶端應用程式。
將完整的 WSDL 位址複製到系統剪貼簿。 請勿複製 「svcutil.exe」 元件:
http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc?wsdl
將 WCF-BasicHttp 配接器的架構和類型新增至範例 BizTalk 應用程式
因為配接器會呼叫 WCF 服務,所以需要架構和型別的資訊,以瞭解如何使用中繼資料對該服務進行該呼叫。 BizTalkApp 提供成品來取用 WCF 服務。 在 Visual Studio 的 方案總管 中,以滑鼠右鍵按一下BizTalkApp,按一下 [新增],然後按一下 [新增產生的專案]。
在 [ 新增產生的專案 ] 對話方塊的 [ 範本 ] 區段中,選取 [ 取用 WCF 服務],然後按一下 [ 新增]。
在 [ 歡迎使用 BizTalk WCF 服務取用精靈 ] 頁面上,按 [下一步]。 此精靈將讀取中繼資料,並建立結構描述和類型。
在 [ 中繼資料來源] 頁面上,選取 [ 中繼資料 Exchange (MEX) 端點 ] 選項,從您在上一個程式中複製到剪貼簿的 URL 取用中繼資料,然後按 [ 下一步]。
在 [ 中繼資料端點 ] 頁面上,將您在上一個程式中複製的完整 WSDL 位址貼到 [ 中繼資料位址 ] 下拉式清單中,然後按一下 [ 取得 ] 以取得範例 WCF 服務的元資料檔案。 取得中繼資料會啟用 [ 下一步] 按鈕。 選取 [下一步] 以繼續操作。
在 [ 匯入 WCF 服務中繼資料摘要 ] 頁面上,檢閱您的設定。 此對話方塊會顯示要匯入之中繼資料的命名空間、XSD 和 WSDL 摘要。 它也會顯示協調流程 (.odx) 、系結 (.xml) ,以及架構 (.xsd) 檔案會在匯入程式期間寫入的位置。 按一下 [匯入 ] 以建立要用於取用範例 WCF 服務的 BizTalk 成品和類型。
在 [ 正在完成 BizTalk WCF 服務取用精靈 ] 頁面上,按一下 [ 完成]。
在 Visual Studio 的 方案總管 中,BizTalk WCF 服務取用精靈會產生下列檔案:
協調流程檔案 OrderProcessServiceType.odx。 此協調流程中沒有工作流程階段。 不過,您可以將 它新增至它,並將它系結至邏輯埠以取用 WCF 服務。 它確實包含重要的 BizTalk 類型,例如埠類型和多部分訊息類型,用於此範例中。 若要檢視此資訊,請按兩下 OrderProcessServiceType.odx 協調流程。 按一下 [檢視],按一下 [其他視窗],然後按一下 [ 協調流程檢視]。 依 序展開 [類型]、[ 埠類型] 和 [ IOrderProcess]。 您會看到 Submit 方法。 展開該方法,您會看到 OrderRequest 和 OrderResponse 埠類型。 按一下每個埠類型,並在屬性瀏覽器中檢視其 [描述] 欄位,並查看不同的 WSDL 輸入和輸出訊息。 按一下 [多部分訊息類型 ],然後檢視 OrderRequest 和 OrderResponse 多部分訊息類型。 按一下其 [描述] 欄位,然後檢視每個訊息類型的 WDSL 訊息名稱。
會產生兩個架構檔案。 第一個架構檔案 (OrderProcessServiceType_biztalk_WCF_basicHTTPsendadapter_basicHTTPWCFserviceconsuming.xsd) 定義範例 WCF 服務所使用的訊息類型。 它會在OrderRequest和OrderResponse呼叫中使用OrderID欄位。
dataContractSerializer會針對命名空間
http://schemas.microsoft.com/2003/10/Serialization/
中的類型、專案和屬性,匯出第二個架構檔案 (OrderProcessServiceType_schemas_microsoft_com_2003_10_Serialization.xsd) 。會產生兩個系結檔案,稍後將用來建立 BizTalk 應用程式: OrderProcessServiceType.BindingInfo.xml 和 OrderProcessServiceType_Custom.BindingInfo.xml。 在一般情況下,您通常會使用非自訂系結檔案。 但在您有自訂繫結項目的一些罕見情況下,會使用自訂綁定檔。 自訂繫結項目會建立應用程式的傳送埠。 按兩下OrderProcessServiceType.BindingInfo.xml檔案並搜尋SendPort定義行,然後檢閱當您將此系結檔案匯入BizTalk Server時所建立的傳送埠:
<SendPort Name="WCFSendPort_OrderProcessServiceType_ServiceEndpoint" … >
這些檔案會用於使用 WCF 配接器的傳送埠,以取用中繼資料中所述的範例 WCF 服務。
部署範例 BizTalk 解決方案 BizTalkApp
部署BizTalk Server應用程式,如下所示:
在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [屬性]。
在[專案Designer] 視窗中,按一下 [部署] 索引標籤,然後在BizTalk Server管理資料庫使用不同的資料庫伺服器時變更Server屬性。 確定應用程式名稱為 WCFBasicHttpSendAdapter。
在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [重建]。
在 Visual Studio 的 [方案總管] 中,以滑鼠右鍵按一下[BizTalkApp],然後按一下 [部署]。 這會將 Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp 元件部署到 GAC,並將成品部署到名為WCFBasicHttpSendAdapter的BizTalk Server應用程式。
依照下列說明設定 BizTalk 應用程式中的 WCF-BasicHttp 傳送埠:
按一下[開始],指向[所有程式],指向[Microsoft BizTalk Server 20xx],然後按一下[BizTalk Server管理]。
在 BizTalk Server 管理主控台中,依序展開[BizTalk 群組]、[應用程式]、以滑鼠右鍵按一下[WCFBasicHttpSendAdapter]、指向 [匯入],然後按一下 [系結]。
在 [ 匯入系結 ] 對話方塊中,移至 C:\WCFBasicHttpSendAdapter\BizTalkApp 資料夾,選取 [OrderProcessServiceType.BindingInfo.xml],然後按一下 [ 開啟]。 這是 BizTalk WCF 服務 取用精靈先前所建立的其中一個系結檔案。 這會建立 WCFSendPort_OrderProcessServiceType_ServiceEndpoint 傳送埠。
在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],然後按一下 [傳送埠]。
在 [BizTalk Server 管理主控台] 的右窗格中,按兩下WCFSendPort_OrderProcessServiceType_ServiceEndpoint,這是匯入系結檔案 OrderProcessServiceType.BindingInfo.xml 所建立。 這會顯示 [ 傳送埠屬性 ] 對話方塊。
在 [ 傳送埠內容 ] 對話方塊中,按一下 [ 設定]。
在 [一般]索引標籤上,檢閱 的
http://localhost/BasicHttpWcfServiceConsuming/OrderProcess.svc
[位址 (URI) ] 欄位。 這是 IIS 中裝載的 WCF 服務位址,WCF-BasicHttp 配接器將會呼叫。檢閱 [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 傳輸屬性對話方塊、傳送、一般索引標籤。
按一下 [確定] 兩次返回 BizTalk Server 管理主控台。
建立單向靜態接收埠和 FILE 接收位置。 接收埠是一或多個接收位置的邏輯容器。 這是您將卸載檔案配接器將挑選的範例 WCF 訊息,然後傳送至 WCF 服務的位置。
在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [接收埠],指向 [新增],然後按一下[單向接收埠]。
在 [ 接收埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入
WCFBasicSendAdapter.ReceivePurchaseOrder
,然後按一下 [ 確定]。在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[WCFBasicHttpSendAdapter.ReceivePurchaseOrder],指向 [新增],然後按一下 [接收位置]。
在 [ 接收位置屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入
WCFBasicSendAdapter.ReceivePurchaseOrder.FILE
。在 [接收位置屬性] 對話方塊的[類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[檔案],然後按一下 [設定]。
在 [ 檔案傳輸屬性 ] 對話方塊的 [ 一般 ] 索引標籤的 [ 接收資料夾 ] 文字方塊中,輸入
C:\WCFBasicHttpSendAdapter\OrderRequestIn
,然後按一下 [ 確定]。在 [ 接收位置屬性 ] 對話方塊中,按一下 [ 確定]。
建立篩選,以將訊息路由傳送至 WCF-BasicHttp 從您在上一個步驟中建立的 FILE 接收位置傳送埠。 與埠相關聯的篩選就像是 SQL 「where」 子句,如果評估為 true,則會將該訊息提供給該埠。
在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],按一下 [傳送埠],然後按兩下[WCFSendPort_OrderProcessServiceType_ServiceEndpoint]。
在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[BTS]。[屬性]欄位中的 ReceivePortName,輸入
WCFBasicSendAdapter.ReceivePurchaseOrder
[值] 欄位,然後按一下 [確定]。 此篩選運算式會將傳入訊息從 WCFBasicSendAdapter.ReceivePurchaseOrder 接收埠路由傳送至此 WCF-BasicHttp 傳送埠。
為範例應用程式建立兩個 FILE 傳送埠。 第一個傳送埠會從 WCF 服務將輸出回應訊息傳送至 FILE 埠。 第二個傳送埠是用來處理從目的地為用戶端的 WCF 服務傳送的錯誤訊息。
在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態單向傳送埠]。
在 [ 傳送埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入
WCFBasicSendAdapter.SendPurchaseOrder.FILE
。在 [ 傳送埠屬性 ] 對話方塊的 [類型] 旁的 [ 傳輸 ] 區段中,從下拉式清單中選取 [ 檔案 ],然後按一下 [ 設定]。
在 [ 檔案傳輸屬性] 對話方塊的 [ 一般 ] 索引標籤的 [ 目的地資料夾 ] 文字方塊中,輸入 C:\WCFBasicHttpSendAdapter\OrderResponseOut,然後按一下 [ 確定]。
在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[BTS]。[屬性] 欄位中的 MessageType,在 [值] 欄位中輸入
http://Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BasicHttpWCFServiceConsuming#OrderResponse
,以從範例 WCF 服務指定回應訊息類型,然後按一下 [確定]。 此篩選運算式會將回應訊息從範例 WCF 服務路由傳送至此 FILE 傳送埠。 傳送埠會藉由在篩選屬性中指定該類型來訂閱 OrderResponse 類型的訊息。 這是來自 WCF 服務之回應訊息的訊息類型。在 [ 傳送埠內容 ] 對話方塊中,按一下 [ 確定]。
在 BizTalk Server 管理主控台中,展開[WCFBasicHttpSendAdapter],以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態單向傳送埠]。
在 [ 傳送埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入
WCFAdapterErrorSend.FILE
。在 [傳送埠屬性] 對話方塊的[類型] 旁的 [傳輸] 區段中,從下拉式清單中選取 [檔案],然後按一下 [設定]。
在 [ 檔案傳輸屬性 ] 對話方塊的 [ 一般 ] 索引標籤的 [ 目的地資料夾 ] 文字方塊中,輸入 **C:\WCFBasicHttpSendAdapter\WCFAdapterErrorOut**,然後按一下 [ 確定]。
在 [傳送埠內容] 對話方塊的 [篩選]索引標籤上,選取[WCF]。[屬性]欄位中的 IsFault,輸入
True
[值] 欄位,然後按一下 [確定]。 在應用程式中,您可以藉由檢查 WCF 來偵測例外狀況或錯誤 。 傳回給呼叫端之訊息的 IsFault 屬性。 如果傳送的訊息是 SOAP 錯誤訊息,此屬性將會設定為 True 。 此篩選運算式會將錯誤訊息從範例 WCF 服務路由傳送至此 FILE 傳送埠。
指定範例應用程式的主控件名稱和繫結,如下所示:
在 BizTalk Server 管理主控台中,依序展開WCFBasicHttpSendAdapter、協調流程、以滑鼠右鍵按一下Microsoft.Samples.BizTalk.WCF.BasicHttpSendAdapter.BizTalkApp.OrderProcessServiceTypeClient協調流程、按一下 [屬性]、[系結]、將[主機] 設定為[BizTalkServerApplication],然後按一下 [確定] 以儲存設定。
使用 WCF-BasicHttp 傳送配接器測試範例解決方案
在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[WCFBasicHttpSendAdapter],然後按一下 [啟動]。
在 [ 開始] 對話方塊中,按一下 [ 啟動]。
在 BizTalk Server 管理主控台中,依序展開 [平臺設定]、[主機實例]、以滑鼠右鍵按一下[BizTalkServerApplication] 或其他適當的主機實例,然後按一下 [重新開機]。
開啟命令提示字元,輸入 iisreset 以回收 IIS 及其相依服務,然後按 ENTER 鍵。
在命令提示字元中, 將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 資料夾。檢查 C:\WCFBasicHttpSendAdapter\OrderResponseOut 資料夾,以取得來自 WCF 服務的回應訊息。
在命令提示字元中, C:\WCFBasicHttpSendAdapter\TestData\WCFBasicSendAdapter.OrderRequest.Invalid.xmlC:\WCFBasicHttpSendAdapter\OrderRequestIn 資料夾。 此訊息包含不正確命名空間,讓 WCF 服務傳回錯誤訊息。
檢查 C:\WCFBasicHttpSendAdapter\WCFAdapterErrorOut 資料夾,以取得包含 WCF 服務錯誤訊息的 XML 檔案。 查看 <faultstring> 欄位,其中顯示錯誤訊息原因為不正確訊息本文。
另請參閱
逐步解說:使用 WCF-BasicHttp 配接器發佈 WCF 服務如何使用 BizTalk WCF 服務取用精靈來取用 WCF 服務,指定 WCF 配接器的訊息本文