如何使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务

使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务。

注释

在运行 BizTalk WCF 服务发布向导之前,必须生成 BizTalk 项目。 BizTalk 项目必须包含架构才能发布成 WCF 服务。

将模式发布为 WCF 服务

  1. 单击“ 开始”,指向 “所有程序”,指向 Microsoft BizTalk Server 20xx,然后单击 “BizTalk WCF 服务发布向导”。

    注释

    若要使用 WCF 适配器创建和发布 BizTalk 业务流程和架构作为 WCF 服务,请使用 BizTalk WCF 服务发布向导。 若要使用 SOAP 适配器将业务流程和架构发布为 Web 服务,请使用 BizTalk Web 服务发布向导。

  2. “欢迎使用 BizTalk WCF 服务发布向导” 页上,单击“ 下一步”。

  3. “WCF 服务类型 ”页上,选择 “服务终结点 ”选项,在 BizTalk 程序集中的所选 BizTalk 业务流程上发布 WCF 服务。

    WCF 服务类型页

  4. WCF 服务类型 页上,选中或清除 “启用元数据终结点 ”复选框,以指示由 Internet Information Services (IIS) 托管的独立 WCF 接收位置是否会发布服务元数据以使用 HTTP/GET 请求进行检索。

    选中此复选框后,向导将生成一个 Web.config 文件,其中 serviceMetadata> 元素的<httpGetEnabled 属性设置为 true。 可以使用元数据导入工具(如 SvcUtil.exe)生成在开发环境中调用此服务所需的客户端代码。 发布元数据的地址是终结点地址和 ?wsdl 查询字符串。

    注释

    若要防止无意中泄露潜在的敏感服务元数据,建议在生产环境中禁用此行为。 可以通过将 httpgetenabled 设置为 false 或删除 MEX 虚拟目录来完成此作。

  5. WCF 服务类型 页上的 适配器名称(传输类型) 下拉列表中,选择发布 WCF 服务的隔离 WCF 适配器。 可以选择以下任一适配器:

    • WCF-BasicHttp。 WCF-BasicHttp 适配器可以与 WS-I 基本配置文件 1.1 一致性 Web 服务(如基于 ASMX 的服务)通信。

    • WCF-WSHttp。 WCF-WSHttp 适配器可以通过 HTTP 和 HTTPS 上的 WS-* 标准与服务通信。

    • WCF-CustomIsolated。 WCF-CustomIsolated 适配器允许通过 HTTP 传输使用 Windows Communication Foundation (WCF) 扩展性功能。

  6. WCF 服务类型 页上,选中 以下应用程序复选框中的“创建 BizTalk 接收位置 ”,以创建对应于在 适配器名称 下拉列表中选择的每个 WCF 适配器生成的 .svc 文件的接收端口和位置。 如果接收位置已存在,则不会替换它。 选择此选项后,选择 将在 BizTalk 应用程序名称 下拉列表中生成接收端口和位置的应用程序,然后单击“ 下一步”。

  7. 在“ 创建 WCF 服务 ”页上,选择“ 发布架构作为 WCF 服务”,然后单击“ 下一步”。

    创建 WCF 服务页

  8. WCF 服务 页上,定义要发布的 WCF 服务。 使用 Web 服务说明 对话框中的树添加、删除、重命名和编辑 WCF 服务的 Web 服务说明节点以发布。 “ 信息 ”对话框提供有关所选节点的信息,并在当前节点或子节点中显示任何错误:

    • 树的根节点(Web 服务说明)描述要发布的 WCF 服务。 虚拟目录名称使用根节点作为默认名称。 可以通过选择“ 重命名 Web 服务说明”来修改 WCF 服务的 Web 服务说明名称以发布。

      WCF 服务页

    • 默认服务节点 Service1 的 Web 方法节点 Operation1 默认显示在 Web 服务说明 对话框中,可用于请求-响应接收位置。 如果计划发布此服务说明的单向 WCF 接收位置,请右键单击默认的 Web 方法节点,单击 “删除 Web 方法”,然后创建一个单向 Web 方法,如下所示:右键单击默认服务节点,指向 “添加 Web 方法”,然后单击 “单向”。

    • 若要添加新的 WCF 服务,请右键单击 Web 服务说明名称,然后单击“ 添加 Web 服务”。 这会创建一个新的 WCF 服务,但没有任何 WCF 操作。 若要修改 WCF 服务的名称,请右键单击 WCF 服务节点,单击“ 重命名 Web 服务”,然后按 Enter 接受新名称。

    • 若要添加新的 WCF 操作,请右键单击 WCF 服务节点,指向“添加 Web 方法”,然后单击“单向”(对于请求 WCF 操作)或“请求响应”(对于请求-响应 WCF 操作)。

    • 若要设置请求和响应架构类型,请右键单击 “请求 ”或“ 响应 ”节点,然后单击“ 选择架构类型”。 在“ 请求消息类型 ”对话框中,在 BizTalk 程序集文件文本框中键入包含文档架构的程序集的名称,或单击“ 浏览 ”以搜索程序集。 可用架构类型列表视图显示架构的每个根元素。 选择要添加为请求或响应架构类型的根节点。

      注释

      如果将 BizTalk 程序集文件安装到全局程序集缓存 (GAC),请确保 GAC 中的程序集已使用将在 “请求消息类型 ”对话框中选择的程序集进行更新。 如果 GAC 具有相同的完全限定名称,BizTalk WCF 服务发布向导将使用 GAC 中的程序集文件,而不是所选程序集文件。

      请求消息类型页

    • 可以重命名 请求响应 节点,而不会影响生成的代码。 定义模式后,可以重命名部分元素,以修改 WCF 操作参数名称。 可以通过查看要发布的 WCF 服务的服务元数据来查看更改。

      注释

      重命名任何 Web 服务说明节点时,不能使用空格。

  9. 单击“下一步”以继续向导。

  10. WCF 服务属性 页上的 WCF 服务文本框的 Targetnamespace 中,键入 WCF 服务的目标命名空间,然后单击“ 下一步”。

    WCF 服务属性页

  11. WCF 服务位置 页上的“ 位置 ”文本框中,键入生成 WCF 服务的 Web 目录名称。 可以接受默认位置(http://localhost/<Web service description name>)、在“ 位置” 文本框中键入 WCF 服务的位置,或单击“ 浏览 ”并选择 Web 目录。 选择以下任一选项:

    • 覆盖现有项目。 仅当 Web 目录已存在时,此选项才可用。 只有在选择此选项时,才能发布到同一位置。 否则,必须输入其他项目位置。

    • 允许匿名访问 WCF 服务。 此选项将匿名访问添加到创建的虚拟目录。 默认情况下,虚拟目录从其父虚拟目录或网站继承访问权限(如果它是顶级虚拟目录)。

      完成此页面后,单击“ 下一步”。

      WCF 服务位置页

    注释

    项目位置可以存在于其他服务器上。 若要将 WCF 服务发布到其他服务器,请键入项目名称作为 http://<servername>/<WCF service ___location>

    注释

    项目位置可以存在于非默认网站上。 发布到非默认网站时,请在 URL 中包含网站的端口号。 例如,http://<servername>:8080/<WCF service ___location>

    注释

    使用向导创建接收位置时,向导将使用默认值创建接收位置。 接收管道的默认值为 Microsoft.BizTalk.DefaultPipelines.PassThruReceive 管道。 如果通过已发布的 WCF 服务接收的消息需要任何特殊的管道处理(例如验证、关联/属性提升或入站/出站映射),则应使用 BizTalk 管理控制台将接收管道设置为 Microsoft.BizTalk.DefaultPipelines.XMLReceive 或自定义管道。

  12. WCF 服务摘要 页上,查看 WCF 服务的设置。

  13. 单击“ 创建 ”以创建 WCF 服务。

  14. 单击“ 完成 ”以完成 BizTalk WCF 服务发布向导。

  15. 使用 BizTalk WCF 服务发布向导发布 WCF 服务后,必须正确配置它们。 有关如何配置独立 WCF 接收适配器的信息,请参阅 如何配置使用 BizTalk WCF 服务发布向导发布的 WCF 服务

另请参阅

如何配置由 BizTalk WCF 服务发布向导发布的 WCF 服务
演练:使用 WCF-BasicHttp 适配器发布 WCF 服务
如何使用 BizTalk WCF 服务发布向导将业务流程发布为 WCF 服务