HTTP ConfigurationThe connector accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the connector, access to these internal properties is provided through the Other property.
HTTP Configuration Settings
A list of acceptable MIME types for the request.If this setting contains a non-empty string, a HTTP Accept header is added to the request.
The Accept header is used for content negotiation. It provides the server with a comma-separated list of MIME types that are acceptable for its response.
|AcceptEncoding: Used to tell the server which types of content encodings the client supports.When AllowHTTPCompression is true, the connector adds an "Accept-Encoding: " header to the request being sent to the server. By default, this header's value is "gzip, deflate". This config allows you to change the value of the "Accept-Encoding" header. NOTE: The connector only supports gzip and deflate decompression algorithms.|
This property enables HTTP compression for receiving data.This setting enables HTTP compression for receiving data.
When set to true, the connector will accept compressed data. It will then uncompress the data it has received. The connector will handle data compressed by both GZIP and Deflate compression algorithms.
When true, the connector adds an "Accept-Encoding" header to the outgoing request. The value for this header can be controlled by the AcceptEncoding config. The default value for this header is "gzip, deflate".
A list of acceptable MIME types for the request.This setting controls whether HTTP/2 connections are permitted to fallback to HTTP/1.1 when the server
does not support HTTP/2. This setting is only applicable when HTTPVersion is set to "2.0".
If set to True (default) the connector will automatically use HTTP/1.1 if the server does not support HTTP/2. If set to False the connector fails with an error if the server does not support HTTP/2.
The default value is True.
|ChunkSize: Specifies the chunk size in bytes when using chunked encoding.This is only applicable when UseChunkedEncoding is true. This setting specifies the chunk size in bytes to be used when posting data. The default value is 16384.|
|CustomRequestMethod: Specifies the HTTP method to be used.This setting may be used to specify a HTTP method that is not already supported via HTTPMethod. If specified PostData is also applicable.|
|EncodeURL: If set to true the URL will be encoded by the component.If set to True the URL passed to the connector will be URL encoded. The default value is False.|
A date determining the maximum age of the desired document.If this setting contains a non-empty string, an If-Modified-Since HTTP header is added to the request.
The value of this header is used to make the HTTP request conditional: if the requested documented has not
been modified since the time specified in the field, a copy of the document will not be returned from
the server; instead, a 304 (not modified) response will be returned by the server and the component throws an exception
The format of the date value for IfModifiedSince is detailed in the HTTP specs. An example is:
Sat, 29 Oct 2017 19:43:31 GMT.
|KerberosSPN: The Service Principal Name for the Kerberos Domain Controller.If the Service Principal Name on the Kerberos Domain Controller is not the same as the URL that you are authenticating to, the Service Principal Name should be set here.|
|LogDebugData: Whether to log debug data.This setting controls whether the raw HTTP Request and Response are logged. The default value is False. This is only applicable if TransportLog LogMode is set to Verbose.|
|LogErrorBody: Whether to include the body of an error in the log message.When false (default), log messages generated for an exception will only include the HTTP status code, and not the body of the response. When true, the adapter will include the body of the response in the log message. This might be useful for some endpoints where the response body contains further information on the error.|
|MaxRedirectAttempts: Limits the number of redirects that are followed in a request.When FollowRedirects is set to any value besides frNever the connector will follow redirects until this maximum number of redirect attempts are made. The default value is 20.|
|Pragma: A browser/server specific header line (optional).If this setting contains a non-empty string, a Pragma HTTP request header is added to the request. The meaning of the header depends on the implementation and can be used to send/receive proprietary information to/from the server.|
The byte-range to be sent to the server.If this setting contains a non-empty string, a Range HTTP request header is added to the request. This header tells the server to only send a certain range of bytes.
The format of this setting consists of a range of bytes specified by two numbers separated by '-' (e.g. "0-499")
|Referer: Referer URL/document (optional).If this setting contains a non-empty string, a Referer HTTP request header is added to the request. The purpose of the header is to show the document referring the requested URL.|
|ResponseBodyAlwaysAvailable: Whether the response body is always available.When false (default), the adapter will only make the response body available if the status code is 200 or 201. When true, the adapter will always make any response body available.|
Whether errors are submitted as BizTalk messages.Normally if errors occur the adapter will throw a BizTalk-level error, and potentially shutdown if the error is severe enough. In certain scenarios it may be useful to instead submit the error as a BizTalk message. This allows another portion of an application to handle the error, for example a custom pipeline. Set this to true to submit any errors as BizTalk messages. Be aware that setting this to true will prevent the adapter from shutting down on its own -- you will be resposible for disabling it.
The default value is false.
|TransferredDataLimit: The maximum of data to be transferred.This setting contains the maximum of data to be transferred. The default value is 0, which will not impose any limits on the amount of data accumulated.|
Enables or Disables HTTP chunked encoding for transfers.If UseChunkedEncoding is set to true, the connector will use HTTP chunked encoding when posting if possible.
HTTP chunked encoding allows large files to be sent in chunks instead of all at once.
If set to false, the connector will not use HTTP chunked encoding. The default value is false.
Note: Some servers (such as the ASP.NET Development Server) may not support chunked encoding.
Information about the user agent (browser).This is the value supplied in the HTTP User-Agent header. The default
setting is "IPWorks HTTP Component - www.nsoftware.com".
Override the default with the name and version of your software.
SSL Configuration Settings
Determines if the SSL session is reused.
If set to true, the connector will reuse the context if and only if the following criteria are met:
The minimum cipher strength used for bulk encryption.
This minimum cipher strength largely dependent on the security modules installed
on the system. If the cipher strength specified is not supported,
an error will be returned when connections are initiated.
Please note that this setting contains the minimum cipher strength requested from the security library.
Use this setting with caution. Requesting a lower cipher strength than necessary could potentially cause serious security vulnerabilities in your application.
The cipher suite to be used in an SSL negotiation.The enabled cipher suites to be used in SSL negotiation.
By default, the enabled cipher suites will include all available ciphers ("*").
The special value "*" means that the connector will pick all of the supported cipher suites. If SSLEnabledCipherSuites is set to any other value, only the specified cipher suites will be considered.
Multiple cipher suites are separated by semicolons.
Example values when UseInternalSecurityAPI is False (default):
// The "Other" property could contain ONE of the following lines: SSLEnabledCipherSuites=* SSLEnabledCipherSuites=CALG_AES_256 SSLEnabledCipherSuites=CALG_AES_256;CALG_3DESPossible values when UseInternalSecurityAPI is False (default) include:
// The "Other" property could contain ONE of the following lines: SSLEnabledCipherSuites=* SSLEnabledCipherSuites=TLS_DHE_DSS_WITH_AES_128_CBC_SHA SSLEnabledCipherSuites=TLS_DHE_DSS_WITH_AES_128_CBC_SHA;TLS_DH_ANON_WITH_AES_128_CBC_SHAPossible values when UseInternalSecurityAPI is True include:
If SSLEnabledProtocols is configured to use TLS 1.3 the following values are supported:
Used to enable/disable the supported security protocols.Used to enable/disable the supported security protocols.
Not all supported protocols are enabled by default (the value of this setting is 4032). If you want more granular control over the enabled protocols, you can set this property to the binary 'OR' of one or more of the following values:
Note: TLS 1.1 and TLS1.2 support are only available starting with Windows 7.
Note: Enabling TLS 1.3 will automatically set UseInternalSecurityAPI to True.
Whether the entire certificate chain is included in the SSLServerAuthentication event.This setting specifies whether the transport log contains the full certificate chain. By default this value is False and only the leaf certificate will be present.
If set to True all certificates returned by the server will be present in the transport log. This includes the leaf certificate, any intermediate certificate, and the root certificate.
Note: When UseInternalSecurityAPI is set to True this value is automatically set to True. This is needed for proper validation when using the internal provider.
Flags that control certificate verification.The following flags are defined (specified in hexadecimal
notation). They can be or-ed together to exclude multiple
Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True.This setting specifies the allowed server certificate signature algorithms when UseInternalSecurityAPI is
True and SSLEnabledProtocols is set to allow TLS 1.2.
When specified the connector will verify that the server certificate signature algorithm is among the values specified in this setting. If the server certificate signature algorithm is unsupported the connector will fail with an error.
The format of this value is a comma separated list of hash-signature combinations. For instance:
// The "Other" could contain ALL of these lines: UseInternalSecurityAPI=true SSLEnabledProtocols=3072 TLS12SignatureAlgorithms=sha1-rsa,sha1-dsa,sha256-rsa,sha256-dsaThe default value for this setting is "sha1-rsa,sha1-dsa,sha224-rsa,sha224-dsa,sha256-rsa,sha256-dsa,sha384-rsa,sha384-dsa,sha512-rsa,sha512-dsa".
In order to not restrict the server's certificate signature algorithm, specify an empty string as the value for this setting, which will cause the signature_algorithms TLS 1.2 extension to not be sent.
The supported groups for ECC.This setting specifies a comma separated list of named groups used in TLS 1.2 for ECC.
The default value is ecdhe_secp256r1,ecdhe_secp384r1,ecdhe_secp521r1.
When using TLS 1.2 and UseInternalSecurityAPI is set to True, the values refer to the supported groups for ECC. The following values are supported:
The groups for which to pregenerate key shares.This setting specifies a comma separated list of named groups used in TLS 1.3 for key exchange.
The groups specified here will have key share data pregenerated locally before establishing a connection.
This can prevent an additional round trip during the handshake if the group is supported by the server.
The default value is set to balance common supported groups and the computational resources required to generate key shares. As a result only some groups are included by default in this setting.
Note: All supported groups can always be used during the handshake even if not listed here, but if a group is used which is not present in this list it will incur an additional round trip and time to generate the key share for that group.
In most cases this setting does not need to be modified. This should only be modified if there is a specific reason to do so.
The default value is ecdhe_x25519,ecdhe_secp256r1,ecdhe_secp384r1,ffdhe_2048,ffdhe_3072
The values are ordered from most preferred to least preferred. The following values are supported:
The allowed certificate signature algorithms.This setting holds a comma separated list of allowed signature algorithms. Possible values are:
The supported groups for (EC)DHE key exchange.This setting specifies a comma separated list of named groups used in TLS 1.3 for key exchange.
This setting should only be modified if there is a specific reason to do so.
The default value is ecdhe_x25519,ecdhe_x448,ecdhe_secp256r1,ecdhe_secp384r1,ecdhe_secp521r1,ffdhe_2048,ffdhe_3072,ffdhe_4096,ffdhe_6144,ffdhe_8192
The values are ordered from most preferred to least preferred. The following values are supported:
General Configuration Settings
|AbsoluteTimeout: Determines whether timeouts are inactivity timeouts or absolute timeouts.If AbsoluteTimeout is set to True, any method which does not complete within Timeout seconds will be aborted. By default, AbsoluteTimeout is False, and the timeout is an inactivity timeout.|
The name of the local host or user-assigned IP interface through which connections are initiated or accepted.The LocalHost configuration contains the name of the local host as obtained by the Gethostname() system call, or if the user has assigned an IP address, the value of that address.
In multihomed hosts (machines with more than one IP interface) setting LocalHost to the value of an interface will make the connector initiate connections (or accept in the case of server connectors) only through that interface.
If the connector is connected, the LocalHost configuration shows the IP address of the interface through which the connection is made in internet dotted format (aaa.bbb.ccc.ddd). In most cases, this is the address of the local host, except for multihomed hosts (machines with more than one IP interface).
Whether or not to delay when sending packets.
When true, the socket will send all data that is ready to send at once. When
false, the socket will send smaller buffered packets of data at small intervals.
This is known as the Nagle algorithm.
By default, this config is set to false.
|UseInternalSecurityAPI: Tells the connector whether or not to use the system security libraries or an internal implementation. By default the connector will use the system security libraries to perform cryptographic functions. Setting this to True tells the connector to use the internal implementation instead of using the system's security API.|