通过 BizTalk Server 2013 中的编排调用 Bing Maps REST API





5.00/5 (3投票s)
本文旨在解释如何在 BizTalk Server 2013 的编排中调用 Bing Maps REST API。
引言
本文快速解释了如何使用 BizTalk 连接到基于 REST 的服务。BizTalk 编排用于通过 REST API 与简单的 Bing Geocoding 服务进行通信。BizTalk 2013 引入了一个新的 REST 适配器 WCF-WebHttp
,以及一个名为 '
变量映射
'
的新概念。
进一步阅读的快速参考
如果您想详细了解 REST 并希望在阅读本文之前进一步阅读,
请参考以下文章。
通过 BizTalk 调用 Bing Geocoding REST API
步骤 0:申请 Bing Maps API 应用程序密钥
请参考此 URL [http://msdn.microsoft.com/en-us/library/ff428642.aspx]
以下是通过 BizTalk 调用 Bing Geocoding REST API 的步骤。
步骤 1:确定 Bing Geocoding URL
- 确定用于地理编码的 Bing URL 并生成 XML 文档。
http://dev.virtualearth.net/REST/v1 /Locations?query=One%20Dell%20Way,%20Round%20Rock,%20TX%2078682& key=Ag_GDRUeN3ghulGjTGIAW1ziMR8j-aQ5cu8SbKI0x4wsL8WykRPdSV4lOb9XeptU&o=xml
注意 URL 中使用的各种参数。
参数名称 解释 查询 地理编码位置的地址 键 Bing MAPS 应用程序 ID O XML 或 JSON 格式的输出值。 - 在浏览器中放置 URL 来生成 XML 文档。
- 在浏览器上右键单击,选择“查看源代码”,然后将其本地保存为 BingRESTResponse.xml。
- 从上一步保存的 XML 文件生成一个架构 (BingRESTResponse.xsd)。该架构将被导入到 BizTalk 解决方案中。
步骤 2 BizTalk 管理控制台配置
- 打开 BizTalk 管理控制台以创建一个新的发送端口。
- 选择默认的“BizTalk Application 1”或您选择的任何其他 BizTalk 应用程序。
- 观察发送端口的设置:“
SP_BingMaps:REST
”。请注意,当您将绑定文件导入 BizTalk 应用程序时,会自动创建发送端口。
使用下载链接下载Visual Studio 2012
BizTalk 项目,并查看BindingFiles
文件夹中的 BizTalk 绑定文件。 - 接收管道设置为 XMLReceive,因为响应的架构已在步骤 1 中生成。
填写所有详细信息,如屏幕截图所示。
- 单击“配置”按钮。请参阅下面的屏幕截图。
HTTP 方法和 URL 映射
注意正在映射的每个 HTTP URL 的
Name
、Method
和Url
属性。<BtsHttpUrlMapping> <Operation Name="GetGeoCode" Method="GET" Url="?query={userAddressQuery}&key={BingMapsKey}&o=xml" /> </BtsHttpUrlMapping>
什么是变量映射?
将参数与 BizTalk 编排中的实际值进行映射的技术称为变量映射。变量映射使用括号 {parameter} 完成。
- 单击“编辑…”按钮。注意,必须为变量映射创建一个 BizTalk 属性架构。请注意,可以在变量映射对话框中设置值后创建架构。单击“确定”并选择“消息”选项卡。
下面的屏幕截图代表在变量映射对话框中指定的属性架构。
- 在出站消息选项卡上指定 GET,然后单击“确定”。
单击“确定”几次,关闭所有对话框,为 Bing Geocode 创建一个新的发送端口。
请注意,当您将绑定文件导入 BizTalk 应用程序时,会自动创建发送端口。
步骤 3:打开 BizTalk 解决方案
打开 BizTalk 解决方案‘DSHS.GeoCoding.sln’并注意以下几点。
- 编排中的第 3 个形状用于向 Bing Geocoding 服务发送 GET 请求。
- 第 3 个形状上的消息元素被映射为 BizTalk Message Context 变量,这是因为属性提升 (BingMapsRestParams.xsd)。输入消息中的元素映射如下表所示。
请求消息变量 消息上下文变量 ApplicationID BingMapsAPIKey QueryAddress UserAddressQuery - 第 4 个形状是接收形状,用于返回 Bing Maps 服务调用的响应。此响应被映射到步骤 1 中创建的架构 (BingRESTResponse.xsd)。
- 解决方案中的 BizTalk 映射将 Bing Maps API 响应转换为使用者所需的适当 XML 格式。这是一个非常直接的过程。
步骤 4:在本地计算机上创建 BizTalk Drop 文件位置
- 创建 BizTalk Drop 位置
BizTalk 输入文件夹 C:\BizTalkDropLocations\DSHS.GeoCode\In BizTalk 输出文件夹 C:\BizTalkDropLocations\DSHS.GeoCode\Out BizTalk 示例输入文件 C:\BizTalkDropLocations\DSHS.GeoCode - 打开位于“SampleFiles”目录中的示例文件 DSHS_GeoCodingRequest_sample_1.xml。请注意,ApplicationID 必须正确生成,有关如何正确获取密钥,请参阅步骤 0。
- 修改 Query Address XML 标记并保存文件。
- 将绑定文件 (DSHS.GeoCoding.Bindings.xml) 导入 BizTalk 并正确部署解决方案。启动 BizTalk 应用程序。
- 将文件复制并粘贴到 BizTalk 输入文件夹“C:\BizTalkDropLocations\DSHS.GeoCode\In”
- 在 BizTalk 输出文件夹“C:\BizTalkDropLocations\DSHS.GeoCode\Out”中观察 GeoCode 值。请参阅下面的屏幕截图。
- 验证输出文件中的 Geocode 值是否正确。
结论
在本文中,我们尝试通过 BizTalk 编排仅使用 HTTP GET 动词连接到基于 REST 的服务。将来,我将尝试连接到更复杂的基于 REST 的服务。