使用BizTalk调用Bing地理编码REST服务

在本文中,将探讨如何使用BizTalk Orchestration调用一个简单的Bing地理编码服务,通过REST API实现。BizTalk 2013引入了一个新的REST适配器WCF-WebHttp,以及一个名为“变量映射”的新概念。

如果想要更深入地了解REST,并在阅读本文之前了解更多信息,可以参考以下文章:

  • BizTalk Server 2010: Invoke ReSTful Web Services
  • BizTalk Server 2013: REST Support through WCF-WebHttp
  • Invoking Bing GeocodingREST APIthrough BizTalk

步骤0:申请Bing Maps API应用密钥

请参考以下URL申请Bing Maps API应用密钥:

以下是通过BizTalk调用Bing地理编码REST API的步骤。

步骤1:确定Bing地理编码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中使用的各种参数。

参数名称 说明
Query 地理编码位置的地址
Key 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映射的属性Name、Method和Url。

<BtsHttpUrlMapping> <Operation Name="GetGeoCode" Method="GET" Url="?query={userAddressQuery}&key={BingMapsKey}&o=xml"/> </BtsHttpUrlMapping>

将参数与BizTalk Orchestration中的实际值映射的技术称为变量映射。变量映射是使用括号{parameter}完成的。

点击“编辑…”按钮。注意必须为变量映射创建一个BizTalk属性模式。注意,可以在设置变量映射对话框中的值之后创建模式。点击“确定”,然后选择“消息”选项卡。

下面的屏幕截图代表了变量映射对话框中指定的属性模式。

在出站消息选项卡上指定GET,然后点击“确定”。

多次点击“确定”,关闭所有对话框框以创建一个新的Bing地理编码发送端口。

注意,当将绑定文件导入BizTalk应用程序时,发送端口会自动创建。

步骤3:打开BizTalk解决方案

打开BizTalk解决方案'DSHS.GeoCoding.sln',并注意以下几点。

在编排中的第3个形状用于向Bing地理编码服务发送GET请求。

第3个形状上的消息元素由于属性提升(BingMapsRestParams.xsd)被映射为BizTalk消息上下文变量。

输入消息中的元素如下表所示映射。

请求消息变量 消息上下文变量
ApplicationID BingMapsAPIKey
QueryAddress UserAddressQuery

第4个形状是一个接收形状,Bing Maps服务调用的响应将返回。这被映射到在步骤1中创建的模式(BingRESTResponse.xsd)上。

解决方案中的BizTalk映射将Bing Maps API响应转换为消费者所需的适当XML格式。这是一个非常简单的过程。

步骤4:在本地机器上创建BizTalkDrop文件位置

创建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值。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485