HTTPRequestResponse

HTTPRequestResponse 示例演示如何使用 Microsoft BizTalk Server Internet 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 回执消息:

  1. ASP.NET 应用程序使用 HTTP 请求向 BizTalk Server 提交 XML PO 消息。

  2. BizTalk Server 接收此 XML PO 消息,并构造 XML PO 回执消息,然后以 HTTP 响应的形式向 ASP.NET 应用程序发回此消息。

    ASP.NET 应用程序接收此 XML PO 回执响应,并使用从此响应中提取的状态信息刷新 Web 窗体。

本示例所在的位置

<Samples Path>\AdaptersUsage\HTTPRequestResponse\

下表显示了本示例中的文件及其用途说明:

文件 说明
Cleanup.bat 取消部署程序集并将其从全局程序集缓存 (GAC) 中删除;删除发送和接收端口;根据需要删除 Microsoft Internet 信息服务 (IIS) 虚拟目录。
HTTPRequestResponse.btproj、HTTPRequestResponse.sln 提供接收 HTTP 请求、处理 PO 消息并发出响应的 BizTalk 项目的项目和源文件。
HTTPRequestResponseBinding.xml 提供自动设置,如端口绑定。
POAck.xsd、POSchema.xsd 分别提供 PO 回执和 PO .xml 文件的架构。
POReceiveOrchestration.odx 提供用于接收 PO、处理 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 示例。

构建和初始化此示例

  1. 在命令窗口中,导航到下面的文件夹:

    <示例路径>\AdaptersUsage\HTTPRequestResponse

  2. 运行 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:// 服务器名称>/<虚拟 dir>/BTSHTTPReceive.dll,其中 <servername> 是要发布到的 Web 服务器的名称,<虚拟 dir> 是此文件所在的虚拟目录。

      注意

      在尝试运行本示例之前,应确认在生成和初始化过程中 BizTalk 未报告任何错误。

      注意

      如果选择在不运行 Setup.bat 文件的情况下打开并生成本示例中的项目,则必须先使用 .NET Framework 强名称实用工具 (sn.exe) 创建一个强名称密钥对。 使用该密钥对可以对生成的程序集签名。 同时,在尝试生成该项目之前,您还必须从 RequestResponse.csproj 文件中手动删除对 default.aspx.resx 和 Global.asax.resx 的引用。

      注意

      若要撤销 Setup.bat 所做的更改,请运行 Cleanup.bat。 必须在第二次运行 Setup.bat 之前运行 Cleanup.bat。

      注意

         您必须配置并启用 IIS 以便使用 HTTP 接收适配器。 有关详细信息,请参阅 如何为 HTTP 接收位置配置 IIS

  3. setup.bat 文件将本示例的虚拟目录配置为在与默认网站相关联的 IIS 应用程序池中运行。 若要将此示例的虚拟目录配置为在 BizTalk 独立主机用户IIS_IURS 用户组的用户的上下文下运行,应将虚拟目录配置为在新 IIS 应用程序池中运行。 通过完成以下步骤,可将虚拟目录配置为在新的 IIS 应用程序池中运行:

    注意

    如果已经为另一个 SDK 示例创建了新的应用程序池,可继续进行下面的最后一步。

    1. 单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“Internet Information Services (IIS)管理器”

    2. Internet Information Services (IIS) Manager 中,导航到 “应用程序池” 文件夹。

    3. 右键单击“ 应用程序池 ”文件夹,然后单击“ 新建”、“ 应用程序池...”

    4. 输入 应用程序池 ID 的名称: 例如 BizTalkSDKSamples,验证是否选择了“ 对新应用程序池使用默认设置” 选项,然后单击“ 确定” 创建新的应用程序池。

    5. 右键单击新的应用程序池,然后单击“ 属性”。

    6. 单击属性对话框的“ 标识 ”选项卡,并将运行此应用程序池的标识更改为 BizTalk 独立主机用户组 成员的用户。 此用户还应是本地 IIS_IURS 用户组的成员。

    7. 将本 SDK 示例的虚拟目录配置为在新应用程序池下运行。 “虚拟目录属性”对话框的“虚拟目录”选项卡上提供了“应用程序池”设置。 为本示例创建的虚拟目录为 HttpRequestResponseSample。

运行本示例

使用以下过程运行 HTTPRequestResponse 示例。

运行本示例的步骤

  1. 在 Internet Explorer 中,导航到 http://localhost/RequestResponse/.

  2. 在 Web 窗体中填写所需字段,然后单击“ 下单” 提交订单。

  3. 查看 Web 窗体在收到响应后进行刷新时的订单状态。

注释

此示例中使用的 BTSHTTPReceiveISAPI 扩展配置为在单台计算机上运行默认安装。 若要扩展此示例以获取其他配置,请参阅 HTTP 适配器

您可以将本示例扩展为通常通过 Web 窗体或 HTTP 向 BizTalk Server 提交数据所需的应用程序。 通过扩展本示例的 ASP.NET 应用程序部分,您可以在向 BizTalk Server 提交数据之前查询更多信息并执行其他预处理。

另请参阅

HTTP 适配器示例