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 five pages to configure how you want to read data.
- General
- SOAP Headers
- Columns
- Paging
- Advanced
General Page
The General page of the Web Service Source Component allows you to specify the general settings of the 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 HTTP Connection Managers that are available to your current SSIS package.
- HTTP Method
-
The method that will be used when sending HTTP requests. Available methods include:
- GET
- POST
- PUT
- DELETE
- PATCH
- 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 WSDL
-
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 that lets 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.
-
- Hide Unselected Fields
-
When the Hide Unselected Fields checkbox is checked unselected input parameters will be hidden.
- Hide Selected Fields
-
When the Hide Selected Fields checkbox is checked selected input parameters will be hidden.
- Filter
-
The input parameters that are visible can be filtered by entering text in the Filter text box.
- 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.
- Expression fx Button
-
Click the fx button to launch SSIS Expression Editor to enable dynamic updates of the property at run time.
- Generate Documentation Button
-
Click the Generate Documentation button to generate a Word document that describes the component's metadata including relevant mapping, and so on.
SOAP Headers Page
The SOAP Headers page of the Web Service Source Component allows you to specify the soap headers settings of the component.
- Namespaces
-
The Namespaces grid allows you to specify namespaces that will be added to the SOAP envelope.
- Custom SOAP Headers
-
Custom soap headers can be specified in the Custom SOAP Headers grid.
- Add From WSDL
-
The Add From WSDL button allows you to add SOAP headers from a WSDL file.
- WS-Addressing Headers
-
WS-Addressing Headers can be used to specify message routing data within SOAP request header per the target web service requirements. 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
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.
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.
- Hide Unselected Fields
-
When the Hide Unselected Fields checkbox is checked unselected output columns will be hidden.
- Hide Selected Fields
-
When the Hide Selected Fields checkbox is checked used selected columns will be hidden.
- Filter
-
The output columns that are visible can be filtered by entering text in the Filter text box.
Paging Page (since v5.0)
The Paging page of the Web Service Source Component allows you to send additional paging requests to endpoints that support paging.
- Enable Paging
-
The Enable Paging checkbox allows you to enable paging in the Web Service Source component.
- 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, compare them to a value, and continue 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.
Advanced Page (since v6.0)
The Advanced page of the Web Service Source Component allows you to configure Repeating Element settings.
- Repeated Element Settings
-
- Text Qualifier
-
The qualifier used to split data into repeating elements.
- Delimiter
-
The delimiter used to split data into repeating elements.
- Performance
-
- Field expansion Depth
-
This option allows you to specify the maximum field expansion depth the component will access in order to retrieve data from child elements. The default value is 4