如何配置使用 BizTalk WCF 服务发布向导发布的 WCF 服务

使用 BizTalk WCF 服务发布向导发布 WCF 服务之后,必须对其进行正确配置。 本主题介绍如何配置发布的 WCF 服务。

注意

你必须生成 BizTalk 项目,然后通过运行 BizTalk WCF 服务发布向导将其发布。 有关如何使用 BizTalk WCF 服务发布向导的详细信息,请参阅如何使用 BizTalk WCF 服务发布向导将业务流程发布为 WCF 服务和如何使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务

配置已发布 WCF 服务的接收位置

  1. 通过运行 BizTalk WCF 服务发布向导来发布 BizTalk 项目。

  2. 如果在创建 WCF 服务时未在下图中选择“ 创建 BizTalk 接收位置 ”选项,请为已发布的 WCF 服务创建新的接收端口和接收位置,然后为接收位置将使用的传输类型选择 WCF 适配器。 必须选择与下图所示的“ WCF 服务类型 ”页上选择的相同 WCF 适配器。 有关创建接收位置的详细信息,请参阅 如何创建接收位置

    注意

    BizTalk WCF 服务发布向导会在已发布 WCF 服务(.svc 文件)的 Web 目录中的 \App_Data\Temp 文件夹中创建一个绑定文件 BindingInfo.xml。 如果选择“ 创建 BizTalk 接收位置 ”选项,向导将使用绑定文件创建接收位置。 在 BizTalk Server 管理控制台中,可以通过导入该绑定文件来手动创建接收位置。 有关导入绑定文件的详细信息,请参阅 导入绑定

    WCF 服务类型页

  3. 如有必要,请按如下所示打开BizTalk Server管理控制台:单击“开始”,指向“程序”,指向“Microsoft BizTalk Server”,然后单击“BizTalk Server管理”。

  4. 在控制台树中,依次展开“BizTalk Server管理”、“BizTalk 组”、“应用程序”、“应放置生成的 WCF 服务的应用程序”、“接收位置”,然后双击 WCF 服务的接收位置。

  5. 在“ 接收位置属性 ”对话框中,单击“ 配置”。

  6. 如果接收位置托管 WCF-BasicHttp 或 WCF-WSHttp 适配器,请在“ 传输属性 ”对话框中单击“ 安全 ”选项卡,然后在选项卡上配置安全属性。如果接收位置承载 WCF-CustomIsolated 适配器,请在“ 传输属性 ”对话框中单击“ 绑定 ”选项卡,然后在选项卡上配置绑定信息。

    585ecdad-bdee-40c0-b2f1-7ace74d503e5WCF-BasicHttp 适配器

    注意

    独立 WCF 适配器的传输客户端凭据类型属性必须与承载此接收位置的 Internet 信息服务 (IIS) 虚拟目录的验证方案相匹配。 例如,如果 属性设置为 Windows,则还需要为托管此接收位置的虚拟目录启用集成Windows 身份验证。 相似地,如果将该属性设置为“无” ,则你必须允许匿名访问此接收位置所在的虚拟目录。 有关如何配置 WCF-BasicHttp 和 WCF-WSHttp 适配器的安全属性的详细信息,请参阅 WCF-BasicHttp 适配器如何配置 WCF-WSHttp 接收位置。 有关如何配置绑定信息的详细信息,请参阅 如何配置 WCF-CustomIsolated 接收位置

  7. 如果在创建 WCF 服务时未选择“ 创建 BizTalk 接收位置 ”选项,请在“ 传输属性 ”对话框中单击“ 常规 ”选项卡。在“ 常规 ”选项卡上的“ 地址 ”文本框中键入此接收位置的 URI。 指定 BizTalk WCF 服务发布向导在上一过程中生成的虚拟目录和 .svc 文件名。 例如,输入 /path/service.svc

    注意

    Address 属性应以正斜杠 (“/”) 开头,以“.svc”结尾。 Address 属性不得包含协议方案、计算机名称或端口号,例如http://host:port. 只能将虚拟目录路径用于该属性。 WCF 服务标记文件的扩展名必须为 .svc。

    1126fa6a-e3e9-44ad-aeb0-90c78226aeebWCF-BasicHttp 适配器 的

  8. 如果在 WCF-BasicHttp 和 WCF-WSHttp 适配器的“安全性”选项卡上的“安全模式”下拉列表中选择了 TransportTransportWithMessageCredential,则必须在 IIS 中设置安全套接字层 (SSL) 。 如果在 WCF-CustomIsolated 适配器的绑定信息中设置 TransportTransportWithMessageCredential 安全模式,则还必须在 IIS 中设置 SSL。

  9. 如果接收位置托管 WCF-BasicHttp 或 WCF-WSHttp 适配器,请在“ 传输属性 ”对话框中,根据需要配置“ 常规”、“ 绑定”和“ 消息 ”选项卡。 如果接收位置托管 WCF-CustomIsolated 适配器,请根据需要配置 “常规”、“ 行为”、“ 其他”和“ 消息 ”选项卡。 对于 WCF-CustomIsolated 适配器,可以从配置文件导入“常规”选项卡上的“地址 (URI) ”和“终结点标识”属性、“绑定”选项卡上的绑定信息以及“行为”选项卡上的此接收位置的行为。

  10. 使用 BizTalk Server 管理控制台为已发布的 WCF 服务启用接收位置。 有关如何启用接收位置的详细信息,请参阅 如何启用接收位置

    注意

    接收位置在创建时处于禁用状态。 使用 BizTalk Server WCF 服务向导创建接收位置后,必须启用接收位置。

  11. 使用 IIS 管理控制台配置 IIS 应用程序池以承载已发布的 WCF 服务的接收位置。 有关如何为独立 WCF 适配器配置应用程序池的详细信息,请参阅 为独立 WCF 接收适配器配置 IIS

  12. 打开命令提示符,转到BizTalk Server WCF 服务发布向导在 %SystemDrive%\InetPub\ 中创建 WCF 服务的文件夹,然后使用记事本打开 Web.config 文件。

  13. 在记事本中,在 system.web> 元素中添加<以下行:

    <trust level="Full" originUrl="" />
    

    注意

    此设置是可选的,用于向已发布的 WCF 服务的宿主 ASP.NET 应用程序授予对受操作系统安全机制保护的任何资源的访问权限。 如果在已发布的 WCF 服务所在的计算机上安装并运行了 Windows SharePoint Services,则这是 WCF 所必需的信任级别。

  14. 在 Internet Explorer 的“ 地址 ”框中,使用格式 http:// host[:p ort]/apppath/wcfservicename.svc 键入 WCF 服务的 URL,以测试已发布的 WCF 服务。 下表介绍了这些参数。

    参数
    host[:p ort] 在其中部署了你的 WCF 服务的计算机的名称。 此服务器名称后面可跟冒号和端口号。
    apppath 虚拟目录和 Web 应用程序路径的名称。
    wcfservicename.svc WCF 服务 .svc 文件的名称。
  15. 为了避免无意中泄漏可能为敏感信息的服务元数据,我们建议执行下列任务以在生产环境中禁止此行为:

    1. 在 %SystemDrive%\InetPub\ 中找到 BizTalk Server WCF 服务发布向导创建的 WCF 服务所在的文件夹,然后使用记事本打开该文件夹中的 Web.config。

    2. 在记事本中,将 serviceMetadata> 元素中的<httpGetEnabled 属性设置为 false,如下所示:

      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
      

另请参阅

配置 WCF-BasicHttp 适配器配置 WCF-WSHttp 适配器配置 WCF-CustomIsolated 适配器如何在 Windows Server 2003 中配置 IIS 网站身份验证