Using the HTTP Requester
The HTTP Requester is an SSIS data flow pipeline component that can be used to send a series of HTTP requests and process their responses. A common use case for this component is to download files.
The component includes the following two pages to configure how you handle sending requests and processing responses:
- General
- Error Handling
General Page
The General page of the HTTP Requester Transform allows you to specify the general settings of the component.
- Connection Properties
-
- Connection Manager
-
The HTTP Requester 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.
- Relative Path
-
The Relative Path field allows you to specify an input column that is a string containing the relative location of the URL your request will be sent to. The base URL comes from the connection manager. For example, if you want to download a list of files called "file1.txt", "file2.txt", "file3.txt" from http://www.example.com/ you would create a connection manager with the base URL http://www.example.com/ and in the HTTP Requester Transform, set the Relative Path to an input column that will have values representing each file name.
- HTTP Method
-
The method that will be used when sending HTTP requests. Default available methods are listed below but the user can manually specify the method.
- GET
- POST
- PUT
- DELETE
- PATCH
- Request Settings
-
- Query String Parameters
-
The Query String Parameters grid allows you to add query string parameters and values that will be appended to the URL of the request.
- Requester Headers
-
The Requester Headers grid allows you to add HTTP headers that will be used for the request.
- Request Body -Body Type
- There are four options available for Body Type:
- Raw
- Form-Data
- URL Encoded
- AS2 (since v21.2)
- Request Body -Body
- The Body field allows you to configure the body of your request. If the connection manager is using the GET method, such as when downloading files, the body would typically be left empty.
- Note: Since v24.1, the request body is available with GET request type as well.
- Response Is Multipart
- This option allows you to specify if the response from the server is a Multipart response.
- Enable Columns for Default Output
- Content Type Checkbox
-
Determines if a Content Type default output column will be created and populated with the content type of the response.
- Content Length Checkbox
-
Determines if a Content Length default output column will be created and populated with the content length of the response.
- HttpStatusCode Checkbox (since v6.2)
-
Determines if a HttpStatusCode default output column will be created and populated with the HTTP status code of the response.
- HttpStatusCodeName Checkbox (since v6.2)
-
Determines if a HttpStatusCodeName default output column will be created and populated with the HTTP status code name of the response.
- HttpResponseUrl Checkbox (since v7.0)
-
Determines if a HttpResponseUrl default output column will be created and populated with the HTTP URL of the response.
- Response Header Output Columns(since v8.0)
-
The Response Header Output Columns grid allows you to add output columns that get values from the HTTP response header.
- Response Body Output
-
The Response Body Output field determines what will happen with the response body. The following options are available:
- None: The response body is not used for anything
- Output To Image Column: The response body is output to a column of type DT_IMAGE
- Output To Text Column: The response body is output to a column of type DT_NTEXT
- Output To File: The response body is saved to a file.
- Multipart Body Output (Only Available when the Response Is Multipart option is enabled)
-
This option allows you to specify if the Multipart body should be returned in an output column as DT_IMAGE or as DT_NTEXT.
- File Path
-
The File Path field allows you to set an input column that will determine the path of a file where the request-response body will be saved. This field will only be enabled if the response body output field is set to Output To File.
- Expression fx Icon
Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.
- Generate Documentation Icon
Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.
Error Handling Page
The Error Handling page allows you to specify how errors should be handled when they happen.
There are three options available.
- Fail on error
- Redirect rows to error output
- Ignore error
When the Redirect rows to error output option is selected, rows that failed to be sent will be redirected to the 'Error Output' output of the Transformation Component. As indicated in the screenshot below, the blue output connection represents rows that were successfully sent, and the red 'Error Output' connection represents rows that were erroneous. The 'ErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by the component.
On the Error Handling page, there are also options that can be used to enable or disable the following output fields for the HTTP Requester's Error Output.
- HttpStatusCode: Determines if a HttpStatusCode error output column will be created and populated with the HTTP status code of the response.
- HttpStatusCodeName: Determines if a HttpStatusCodeName error output column will be created and populated with the HTTP status code name of the response.
- ResponseBodyError: Determines if a ResponseBodyError error output column will be created and populated with the body of the response.