SSIS中的Web服务任务:从HTTP端点调用Web服务

在现代软件开发中,Web服务提供了一种让不同应用程序之间进行通信的机制。它们基于XML、SOAP和WSDL等标准,允许数据在不同系统之间进行交换。在SQL Server中,HTTP端点是一个特殊的对象,它允许SQL Server通过网络与外部应用程序进行通信。本文将探讨如何通过SSIS的Web服务任务调用通过HTTP端点暴露的Web服务方法。

数据源

为了演示,将创建一个名为tbl_Players的表,并填充一些数据。以下是创建和填充该表的脚本: IF EXISTS (SELECT * FROM sys.objects WHERE name = N'tbl_Players' AND type = 'U') DROP TABLE tbl_Players; GO SET ANSI_NULLS ON; GO CREATE TABLE tbl_Players ( PlayerID INT IDENTITY, PlayerName VARCHAR(15), BelongsTo VARCHAR(15), MatchPlayed INT, RunsMade INT, WicketsTaken INT, FeePerMatch NUMERIC(16,2) ); GO INSERT INTO tbl_Players (PlayerName, BelongsTo, MatchPlayed, RunsMade, WicketsTaken, FeePerMatch) VALUES ('A. Won', 'India', 10, 440, 10, 1000000); -- 更多插入数据的代码...

创建HTTP端点

接下来,需要创建一个HTTP端点,以便Web服务可以通过它与SQL Server进行通信。以下是创建端点的脚本: IF EXISTS (SELECT NAME FROM sys.http_endpoints WHERE NAME = N'PlayerRecord_EP') DROP ENDPOINT PlayerRecord_EP; GO CREATE ENDPOINT [PlayerRecord_EP] STATE=STARTED AS HTTP ( PATH=N'/PlayerName', PORTS = (CLEAR) ,AUTHENTICATION = (INTEGRATED) , SITE=N'localhost' , CLEAR_PORT = 8000 ) FOR SOAP ( WEBMETHOD 'PlayerList' ( NAME=N'[SSISExperiments].[dbo].[usp_SelectPlayerRecords]' ) , BATCHES=DISABLED , WSDL=DEFAULT , DATABASE=N'SSISExperiments' , NAMESPACE=N'http://SSISExperiments/Players' ); GO 创建端点后,可以通过访问特定的URL来调用端点。例如,端点的完整路径可能是http://localhost:8000/PlayerName。

WSDL文件的创建

WSDL(Web服务描述语言)文件描述了Web服务的接口和功能。在本例中,可以通过访问http://localhost:8000/PlayerName?wsdl来查看WSDL文件。可以通过浏览器的“查看源代码”功能将WSDL文件保存到本地硬盘上。

配置Web服务任务并使用Web服务任务调用Web服务

以下是配置Web服务任务并调用Web服务的步骤:

  1. 打开BIDS并创建一个新的Integration Services项目。
  2. 在控制流设计器中,从工具箱中拖放一个Web服务任务。
  3. 双击Web服务任务以打开Web服务任务编辑器。
  4. 配置HttpConnection字段:
    1. 点击空白区域并从下拉列表中选择
    2. 在Http Connection Manager Editor的“服务器”标签中设置服务器URL(本例中为http://localhost:8000/PlayerName?wsdl)。
    3. 输入凭据,即用户名、密码、域(这是可选的)。
    4. 点击OK。
  5. 配置WSDL文件字段:
    1. 从保存位置选择PlayerList.wsdl文件。
  6. 配置OverwriteWSDLFile字段:
    1. 将其设置为TRUE。
  7. 点击“下载WSDL”按钮。如果一切顺利,将收到一个成功的下载消息。
  8. 在输入屏幕的输入标签中,输入以下信息:
    1. 服务
    2. 相应的Web方法
  9. 在输出屏幕的输出标签中,将OutputType设置为文件连接,并指定文件名。
  10. 点击OK按钮。
  11. 构建并运行包。
运行包后,打开Outputfile.txt文件,内容将显示调用结果。

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