HTTPRequestResponse サンプルでは、Microsoft BizTalk Server インターネット サーバー アプリケーション プログラミング インターフェイス (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 フォームを更新します。
このサンプルを検索する場所
<Samples Path>\AdaptersUsage\HTTPRequestResponse\
次の表に、このサンプルのファイルとその目的を示します。
| ファイル(複数可) | 説明 |
|---|---|
| Cleanup.bat | アセンブリを展開解除し、グローバル アセンブリ キャッシュ (GAC) からアセンブリを削除します。は、送受信ポートを削除します。は、必要に応じて Microsoft インターネット インフォメーション サービス (IIS) 仮想ディレクトリを削除します。 |
| HTTPRequestResponse.btproj、HTTPRequestResponse.sln | HTTP 要求を受信し、PO メッセージを処理し、応答を発行する BizTalk プロジェクトのプロジェクト ファイルとソース ファイルを提供します。 |
| 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 |
プロジェクト ファイルとソリューション ファイル、ASPX ファイル、Microsoft Visual C# .NET ソース ファイルなど、このサンプルのドライバーとして機能する ASP.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 オーケストレーションを開始します。
Important
環境を反映するように Web アプリケーション (Default.aspx.cs) を実装するサンプル コードを変更する必要があります。
http://<サーバー名>/<仮想ディレクトリ>/BTSHTTPReceive.dll。
<servername>は投稿先の Web サーバーの名前、<仮想ディレクトリ>はこのファイルが存在する仮想ディレクトリです。注
このサンプルを実行する前に、BizTalk がビルドおよび初期化プロセス中にエラーを報告していないことを確認する必要があります。
注
ファイル Setup.batを実行せずにこのサンプルのプロジェクトを開いてビルドする場合は、まず .NET Framework 厳密名ユーティリティ (sn.exe) を使用して厳密な名前キー ペアを作成する必要があります。 このキー ペアを使用して、結果のアセンブリに署名します。 また、そのプロジェクトのビルドを試みる前に、requestResponse.csproj ファイルから default.aspx.resx および Global.asax.resx への参照を手動で削除する必要があります。
注
Setup.batによって行われた変更を元に戻すには、Cleanup.bat実行します。 2 回目 Setup.bat 実行する前に、Cleanup.bat を実行する必要があります。
注
HTTP 受信アダプターを使用するには、IIS を構成して有効にする必要があります。 詳細については、「 HTTP 受信場所の IIS を構成する方法」を参照してください。
setup.bat ファイルは、既定の Web サイトに関連付けられている IIS アプリケーション プールで実行するように、このサンプルの仮想ディレクトリを構成します。 BizTalk 分離ホスト ユーザーと IIS_IURS ユーザー グループのユーザーのコンテキストで実行するようにこのサンプルの仮想ディレクトリを構成するには、新しい IIS アプリケーション プールで実行するように仮想ディレクトリを構成する必要があります。 次の手順を実行して、新しい IIS アプリケーション プールで実行するように仮想ディレクトリを構成します。
注
別の SDK サンプル用の新しいアプリケーション プールを既に作成している場合は、次の最後の手順に進むことができます。
[ スタート] をクリックし、[ すべてのプログラム] をポイントし、[ 管理ツール] をポイントして、[ インターネット インフォメーション サービス (IIS) マネージャー] をクリックします。
インターネット インフォメーション サービス (IIS) マネージャーで、[アプリケーション プール] フォルダーに移動します。
[アプリケーション プール] フォルダーを右クリックし、[新規]、[アプリケーション プール]の順にクリックします。
アプリケーション プール ID の名前 (BizTalkSDKSamples など) を入力し、[新しいアプリケーション プールに既定の設定を使用する] オプションが選択されていることを確認し、[OK] をクリックして新しいアプリケーション プールを作成します。
新しいアプリケーション プールを右クリックし、[ プロパティ] をクリックします。
[プロパティ] ダイアログ ボックスの [ ID ] タブをクリックし、このアプリケーション プールを実行する ID を 、BizTalk Isolated Host Users ユーザー グループのメンバーであるユーザーに変更します。 このユーザーは、ローカル IIS_IURS ユーザー グループのメンバーでもある必要があります。
この SDK サンプルの仮想ディレクトリを、新しいアプリケーション プールで実行するように構成します。 アプリケーション プールの設定は、[仮想ディレクトリのプロパティ] ダイアログ ボックスの [仮想ディレクトリ] タブで使用できます。 このサンプル用に作成される仮想ディレクトリは HttpRequestResponseSample です。
このサンプルの実行
HTTPRequestResponse サンプルを実行するには、次の手順に従います。
このサンプルを実行するには
Internet Explorer で、http://localhost/RequestResponse/. に移動します。
Web フォームで必要なフィールドに入力し、[ 注文 ] をクリックして注文を送信します。
応答を受信した後に Web フォームが更新されたときに、注文の状態を確認します。
コメント
このサンプルで使用される BTSHTTPReceiveISAPI 拡張機能は、1 台のコンピューターの既定のインストールで動作するように構成されています。 このサンプルを拡張して追加の構成を行うには、「 HTTP アダプター」を参照してください。
このサンプルは、Web フォームまたは HTTP 全般を使用して BizTalk Server にデータを送信するために必要なアプリケーションに拡張できます。 このサンプルの ASP.NET アプリケーション部分を拡張することで、BizTalk Server にデータを送信する前に、詳細情報のクエリを実行し、その他の前処理を実行できます。