如何使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务
可使用 BizTalk WCF 服务发布向导将架构发布为 WCF 服务。
注意
在运行 BizTalk WCF 服务发布向导之前,必须生成 BizTalk 项目。 BizTalk 项目必须包括要发布为 WCF 服务的架构。
将架构发布为 WCF 服务
单击“开始”,指向“所有程序”,指向“Microsoft BizTalk Server 20xx”,然后单击“BizTalk WCF 服务发布向导”。
注意
若要创建 BizTalk 业务流程和架构并使用 WCF 适配器将其发布为 WCF 服务,可以使用 BizTalk WCF 服务发布向导。 若要使用 SOAP 适配器将业务流程和架构发布为 Web Services,可以使用 BizTalk Web Services 发布向导。
在 “欢迎使用 BizTalk WCF 服务发布向导” 页上,单击“ 下一步”。
在“ WCF 服务类型 ”页上,选择“ 服务终结点 ”选项,以在 BizTalk 程序集中的所选 BizTalk 业务流程上发布 WCF 服务。
在“WCF 服务类型”页上,选中或清除“启用元数据终结点检查框,以指示 Internet Information Services (IIS) 托管的独立 WCF 接收位置是否会发布服务元数据,以便使用 HTTP/GET 请求进行检索。
选中此检查框后,向导将生成一个 Web.config 文件,其中 serviceMetadata> 元素的<httpGetEnabled 属性设置为 true。 您可以使用元数据导入工具(如 SvcUtil.exe)生成在开发环境中调用此服务所需的客户端代码。 发布元数据的地址是终结点地址加上 ?wsdl 查询字符串。
注意
为了避免无意中泄漏可能敏感的服务元数据,建议在生产环境中禁用此行为。 这可通过将 httpgetenabled 设置为 false 完成,或删除 MEX 虚拟目录。
在“ WCF 服务类型 ”页上的“ 适配器名称 (传输类型) 下拉列表中,选择发布 WCF 服务的隔离 WCF 适配器。 可以选择以下任意适配器:
WCF-BasicHttp。 WCF-BasicHttp 适配器可与符合 WS-I Basic Profile 1.1 的 Web Services(如基于 ASMX 的服务)进行通信。
WCF-WSHttp。 WCF-WSHttp 适配器可通过 HTTP 和 HTTPS 上的 WS-* 标准与服务通信。
WCF-CustomIsolated。 WCF-CustomIsolated 适配器支持通过 HTTP 传输使用 Windows Communication Foundation (WCF) 扩展性功能。
在“WCF 服务类型”页上,选择“在以下应用程序中创建 BizTalk 接收位置检查框,以创建与在”适配器名称“下拉列表中选择的 WCF 适配器的每个生成的 .svc 文件对应的接收端口和位置。 如果接收位置已经存在,则不会替换它。 选择此选项后,在 BizTalk 应用程序名称 下拉列表中选择将生成接收端口和位置的应用程序,然后单击“ 下一步”。
在 “创建 WCF 服务 ”页上,选择“ 将架构发布为 WCF 服务”,然后单击“ 下一步”。
在“ WCF 服务 ”页上,定义要发布的 WCF 服务 () 。 使用 “ Web 服务说明 ” 对话框中的树添加、删除、重命名和编辑要发布的 WCF 服务的 Web 服务说明节点。 “ 信息 ”对话框提供有关所选节点的信息,并显示当前节点或子节点中的任何错误:
树的根节点(Web Services 说明)描述了要发布的 WCF 服务。 虚拟目录名称使用该根节点作为默认名称。 可以通过选择“重命名 Web 服务说明”来修改要发布的 WCF 服务的 Web 服务说明名称。
默认服务节点 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 Services 说明节点时,不能使用空格。
单击“ 下一步 ”继续向导。
在 “WCF 服务属性” 页上的“ WCF 服务的目标名称空间 ”文本框中,键入 WCF 服务的目标命名空间,然后单击“ 下一步”。
在 “WCF 服务位置 ”页上的“ 位置 ”文本框中,键入生成 WCF 服务的 Web 目录名称。 可以接受默认位置 (
http://localhost/<Web service description name>
) ,在“ 位置 ”文本框中键入 WCF 服务的位置,或单击“ 浏览 ”并选择 Web 目录。 选择以下任何选项:覆盖现有项目。 仅当 Web 目录已存在时,此选项才可用。 仅当选择了此选项时,您才能够发布到同一位置。 否则,必须输入不同的项目位置。
允许匿名访问 WCF 服务。 此选项会为已创建的虚拟目录添加匿名访问权限。 默认情况下,虚拟目录继承其父虚拟目录或网站(如果该目录是顶级虚拟目录)的访问权限。
完成此页面后,单击“ 下一步”。
注意
项目位置可位于其他服务器上。 若要将 WCF 服务发布到其他服务器,请将项目名称键入为
http://<servername>/<WCF service location>
。注意
项目位置可位于非默认网站上。 发布到非默认网站时,请在该 URL 中包括网站的端口号。 例如,
http://<servername>:8080/<WCF service location>
。注意
在使用向导创建接收位置时,向导会使用默认值创建接收位置。 接收管道的默认值为 Microsoft.BizTalk.DefaultPipelines.PassThruReceive 管道。 如果通过已发布的 WCF 服务接收的消息需要任何特殊的管道处理 (例如验证、关联/属性提升或入站/出站映射) 则应将接收管道设置为 Microsoft.BizTalk.DefaultPipelines.XMLReceive,或使用 BizTalk 管理控制台将接收管道设置为自定义管道。
在 “WCF 服务摘要 ”页上,查看 WCF 服务的设置。
单击“ 创建 ”以创建 WCF 服务。
单击“ 完成 ”以完成 BizTalk WCF 服务发布向导。
使用 BizTalk WCF 服务发布向导发布 WCF 服务之后,必须对其进行正确配置。 有关如何配置独立 WCF 接收适配器的信息,请参阅 如何配置使用 BizTalk WCF 服务发布向导发布的 WCF 服务。
另请参阅
如何配置使用 BizTalk WCF 服务发布向导发布的 WCF 服务
演练:通过 WCF-BasicHttp 适配器发布 WCF 服务
如何使用 BizTalk WCF 服务发布向导将业务流程发布为 WCF 服务