/n software Tasks for SSIS
/n software Tasks for SSIS
Questions / Feedback?

HTTP Tasks

Properties   Configuration Settings  

The HTTP task provides a flexible HTTP client to send and receive data to web servers.

Remarks

The HTTP task implements a highly configurable HTTP client that is capable of sending and receiving data to and from web servers. Support includes issuing simple GET requests as well as defining custom form and file parameters to be POSTed to server. URL defines the location to which the request is made.

The task supports HTTP 1.0, 1.1, and 2.0 which can be configured in the HTTPVersion property.

The HTTPMethod property defines the HTTP method to use. Possible values are:

  • DELETE
  • GET (default)
  • HEAD
  • POST
  • PUT
  • TRACE

Getting Data From the Server

In both the Send Task and the Receive Task if HTTPMethod is set to GET the request is issued to the server specified by URL. Additional custom headers may be specified in the request by setting OtherHeaders.

The response received by the task will be saved to LocalFile if specified. Otherwise it will populate the variables specified by TransferredHeaders and TransferredData

Sending Data To the Server

When HTTPMethod is set to POST or PUT data will be sent to the server. The RequestParams property specifies one or more parameters to add to the POST or PUT request. This property is only applicable when the HTTPMethod property is set to POST or PUT.

To specify additional parameters set this property to one or more name value pairs. Set one pair on each line. For instance:

name1=value1
name2=value2

The task will format a request with parameters slightly differently depending on whether the request is made by the Send or Receive adapter.

Note: To have complete control over the data being sent set PostData instead.

Send Adapter

When sending a POST or PUT request the AttachedFile will always be used as the last parameter regardless of the values specified in RequestParams. Several examples and additional details follow. Basic Example: Setting the RequestParams to a value of:

name1=value1
name2=value2

Will result in a HTTP request like:

POST / HTTP/1.1
Host: www.nsoftware.com
Accept-Encoding: gzip, deflate
User-Agent: IPWorks HTTP Component - www.nsoftware.com
Connection: close
Content-Type: multipart/form-data; boundary="boundaryV+iTxA=="
Content-Length: 335

--boundaryV+iTxA==
Content-Disposition: form-data; name="name1"
Content-Type: text/plain
	
value1
--boundaryV+iTxA==
Content-Disposition: form-data; name="name2"
Content-Type: text/plain
	
value2
--boundaryV+iTxA==--

Notice that the default "Content-Type" for the individual request parameters is "text/plain" See the following examples for further details.

Custom Request Parameter Content-Type Values:

When sending requests the RequestParams may optionally include a custom Content-Type value. The syntax is:


[ContentType]name=value

For instance setting RequestParams to a value of:

[text/html]name1=value1
[my/type]name2=value2
name3=value3
Will result in a HTTP request like:
POST / HTTP/1.1
Host: www.nsoftware.com
Accept-Encoding: gzip, deflate
User-Agent: IPWorks HTTP Component - www.nsoftware.com
Connection: close
Content-Type: multipart/form-data; boundary="boundaryQDNEUw=="
Content-Length: 439

--boundaryQDNEUw==
Content-Disposition: form-data; name="name1"
Content-Type: text/html
	
value1
--boundaryQDNEUw==
Content-Disposition: form-data; name="name2"
Content-Type: my/type
	
value2
--boundaryQDNEUw==
Content-Disposition: form-data; name="name3"
Content-Type: text/plain
	
value3
--boundaryQDNEUw==--

Note the updated Content-Type header values for the "name1" and "name2" parameters.

Custom Content-Type and Name Values for the AttachedFile Variable:

The default Content-Type value for the AttachedFile form variable is "application/octet-stream". This can be explicitly defined in the ContentType property. For instance setting:

And leaving RequestParams unspecified (no parameters) will result in a HTTP request like:


POST / HTTP/1.1
Host: www.nsoftware.com
Accept-Encoding: gzip, deflate
User-Agent: IPWorks HTTP Component - www.nsoftware.com
Connection: close
Content-Type: multipart/form-data; boundary="boundaryVAJHkA=="
Content-Length: 142

--boundaryVAJHkA==
Content-Disposition: form-data; name="myfile.txt"
Content-Type: text/html
	
file contents
--boundaryVAJHkA==--

Receive Adapter

In the receive adapter the RequestParams are used to form the body of the POST or PUT request using the more lightweight encoding "application/x-www-form-urlencoded". For instance, setting the request parameters to:

name1=value1
name2=value2

Will result in a HTTP request like:


POST / HTTP/1.1
Host: www.nsoftware.com
Accept-Encoding: gzip, deflate
User-Agent: IPWorks HTTP Component - www.nsoftware.com
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

name1=value1&name2=value2

To maintain complete control over the POST body PostData may be set instead.

Additional Settings

In addition to the basic operation as discussed above the task supports a variety of other settings that control authentication, proxy settings, and other behavior. Some of additional features include:

Receiver Property List


The following is the full list of the properties of the receiver task with short descriptions. Click on the links for further details.

