HTTPRequestResponse
HTTPRequestResponse 範例示範如何使用 Microsoft BizTalk Server Internet Server Application Programming Interface (ISAPI) 篩選,以允許 ASP.NET 應用程式與BizTalk Server協調流程通訊。
此範例的用途
在此範例中,ASP.NET 應用程式會將要求提交至 BizTalk Server ISAPI 篩選準則。 協調流程接著會取用此訊息,並使用同步回應將其傳回 ASP.NET 應用程式。 您可以使用 BizTalk Server ISAPI 篩選,來達成BizTalk Server協調流程與 ASP.NET 應用程式之間的整合。
在此範例中,BizTalk Server 和 ASP.NET 應用程式會使用下列一連串步驟,交換訂單 (PO) 和 PO 通知訊息。
ASP.NET 應用程式會使用 HTTP 要求來提交 XML PO 訊息給 BizTalk Server。
BizTalk Server 收到 XML PO 訊息後會建構 XML PO 通知訊息,然後在 HTTP 回應中將該訊息傳回 ASP.NET 應用程式。
ASP.NET 應用程式收到 XML PO 通知回應後,會使用從回應中擷取的狀態資訊來重新整理 Web 表單。
可在何處找到此範例
< 範例路徑 >\AdaptersUsage\HTTPRequestResponse\
下表顯示此範例中的檔案,並描述其用途。
檔案 | Description |
---|---|
Cleanup.bat | 從全域組件快取 (GAC) 解除部署並移除組件;移除傳送和接收埠;視需要移除 Microsoft Internet Information Services (IIS) 虛擬目錄。 |
HTTPRequestResponse.btproj、HTTPRequestResponse.sln | 提供 BizTalk 專案的專案和原始程式檔,此專案可以接收 HTTP 要求、處理 PO 訊息,以及發出回應。 |
HTTPRequestResponseBinding.xml | 提供例如連接埠繫結等自動設定的功能。 |
POAck.xsd、POSchema.xsd | 分別提供 PO 通知和 PO .xml 檔案的結構描述。 |
POReceiveOrchestration.odx | 提供用於接收 PO、進行處理以及發出 PO 通知的 BizTalk Server 協調流程。 |
Setup.bat | 建置並初始化此範例。 |
在 \RequestResponse 資料夾中: AssemblyInfo.cs、default.aspx、default.aspx.cs、Global.asax、Global.asax.cs、RequestResponse.csproj、RequestResponse.csproj.webinfo、RequestResponse.sln、Web.config |
所包含的檔案,構成在本範例中當做驅動程式使用的 ASP.NET 應用程式,其中包括專案和方案檔案、ASPX 檔案、Microsoft Visual C# .NET 原始程式檔等等。 |
建置和初始化此範例
請使用下列程序,建置和初始化 HTTPRequestResponse 範例。
若要建置並初始化這個範例
在命令視窗中,瀏覽至下列資料夾:
<範例路徑>\AdaptersUsage\HTTPRequestResponse
執行檔案 Setup.bat,這會執行下列動作:
編譯及設定用來驅動此範例的 ASP.NET 應用程式。
注意
在 IIS 管理員中建立應用程式集區時,請將DefaultAppPool .NET Framework 版本設定為.Net Framework v4.0。
編譯及部署此範例中所使用的 BizTalk Server 協調流程。
編譯及部署此範例的 Microsoft Visual Studio 專案。
建立並繫結所需的 BizTalk Server 連接埠。
啟動 BizTalk Server 協調流程。
重要
您必須變更實作 Web 應用程式的範例程式碼 (Default.aspx.cs) 以反映您的環境:
<HTTP:// server name> / <virtual dir> /BTSHTTPReceive.dll,其中
<servername>
是您張貼的 Web 服務器名稱,而<
virtual dir>
是此檔案所在的虛擬目錄。注意
在嘗試執行此範例之前,您必須確認 BizTalk 沒有在建置和初始化的程序中報告任何錯誤。
注意
若您選擇不執行 Setup.bat 檔案就開啟和建置此範例中的專案,您必須先使用 .NET Framework Strong Name Utility (sn.exe) 建立強式名稱金鑰組。 使用此金鑰組簽署所產生的組件。 在嘗試建置專案前,您還必須從 RequestResponse.csproj 檔案中手動移除 default.aspx.resx 和 Global.asax.resx 的參考。
注意
若要復原 Setup.bat 所進行的變更,請執行 Cleanup.bat。 您必須先執行 Cleanup.bat 才能再度執行 Setup.bat。
注意
您必須設定和啟用 IIS 才能使用 HTTP 接收配接器。 如需詳細資訊,請參閱 如何設定 HTTP 接收位置的 IIS。
setup.bat 檔會設定此範例的虛擬目錄,以在與預設網站關聯的 IIS 應用程式集區中執行。 若要設定此範例的虛擬目錄,以在 BizTalk 隔離主機使用者 和 IIS_IURS 使用者群組的使用者內容下執行,您應該將虛擬目錄設定為在新 IIS 應用程式集區中執行。 請依照下列步驟執行,將虛擬目錄設定為在新的 IIS 應用程式集區中執行:
注意
如果您已經為其他 SDK 範例建立新的應用程式集區,則可以繼續執行下面最後一項步驟。
按一下 [開始]、依序指向 [所有程式]、[系統管理工具],然後按一下 [Internet Information Services (IIS) 管理員]。
在 Internet Information Services (IIS) Manager中,流覽至 [應用程式集區 ] 資料夾。
以滑鼠右鍵按一下 [應用程式集區 ] 資料夾,然後按一下 [ 新增]、[ 應用程式集區...
輸入 應用程式集區識別碼的名稱: 例如 BizTalkSDKSamples,確認已選取 [ 使用新應用程式集區的預設設定 ] 選項,然後按一下 [ 確定 ] 以建立新的應用程式集區。
以滑鼠右鍵按一下新的應用程式集區,然後按一下 [ 屬性]。
按一下 [屬性] 對話方塊的 [ 身分識別 ] 索引標籤,並將此應用程式集區執行所在的身分識別變更為 BizTalk 隔離主機使用者 群組成員的使用者。 此使用者也應該是本機 IIS_IURS 使用者群組的成員。
設定這個 SDK 範例的虛擬目錄為在新的應用程式集區下執行。 [虛擬目錄] 屬性對話方塊的 [虛擬目錄] 索引標籤上提供[應用程式集區] 設定。 為此範例所建立的虛擬目錄為 HttpRequestResponseSample。
執行此範例
請使用下列程序執行 HTTPRequestResponse 範例。
執行此範例
在 Internet Explorer 中,流覽至 http://localhost/RequestResponse/.
完成 Web 表單中的必要欄位,然後按一下 [下單] 以提交訂單。
在收到回應後重新整理 Web 表單時,觀察您的訂單狀態。
註解
此範例中使用的 BTSHTTPReceiveISAPI 擴充功能已設定為在單一電腦預設安裝上運作。 若要擴充此範例以取得其他組態,請參閱 HTTP 配接器。
您可將此範例擴充至一般需透過 Web 表單或 HTTP 提交資料給 BizTalk Server 的應用程式。 透過擴充此範例的 ASP.NET 應用程式部分,您可以查詢更多資訊,以及在提交資料給 BizTalk Server 前先執行其他前置處理。