SSIS Web Service Task 用于执行 Web 服务方法。例如,如果您想将天气报告存储为 SQL 额外列,然后使用 Yahoo 或 MSN 天气提供的 Web 服务,并将输出存储在一个变量中,以便您可以将该变量传递给 Data Flow Task。
在本文中,我们将通过示例向您展示如何使用 SSIS Web Service Task 来使用 Web 服务方法。在我们开始配置 Web 服务 Task 之前,让我们先看一下我们服务中可用方法的列表。
注意:SSIS Web Service Task 使用 HTTP Connection Manager 来连接 Web 服务并发送或接收文件。
下面的屏幕截图显示了此 SSIS Web Service Task 中可用的方法。我们的任务是使用此 Web 服务中提供的 GetCityForecastByZip 方法。请访问 https://wsf.cdyne.com/WeatherWS/Weather.asmx 网站来使用相同的服务。

SSIS Web Service Task 示例
将 Web Service Task 拖放到 Control Flow 区域,并将其重命名为 Web Service Task

双击它将打开 Web Service Task Editor 进行配置。
- 名称:请为此 Web 服务任务提供唯一的名称
- 描述:简要描述 SSIS Web Service Task 的功能。提供有效的描述始终是一个好习惯。

HttpConnection:HTTP 连接使此 SSIS 包能够访问 Web 服务。它使用 HTTP 发送和接收文件。单击下拉箭头将显示已创建的 HTTP 连接(如果有),或者请单击“

单击“
- 服务器 URL:请指定 Web 服务的 URL。如果您计划使用“Download WSDL”按钮下载 WSDL 文件,请键入 WSDL 文件的 URL;否则,请选择服务 URL。
- 使用凭据:如果您希望 HTTP Connection Manager 使用用户的安全凭据,请勾选此选项。
- 用户名:请输入访问服务的用户名。
- 密码:请输入访问服务的密码。
- 域:请在此处指定域。
- 使用客户端证书:请指定您是否要将客户端证书用作身份验证。
- 超时(秒):请输入 Web 服务连接超时(以秒为单位)。如果连接花费的时间超过此时间,则连接将失败。
- 块大小(KB):请输入写入数据的块大小。
- 测试连接:此按钮将帮助我们检查是否已成功建立与 Web 服务的连接。根据结果,我们可以修改连接设置。

在此 SSIS Task 示例中,我们从免费来源选择 Web 服务。因此,我们无需配置凭据和代理设置。从下面的屏幕截图可以看出,我们提供了服务 URL:https://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL,因为我们要下载 WSDL 文件。

单击 OK 关闭 SSIS Web Service Task 的 HTTP Connection Manager。
WSDL 文件:如果您已经下载了 WSDL 文件,那么我们需要从本地文件系统中选择 .wsdl 文件。否则,在本地硬盘上创建一个带有 WSDL 扩展名的空文件,然后单击 WSDLFile 选项旁边的“…”按钮。
单击“…”选项后,将打开一个新窗口。使用此窗口,我们可以创建本地文件系统中的新 WSDL 文件或从文件系统中选择现有文件。从下面的屏幕截图可以看出,我们正在选择名为 web.wsdl 的现有文件。

OverwriteWSDLFile:此 Web Service Task 属性有两个选项:True 和 False。如果我们将此属性设置为 true,Web Service Task 将覆盖本地文件系统中已有的 WSDL 文件。

接下来,单击“Download WSDL”按钮下载 WSDL 文件,如果文件已存在,它将覆盖现有文件。

接下来,单击“Input”选项卡以指定 Web Service Task 服务和方法。
- 服务:请从可用 Web 服务列表中选择所需的服务。
- 方法:这里显示了上述所选 Web 服务中可用方法的列表。因此,请选择所需的方法
SSIS Web Service Task:通过单击下拉箭头将显示可用的服务。因此,请选择所需的服务。这里我们只有一个服务,我们选择它。

方法:通过单击下拉箭头将显示可用方法的列表。从下面的屏幕截图可以看出,我们正在选择 GetCityForcastByZip 方法。此方法接受邮政编码作为参数并显示天气预报。

由于此方法接受邮政编码作为参数,因此我们提供了加利福尼亚州的邮政编码。这里我们可以选择变量。

接下来,单击“Output”选项卡以配置输出数据。
如果我们将 OutputType 设置为 File connection,则我们需要将 Output Connection 配置为 File Connection Manager。这意味着输出的 XML 数据存储在本地文件系统中。
如果我们将 OutputType 设置为 Variable,那么我们需要将 Output Connection 配置为 Variable。这意味着输出的 XML 数据存储在一个变量中。此选项非常有用,因为我们可以将此 XML 数据用于其他任务或转换。

单击“

单击 Browse 按钮可在本地文件系统中创建新的 XML 文件,或从文件系统中选择现有文件。请参阅 File Connection Manager 文章以了解配置。

从上面的屏幕截图可以看出,我们正在创建一个名为 WeatherForecast.xml 的新文件。

单击 OK 完成 SSIS Web Service Task Editor 的配置和关闭。让我们运行该包以检查我们是否使用了 Web 服务。

让我们打开 WeatherForecast.xml 文件看看。从下面的屏幕截图可以看出,我们已经取得了成功。
