如何:使用 UDDI 绑定密钥搜索解析服务终结点
目标
本部分演示如何使用 ESB Designer域特定语言 (DSL) 创建基于行程的路由滑点,该路由滑点使用通用说明、发现和集成 (UDDI) 3 解析程序来使用绑定密钥搜索查找服务终结点。 在此方案中,服务终结点将是在 UDDI 中发布的文件终结点。
在本操作方法主题中,你将完成以下步骤:
创建路线路由单以解析服务终结点。
配置路线以使用 UDDI 3 解析程序将消息路由到服务终结点。
使用行程测试客户端示例应用程序测试行程。
必备条件
本操作方法主题中的过程需要完成 开发活动的先决条件。
步骤
创建行程模型
在 Visual Studio 中,打开 C:\HowTos\Patterns\Patterns.sln。
在“解决方案资源管理器”中,右键单击“行程库”项目,指向“添加”,然后单击“新建行程”。
在“ 添加新项 ”对话框的“ 名称 ”框中,键入 “UDDI3BindingKeySearch”,然后单击“ 添加”。
配置行程的属性
在 Visual Studio 中,单击 UDDI3BindingKeySearch.行程的设计图面。 在 UDDI3BindingKeySearch 属性窗口中,配置以下属性:
在 “模型导出程序 ”下拉列表中,单击“ XML 行程导出程序”。
在 “扩展程序设置” 部分的 “行程 XML 文件 ”属性旁边,单击省略号按钮 (...) 。
在“选择 XML 文件”对话框中的“文件名”框中键入 C:\HowTos\Itineraries\UDDI3BindingKeySearch,然后单击“保存”。
注意
此步骤使你能够将行程作为 XML 导出到本地文件位置。 通过将行程导出到本地文件位置(而不是行程数据库),可以使用 ESB 测试客户端应用程序测试行程。 稍后将在此操作说明主题中完成此过程。
定义行程的结构
从工具箱中,将 On-Ramp 模型元素拖到设计图面。 在 OnRamp1 属性窗口中,配置以下属性:
单击 “名称” 属性,然后键入 ReceiveNAOrder。
在 “扩展程序 ”下拉列表中,单击“ On-Ramp ESB 扩展程序”。
在 BizTalk 应用程序 下拉列表中,单击“ Microsoft.Practices.ESB”。
在“接收端口”下拉列表中,单击“OnRamp.行程”。
从“工具箱”中,将 “行程服务 ”模型元素拖到设计图面。 在“行程服务1”属性窗口中,配置以下属性:
单击 “名称” 属性,然后键入 BindingKeyRoute。
在 “行程服务扩展程序 ”下拉列表中,单击“ 消息扩展程序”。
在 “容器 ”下拉列表中,展开“ ReceiveNAOrder”,然后单击“ 接收处理程序”。
在 “服务名称” 下拉列表中,单击“ Microsoft.Practices.ESB.Services.Routing”。
右键单击 BindingKeyRoute 模型元素的 Resolver 集合,然后单击“添加新冲突解决程序”。 在 Resolver1 属性窗口中,配置以下属性:
单击 “Name” 属性,然后键入 BindingKeySearch。
在 “冲突解决程序实现 ”下拉列表中,单击“ Uddi3 冲突解决程序扩展”。
在 “解析程序名字对象 ”下拉列表中,单击“ UDDI3”。
单击“ 绑定键 ”属性,然后键入 uddi:esb:orderfileservicev3.1。
右键单击 BindingKeySearch 解析程序,然后单击“ 测试冲突解决程序配置”。
注意
验证“输出”窗口中显示的输出。
在“工具箱”中,单击“ 连接器”。 将连接从 ReceiveNAOrder 模型元素拖到 BindingKeyRoute 模型元素。
从工具箱中,将 Off-Ramp 模型元素拖到设计图面,然后将其放置在 BindingKeyRoute 模型元素的右侧。 在 OffRamp1 属性窗口中,配置以下属性:
单击 “名称” 属性,然后键入 SendNAOrder。
在 “扩展程序 ”下拉列表中,单击“ Off-Ramp ESB Extender”。
在 BizTalk 应用程序 下拉列表中,单击“ GlobalBank.ESB”。
在 “发送端口 ”下拉列表中,单击“ DynamicResolutionOneWay”。
从工具箱中,将 行程服务 模型元素拖动到设计图面,然后将其放置在 BindingKeyRoute 模型元素和 SendNAOrder 模型元素之间。 在“行程服务1”属性窗口中,配置以下属性:
单击“ 名称” 属性,然后键入 SendPortFilter。
在 “行程服务扩展程序 ”下拉列表中,单击“ 偏离坡道扩展程序”。
在 “Off-Ramp ”下拉列表中,展开“ SendNAOrder”,然后单击“ 发送处理程序”。
在“工具箱”中,单击“ 连接器”。 将 连接从 BindingKeyRoute 模型元素拖到 SendPortFilter 模型元素。
在“工具箱”中,单击“ 连接器”。 将连接从 SendPortFilter 模型元素拖到 SendNAOrder 模型元素。
导出模型以用于行程测试客户端
在 Visual Studio 中,右键单击 UDDI3BindingKeySearch 行程的设计图面,然后单击“ 导出模型”。
注意
行程的 XML 版本将在 Visual Studio 中打开。
保存所有项目项目。
在 Windows 资源管理器中,浏览到 C:\HowTos\行程,并注意到创建行程 XML (UDDI3BindingKeySearch.xml) 。
测试行程
使用 在开发活动的先决条件 (C:\HowTos\ESB.Itinerary.Test.exe - 快捷方式) 中创建的快捷方式打开行程测试客户端示例应用程序。
在“行程测试客户端”中,清除“使用 WCF 服务检查”框,然后单击“加载行程”。
在“打开行程文件”对话框中,浏览到 C:\HowTos\行程。 选择“UDDI3BindingKeySearch.xml”,然后单击“打开”以加载行程。
单击 “确定” 清除“ 已成功加载行程” 消息。
在“行程测试客户端”中,单击“ 加载消息 ”框旁边的省略号按钮 (...) 。
在 “选择要加载的 XML 文档 ”对话框中,浏览到 C:\HowTos。 选择 “NAOrderDoc.xml”,然后单击“ 打开 ”以加载测试消息。
单击“ 提交请求” 按钮。 测试完成后,单击“ 确定 ”关闭显示的确认。
在 Windows 资源管理器中,浏览到 C:\Projects\Microsoft.Practices.ESB\Source\Samples\DynamicResolution\Test\Filedrop\Out。验证 %MessageID%.xml 消息是否已写入目录。
其他资源
有关详细信息,请参阅下列相关主题: