Using the Web Service Source Component

The Web Service Source Component is an SSIS data flow pipeline component that can be used to read / retrieve data from a web service.

The component includes the following three pages to configure how you want to read data.

  • General
  • Columns
  • Paging

General page

The General page of the Web Service Source Component allows you to specify the general settings of the component. 

SSIS Web Service Source Component

Connection Manager

The Web Service Source Component requires a connection in order to connect to the web service. The Connection Manager drop-down will show a list of all connection managers that are available to your current SSIS package.

Note that the Connection Managers offered within this toolkit are the following:

  • HTTP Connection Manager
HTTP Method

The method that will be used when sending HTTP requests.

SOAP Version

The SOAP Version option indicates the SOAP version that the target web service uses. Our component will automatically detect the SOAP version while loading the WSDL file.

Source File Path

The Source WSDL specifies the location of the WSDL that you are trying to read from.  This location can be either a location on the file system, or a URL.  For example a value of: c:\wsdl\mathservice.wsdl or http://localhost:28854/MathService.svc?wsdl will both work.  There is a button labelled "..." beside the source WSDL field that will launch a dialog let you select a file from the file system.  If you select a WSDL file using the open file dialog provided by the "..." button the WSDL file will automatically be loaded upon clicking OK.

Load WSDL button

The Load WSDL button will try to load a WSDL file from the location specified in the Source WSDL field, and it will populate the other fields in the editor with information from the loaded WSDL file.  Use this button after you have entered the path of a WSDL file into the source WSDL field.  If you select a WSDL file from the open file dialog provided by the "..." button the WSDL file will automatically be loaded upon clicking OK.

Service

Select a Service from the list of services contained in the web service.

Binding

Select a Binding from the list of bindings contained in the service.

Operation

Select an Operation from the list of operations contained in the binding.

Input Parameters

After selecting an operation, the Input Parameters grid will be populated with a list of parameters of the input message, and their types.  Values can be entered into the value field for each parameter.  Use the checkbox column to determine whether or not a parameter will be sent with the input message.  Entering a value for a parameter will automatically check its checkbox.  Empty parameters can be used by manually clicking the checkbox.

Filter

The input parameters that are visible can be filtered by entering text in the Filter text box.

Hide Unused Fields

When the Hide Unused Fields checkbox is checked unused input parameters will be hidden.

Hide Used Fields

When the Hide Used Fields checkbox is checked used input parameters will be hidden.

WS-Addressing Headers

WS-Addressing Headers can be used to specify message routing data within SOAP request header per the target web service requires. The following options are available: 

  • Unique Message ID (MessageID)
  • Message Destination (To): Message destination URI.
  • Source Endpoint (From): Source endpoint that dispatched this message
  • Reply Endpoint (ReplyTo): Reply endpoint to which reply messages should be dispatched
  • Fault Endpoint (FaultTo): Fault endpoint to which fault messages should be dispatched
  • Action (Action): Required action.
  • Relationship (RelatesTo): Message ID to which the message relates
Custom SOAP Headers

Custom soap headers can be specified in the Custom SOAP Headers grid.  Enter any namespaces, separated by semi colons, in the first column, and the header in the second column.  Namespaces will be added to the SOAP envelope.

Refresh Component Button

Clicking the Refresh Component  button will reload the WSDL file, update the options for the service, binding and operation fields, update output columns, and show a dialog with information about changes to the output columns.  A similar process occurs when the Load WSDL button is clicked, but a dialog about updated output columns is not displayed.

Columns page

The Columns page of the Web Service Source Component shows you the names and types of all available output columns from the operation that you specified on the General page.  Although it is possible to rename these columns in the advanced editor you should avoid doing this; the component looks for columns with specific names when it receives the results of a web request and populates the columns with data.

SSIS Web Service Source Component - Columns Page

On the top left of the grid, you can see a checkbox, which can be used to toggle the selection of all available fields. This is a productive way to check or uncheck all available fields. 

The Columns Page grid consists of:

  • Include Field Checkbox - A checkbox that determines if the field will be available as an output column.
  • Field Name  - Column that will be retrieved from Flat File.
  • Data Type - The data type of this field. 

Filter
The output columns that are visible can be filtered by entering text in the Filter text box.

Hide Unused Fields
When the Hide Unused Fields checkbox is checked unused output columns will be hidden.

Hide Used Fields

When the Hide Used Fields checkbox is checked used output columns will be hidden.

Paging page

SSIS Web Service Source Component - Paging Page

The Paging  page of the Web Service Source Component allows you to send additional paging requests to endpoints that support paging.

Operation
The Operation dropdown allows the operation that will be used for paging to be selected.  It may be the same as the operation used on the general page, but it may be something else, such as "getMoreResults".

Input Parameters grid
The Input Parameters  grid allows input parameter values for the paging operation to be entered.  There are 3 possible value types for input parameters:

  • Constant Value - The same value will be sent for the parameter with every paging request.
  • From Response - The value of the parameter will come from the previous response.  The values listed in the dropdown are the fields returned from the first request which uses the Operation defined on the general page.  For subsequent requests the value will come from the paging operation field that is mapped to the initial operation field.
  • Incrementing Number - A number that will start at a value, and will increment by the specified increment on each request.

Continue Paging While grid:
The Continue Paging While  allows conditions to be specified that determine if paging will continue.  The conditions look at values from each paging response, and compare them to a value, and continues paging while all the conditions are True.  For example if there was a field in the response called "HasMorePage" the paging condition might be something like continue paging while HasMorePages is equal to True.

Advanced Column Mapping:
The Advanced Column Mapping button launches a dialog that allows columns in the general page operation to be mapped to columns in the paging operation.  This may be required if the general operation and paging operation are different, even though they return the same data.  In such a case the component needs to know how to put data from the paging response into the general operation columns because paging does not create any additional columns or outputs.  The component will attempt to do the advanced column mapping automatically the mappings can be changed if needed in the dialog.