如何:使用 UDDI 绑定密钥搜索解析服务终结点

目标

本部分演示如何使用特定于 ESB Designer 域的语言 (DSL) 创建使用通用说明、发现和集成 (UDDI) 3 解析程序来使用绑定键搜索查找服务终结点的基于行程的路由名单。 在此方案中,服务终结点将是在 UDDI 中发布的文件终结点。

在此操作说明主题中,你将完成以下步骤:

  • 创建行程路由名单以解析服务终结点。

  • 配置路线以使用 UDDI 3 解析程序将消息路由到服务终结点。

  • 使用“行程测试客户端”示例应用程序测试行程。

先决条件

本操作指南主题中的过程需要完成 开发活动的先决条件

步骤

创建行程模型

  1. 在 Visual Studio 中,打开 C:\HowTos\Patterns\Patterns.sln。

  2. 在解决方案资源管理器中,右键单击“行程库”项目,指向“添加”,然后单击“新建行程”。

  3. 在“ 添加新项 ”对话框中的 “名称 ”框中,键入 UDDI3BindingKeySearch,然后单击“ 添加”。

配置行程的属性

  1. 在 Visual Studio 中,单击 UDDI3BindingKeySearch.行程的设计图面。 在 UDDI3BindingKeySearch 属性窗口中,配置以下属性:

    1. “模型导出程序 ”下拉列表中,单击 “XML 行程导出程序”。

    2. “扩展程序设置” 部分的 “行程 XML 文件 ”属性旁边,单击省略号按钮 (...) 。

    3. “选择 XML 文件”对话框中,在“文件名”框中键入 C:\HowTos\Itineraries\UDDI3BindingKeySearch,然后单击“保存”。

      注意

      通过此步骤,可以将行程导出为 XML 到本地文件位置。 通过将行程导出到本地文件位置,而不是到行程数据库,可以使用 ESB 测试客户端应用程序测试行程。 稍后将在本操作指南主题中完成此过程。

定义行程的结构

  1. 从工具箱中,将 On-Ramp 模型元素拖到设计图面。 在 OnRamp1 属性窗口中,配置以下属性:

    1. 单击 Name 属性,然后键入 ReceiveNAOrder

    2. “扩展程序 ”下拉列表中,单击“ On-Ramp ESB 扩展程序”。

    3. BizTalk 应用程序 下拉列表中,单击 Microsoft.Practices.ESB

    4. “接收端口 ”下拉列表中,单击 “OnRamp.行程”。

  2. 在工具箱中,将 行程服务 模型元素拖到设计图面。 在 ItineraryService1 属性窗口中,配置以下属性:

    1. 单击 Name 属性,然后键入 BindingKeyRoute

    2. “行程服务扩展程序 ”下拉列表中,单击“ 消息传送扩展程序”。

    3. 容器 下拉列表中,展开 ReceiveNAOrder,然后单击 “接收处理程序”。

    4. “服务名称 ”下拉列表中,单击 Microsoft.Practices.ESB.Services.Routing

  3. 右键单击 BindingKeyRoute 模型元素的 Resolver 集合,然后单击“添加新解析程序”。 在 Resolver1 属性窗口中,配置以下属性:

    1. 单击 Name 属性,然后键入 BindingKeySearch

    2. “解析程序实现 ”下拉列表中,单击 “Uddi3 解析程序扩展”。

    3. “解析程序名字对象” 下拉列表中,单击 “UDDI3”。

    4. 单击 “绑定键 ”属性,然后键入 uddi:esb:orderfileservicev3.1

  4. 右键单击 BindingKeySearch 解析程序,然后单击 “测试解析程序配置”。

    注意

    验证输出显示在“输出”窗口中。

  5. 在工具箱中,单击 “连接器”。 将 来自 ReceiveNAOrder 模型元素的连接拖到 BindingKeyRoute 模型元素。

  6. 在工具箱中,将 一个 Off-Ramp 模型元素拖到设计图面,然后将其放在 BindingKeyRoute 模型元素的右侧。 在 OffRamp1 属性窗口中,配置以下属性:

    1. 单击 Name 属性,然后键入 SendNAOrder

    2. “扩展程序 ”下拉列表中,单击“ 关闭坡道 ESB 扩展程序”。

    3. BizTalk 应用程序 下拉列表中,单击 GlobalBank.ESB

    4. “发送端口 ”下拉列表中,单击 DynamicResolutionOneWay

  7. 在工具箱中,将 行程服务 模型元素拖到设计图面,然后将其放在 BindingKeyRoute 模型元素和 SendNAOrder 模型元素之间。 在 ItineraryService1 属性窗口中,配置以下属性:

    1. 单击 Name 属性,然后键入 SendPortFilter

    2. “行程服务扩展器 ”下拉列表中,单击“ 关坡扩展程序”。

    3. “关闭坡道 ”下拉列表中,展开 SendNAOrder,然后单击“ 发送处理程序”。

  8. 在工具箱中,单击 “连接器”。 将 BindingKeyRoute 模型元素的连接拖到 SendPortFilter 模型元素。

  9. 在工具箱中,单击 “连接器”。 将连接从 SendPortFilter 模型元素拖到 SendNAOrder 模型元素。

导出用于行程测试客户端的模型

  1. 在 Visual Studio 中,右键单击 UDDI3BindingKeySearch 行程的设计图面,然后单击“ 导出模型”。

    注意

    将在 Visual Studio 中打开行程的 XML 版本。

  2. 保存所有项目项目。

  3. 在 Windows 资源管理器中,浏览到 C:\HowTos\行程,并注意到创建行程 XML (UDDI3BindingKeySearch.xml) 。

测试行程

  1. 使用开发 活动先决条件 (C:\HowTos\ESB.Itinerary.Test.exe - 快捷方式) 创建快捷方式打开行程测试客户端应用程序示例应用程序。

  2. 在行程测试客户端中,清除“ 使用 WCF 服务 ”复选框,然后单击“ 加载行程”。

  3. 在“打开行程文件”对话框中,浏览到 C:\HowTos\行程。 选择UDDI3BindingKeySearch.xml,然后单击“打开”加载行程。

  4. 单击 “确定 ”以清除“ 成功加载行程 ”消息。

  5. 在行程测试客户端中,单击 “加载消息 ”框旁边的省略号按钮 (...) 。

  6. “选择要加载的 XML 文档 ”对话框中,浏览到 C:\HowTos。 选择 NAOrderDoc.xml,然后单击“ 打开 ”以加载测试消息。

  7. 单击“ 提交请求 ”按钮。 测试完成后,单击“ 确定 ”以消除出现的确认。

  8. 在 Windows 资源管理器中,浏览到 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\Out。验证 %MessageID%.xml消息是否已写入目录。

其他资源

有关详细信息,请参阅下列相关主题: