使用 BizTalk WCF 服务发布向导将编排流程发布为 WCF 服务。
注释
在运行 BizTalk WCF 服务发布向导之前,必须生成 BizTalk 项目。 BizTalk 项目必须包含至少一个具有公共类型修饰符的接收端口的业务流程。 创建端口时,协调流程的属性中会存在此类型修饰符。
将编排发布为 WCF 服务
单击“ 开始”,指向 “所有程序”,指向 BizTalk Server,然后单击 “BizTalk WCF 服务发布向导”。
注释
若要使用 WCF 适配器创建和发布 BizTalk 业务流程和架构作为 WCF 服务,请使用 BizTalk WCF 服务发布向导。 若要使用 SOAP 适配器将业务流程和架构发布为 Web 服务,请使用 BizTalk Web 服务发布向导。
在 “欢迎使用 BizTalk WCF 服务发布向导” 页上,单击“ 下一步”。
在 “WCF 服务类型 ”页上,选择 “服务终结点 ”选项,在 BizTalk 程序集中的所选 BizTalk 业务流程上发布 WCF 服务。
在 WCF 服务类型 页上,选中“ 启用元数据终结点 ”复选框,以指示 Internet Information Services (IIS) 托管的独立 WCF 接收位置是否使用 HTTP/GET 请求发布服务元数据进行检索。 通过启用此复选框,向导将在serviceMetadata>元素的httpGetEnabled属性设置为true的情况下生成Web.config。 可以使用元数据导入工具(如 SvcUtil.exe)生成在开发环境中调用此服务所需的客户端代码。 发布元数据的地址是终结点地址和 ?wsdl 查询字符串。
注释
为了防止无意中泄露潜在的敏感服务元数据,建议在生产环境中禁用此行为。 可以通过将 httpgetenabled 设置为 false 或删除 MEX 虚拟目录来完成此作。
在 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) 扩展性功能。
在 “WCF 服务类型 ”页上,选中 以下应用程序复选框中的“创建 BizTalk 接收位置 ”,以创建对应于在 适配器名称 下拉列表中选择的每个 WCF 适配器生成的 .svc 文件的接收端口和位置。 如果接收位置已存在,则不会替换它。 选择此选项后,选择 将在 BizTalk 应用程序名称 下拉列表中生成接收端口和位置的应用程序,然后单击“ 下一步”。
在“ 创建 WCF 服务 ”页上,选择“ 将 BizTalk 业务流程发布为 WCF 服务”,然后单击“ 下一步”。
在 BizTalk 程序集 页上的 BizTalk 程序集文件(*.dll) 文本框中,键入 BizTalk 程序集文件的名称,或单击“浏览”以浏览到包含业务流程的程序集进行发布,然后单击“下一步”。
注释
在选择 BizTalk 程序集文件之前,请使用 BizTalk 程序集将所有依赖程序集复制到同一文件夹中,或将依赖程序集安装到全局程序集缓存(GAC)。
注释
如果将 BizTalk 程序集文件安装到 GAC 中,请确保 GAC 中的程序集已使用将在 BizTalk 程序集 对话框中选择的程序集进行更新。 如果 GAC 中的程序集具有相同的完全限定名称,BizTalk WCF 服务发布向导将使用 GAC 中的程序集文件,而不是所选程序集文件。
注释
长度超过 260 个字符的路径可能会导致错误消息,指出路径太长。
在 “业务流程和端口 ”页上,单击加号(+)展开每个程序集和业务流程的树节点。 通过选中相应的树状节点复选框,选择要发布的编排和端口。 如果要为所有选定的接收端口创建一个 WCF 服务(.svc 文件),而不是为每个接收端口创建一 个 WCF 服务,请选择“将所有选定的端口合并到单个 WCF 服务 ”选项中,然后单击“ 下一步”。
注释
将所有选定的端口合并到单个 WCF 服务中时,所有所选端口都具有相同的端口类型,并且端口中的作名称是唯一的。
在 WCF 服务属性 页上的 WCF 服务文本框的 Targetnamespace 中,键入 WCF 服务的目标命名空间,然后单击“ 下一步”。
在 WCF 服务位置 页上的“ 位置 ”文本框中,键入生成 WCF 服务的 Web 目录名称。 可以接受默认位置(
http://localhost/<BizTalk Assembly Name>)、在“ 位置” 文本框中键入 WCF 服务的位置,或单击“ 浏览 ”并选择 Web 目录。 选择以下任一选项:覆盖现有项目。 仅当 Web 目录已存在时,此选项才可用。 只有在选择此选项时,才能发布到同一位置。 否则,必须输入其他项目位置。
允许匿名访问 WCF 服务。 此选项将匿名访问添加到创建的虚拟目录。 默认情况下,虚拟目录从其父虚拟目录或网站继承访问权限(如果它是顶级虚拟目录)。
完成此页面后,单击“ 下一步”。
注释
项目位置可以存在于其他服务器上。 若要将 WCF 服务发布到其他服务器,请键入项目名称作为
http://<servername>/<WCF service location>。注释
项目位置可以存在于非默认网站上。 发布到非默认网站时,请在 URL 中包含网站的端口号。 例如,
http://<servername>:8080/<WCF service location>。注释
使用向导创建接收位置时,向导将使用默认值创建接收位置。 接收管道的默认值为 Microsoft.BizTalk.DefaultPipelines.PassThruReceive 管道。 如果通过已发布的 WCF 服务接收的消息需要任何特殊的管道处理(例如验证、关联/属性提升或入站/出站映射),则应使用 BizTalk Server 管理控制台将接收管道设置为 Microsoft.BizTalk.DefaultPipelines.XMLReceive 或自定义管道。
注释
如果在到达此页面后决定不使用 发布业务流程编排作为 WCF 服务 选项,那么在 创建 WCF 服务 页面上,你可能会看到 Web 服务说明 显示服务和方法名称,这些名称来自您在更改发布选项之前选择的 BizTalk 程序集。 这是因为当发布方法发生更改时,内存中 Web 服务说明不会清除。
在 WCF 服务摘要 页上,查看 WCF 服务的设置。
单击“ 创建 ”以创建 WCF 服务。
单击“ 完成 ”以完成 BizTalk WCF 服务发布向导。
使用 BizTalk WCF 服务发布向导发布 WCF 服务后,必须正确配置它们。 有关如何配置独立 WCF 接收适配器的信息,请参阅 如何配置使用 BizTalk WCF 服务发布向导发布的 WCF 服务。
另请参阅
如何配置由 BizTalk WCF 服务发布向导发布的 WCF 服务
演练:使用 WCF-BasicHttp 适配器发布 WCF 服务
如何使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务