SSIS_控制流(Web 服务任务)

Web 服务任务执行 Web 服务方法。可以将 Web 服务任务用于下列目的:
将 Web 服务方法返回的值写入变量。例如,可以从 Web 服务方法获取某天的最高气温,然后使用此值更新设置列值的表达式中使用的变量。
将 Web 服务方法返回的值写入文件。例如,可以将潜在客户列表写入一个文件,然后将此文件用作在被写入数据库之前会清除数据的包中的数据源。


功能:以天气为例,根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数;

(即通过表单的输入值获取表单提交后的xml结果)


本例:

表单地址:

http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName


WSDL地址:

http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 





下面是表单输入和提交后的结果,我们就去提交后的格式:



执行结果:


--------------------------------------------------------------------------------------------------------------------


1. 现在正式开始设计!在数据库中先创建一个表,用了保存结果:

create table Weather(result varchar(max))

2. 设计控制流图如下。

提示:HTTP 连接管理器仅支持匿名身份验证和基本身份验证,而不支持 Windows 身份验证。


3. 编辑【Web 服务任务】,新建一个 HttpConnection ,在服务器中输入:

  http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl



4 . WSDLFile 则自定义输入一个文件(未存在,若存在下面选择 true)完整路径,如【F:\weather.wsdl】,然后点击下载……成功下载!

        a .  如果 HTTP 连接管理器指向网站,则必须手动把 WSDL 文件复制到本地计算机。
        b . 如果 HTTP 连接管理器指向 WSDL 文件,那么此文件可以由 Web 服务任务从网站下载到本地文件。



5.  在输入选择中选择服务器和方法。方法有很多种,因为都使用相同的 WSDL (参考链接),手动输入值【深圳】,相当下二图。




6.  新建一个输出参数【User::WeatherString】,类型为 String。此为返回参数。

(参考网页说明,返回数据: 一个一维数组 String(22),共有23个元素)。

【Web 服务任务】设计完成!



7.  编辑【执行 SQL 任务】,链接类型为【OLE DB】,连接前面创建表【Weather】所在的数据库。直接输入语句,现在暂时不输入。



8 .  右键【执行 SQL 任务】属性,选择表达式。输入以下表达式:(即把web输出的参数传递到这里)

"insert into Weather(result) select '  "+ @[User::WeatherString] +"  ' "




9 . 至此,设计完成!结果以字符类型存入到表中。

世界内容参考:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName



-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

附加: 

多城市循环获取:

 1 .  开始输入参数的时候,创建一个变量 类型为String的变量【cityName】代替城市。后面我将逐个把城市的名称传递给改变量。



2 . 在外层添加一个【Foreach 循环容器】



3 . 编辑循环器。选择【Foreach Item 枚举器】,枚举一列,为城市名称。



4 .  变量映射,把枚举的数值映射到变量【cityName】中,索引0为第一列。至此,设计完成!



5. 清空数据库表记录。编译查看。3行记录,分别为深圳、上海、北京的记录。









评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值