AuthorizationThe Authorization string to be sent to the server.
AuthSchemeThe authorization scheme to be used when server authorization is to be performed.
ContentTypeDefines the Content-Type header in the request.
CookiesThe cookies to be sent in the HTTP request.
FirewallA set of properties related to firewall access.
FollowRedirectsDetermines what happens when the server issues a redirect.
HTTPMethodThe HTTP method used for the request.
HTTPProxyA set of properties related to proxy access.
HTTPVersionThe HTTP version to use.
LocalFileThe path to a local file for download.
LogFileThe file to write logging information to at runtime.
LogModeWhat information gets logged during task execution.
OtherDefines a set of configuration settings to be used by the task.
OtherHeadersOther headers as determined by the user.
OverwriteWhether or not the task should overwrite the output file.
PasswordA password if authentication is to be used.
PostDataThe data to be posted to the server.
RequestParamsParameters to add to the POST or PUT request.
ResponseInfoString denoting the name of the variable which contains the last server response.
RuntimeLicenseSpecifies the task runtime license key.
SSLAcceptServerCertInstructs the task to unconditionally accept the server certificate that matches the supplied certificate.
SSLAcceptServerCertAcceptAnyTells the task to accept any server certificate.
SSLCertThe certificate to use for client authentication during the SSL handshake.
TimeoutA timeout for the task.
URLThe URL to which the request is made.
UserA user name if authentication is to be used.

Sender Property List


The following is the full list of the properties of the sender task with short descriptions. Click on the links for further details.

AttachedFileA file to include in the POST data.
AuthorizationThe Authorization string to be sent to the server.
AuthSchemeThe authorization scheme to be used when server authorization is to be performed.
ContentTypeDefines the Content-Type header in the request.
CookiesThe cookies to be sent in the HTTP request.
FirewallA set of properties related to firewall access.
FollowRedirectsDetermines what happens when the server issues a redirect.
HTTPMethodThe HTTP method used for the request.
HTTPProxyA set of properties related to proxy access.
HTTPVersionThe HTTP version to use.
LocalFileThe path to a local file for download.
LogFileThe file to write logging information to at runtime.
LogModeWhat information gets logged during task execution.
OtherDefines a set of configuration settings to be used by the task.
OtherHeadersOther headers as determined by the user.
OverwriteWhether or not the task should overwrite the output file.
PasswordA password if authentication is to be used.
PostDataThe data to be posted to the server.
RequestParamsParameters to add to the POST or PUT request.
RuntimeLicenseSpecifies the task runtime license key.
SSLAcceptServerCertInstructs the task to unconditionally accept the server certificate that matches the supplied certificate.
SSLAcceptServerCertAcceptAnyTells the task to accept any server certificate.
SSLCertThe certificate to use for client authentication during the SSL handshake.
StatusLineThe first line of the last server response.
TimeoutA timeout for the task.
TransferredDataThe body of the HTTP response.
TransferredHeadersThe full set of headers as received from the server.
URLThe URL to which the request is made.
UserA user name if authentication is to be used.

Configuration Settings


The following is a list of configuration settings for the task with short descriptions. Click on the links for further details.

AcceptA list of acceptable MIME types for the request.
AcceptEncodingUsed to tell the server which types of content encodings the client supports.
AllowHTTPCompressionThis property enables HTTP compression for receiving data.
AllowHTTPFallbackA list of acceptable MIME types for the request.
ChunkSizeSpecifies the chunk size in bytes when using chunked encoding.
CustomRequestMethodSpecifies the HTTP method to be used.
EncodeURLIf set to true the URL will be encoded by the component.
IfModifiedSinceA date determining the maximum age of the desired document.
KerberosSPNThe Service Principal Name for the Kerberos Domain Controller.
LogDebugDataWhether to log debug data.
MaxRedirectAttemptsLimits the number of redirects that are followed in a request.
PragmaA browser/server specific header line (optional).
RefererReferer URL/document (optional).
RangeThe byte-range to be sent to the server.
TransferredDataLimitThe maximum of data to be transferred.
UseChunkedEncodingEnables or Disables HTTP chunked encoding for transfers.
UserAgentInformation about the user agent (browser).
ReuseSSLSessionDetermines if the SSL session is reused.
SSLCipherStrengthThe minimum cipher strength used for bulk encryption.
SSLEnabledProtocolsUsed to enable/disable the supported security protocols.
SSLIncludeCertChainWhether the entire certificate chain is included in the SSLServerAuthentication event.
SSLSecurityFlagsFlags that control certificate verification.
SSLEnabledCipherSuitesThe cipher suite to be used in an SSL negotiation.
TLS12SignatureAlgorithmsDefines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True.
TLSNamedGroupsThe supported (EC)DHE groups.
TLS13SignatureAlgorithmsThe allowed certificate signature algorithms.
AbsoluteTimeoutDetermines whether timeouts are inactivity timeouts or absolute timeouts.
LocalHostThe name of the local host or user-assigned IP interface through which connections are initiated or accepted.
TcpNoDelayWhether or not to delay when sending packets.
UseInternalSecurityAPITells the task whether or not to use the system security libraries or an internal implementation.

 
 
Copyright (c) 2019 /n software inc. - All rights reserved.
/n software Tasks for SSIS - Version 16.0 [Build 7240]