HTTP component
The HTTP component is used to send requests to an HTTP(S) endpoint. It includes the message (body and headers) it receives at its input in the request.
Basic configuration
The HTTP component has the following basic configuration options:
URL
The URL to the HTTP(S) endpoint for the request.
Use the 'Validate Url' button to verify if the URL is valid. This doesn't work when using a header or tenant variable for the (dynamic) url, since it's value isn't known at the time of validation.
Read more about using variables in Dovetail on this reference page.
Generally, when you see this in the body after an HTTP component it indicates something is wrong with the (value of the) header that's used for the URL.
HTTP Method
The type of HTTP request.
Options
GET
(default)HEAD
POST
PUT
DELETE
PATCH
DELETE with body
OPTIONS
TRACE
Whenever you install a flow with an HTTP component a HEAD
request will be sent to the URL for validation.
By default DELETE
doesn't send a body, use DELETE with body
instead.
Authentication method
The authentication method used for the HTTP(S) endpoint.
Options
None
(default)Basic
NTLM
Mutual SSL
Authentication username
The username for the selected authentication method.
- Only available when Authentication method is set to
Basic
orNTLM
.
Authentication password
The password for the selected authentication method.
- Only available when Authentication method is set to
Basic
,NTLM
orMutual SSL
. - When Authentication method is set to
Mutual SSL
this field will set the password of the private certificate.
Authentication preemptive?
Set to true
if the server supports preemptive Basic Authentication, meaning that credentials are sent immediately, even if the server doesn't request them.
- Only available when Authentication method is set to
Basic
.
Authentication domain
The domain for the selected authentication method.
- Only available when Authentication method is set to
NTLM
.
Authentication host
The host for the selected authentication method.
- Only available when Authentication method is set to
NTLM
.
Authentication certificate
The password protected private key/certificate (store) that will be used with the authentication method.
- Only available when Authentication method is set to
Mutual SSL
. - We support files of the PKCS #12 format.
Exclude headers
Sets headers to be excluded from requests made by the HTTP component. Specify multiple headernames by splitting them with a vertical bar |
. Use it to prevent large headers or sensitive data in headers to be sent to the endpoint.
If you use a header for the URL field don't exclude that header here.
Use error route?
By default HTTP errors will be sent to the FailedExchange component in the Error Route. Disable this option if the endpoint has a redirect or you don't want HTTP errors to be handled by the Error Route.
Read more about advanced Error Handling and Management by Exception in the Management by Exception guide.
Advanced configuration
The HTTP component has the following advanced configuration options:
Maximum amount of connections
This setting defines the maximum amount of connections that are available in the connection pool of the component. You can increase it when the endpoint can handle more requests and vice versa.
Maximum amount of connections per route
This setting defines the amount of concurrent connections that can be opened per route. Every URL is seen as a new route. These connections will be taken from the connection pool as defined in the Maximum amount of connections setting. You can increase it when the endpoint can handle more requests and vice versa.
When the URL is static then this setting will limit the amount of connections that can be opened for it even when there are more connections available in the pool. In this case you can set the same amount of connections as the Maximum amount of connections setting.
When the URL is dynamic then there are multiple routes that can be called by the component. In this case it is adviced to set this to a lower value than the Maximum amount of connections setting.
Retry failed requests?
Enables the retry mechanism of the HTTP component. Requests with response status 500
or higher are be stored and retried every amount of milliseconds that is set in Retry requests interval. Useful for API's that are not very reliable.
The retry mechanism generates additional exchanges that are added to the exchange counters in the Flow Manager. This also happens when the flow is idle, because the mechanism has to check if there are any failed messages that it should retry. This check happens every amount of milliseconds that is set in Retry requests interval.
The retry mechanism will add the following INFO
to the flow logging:
- Amount of messages that are being retried
- When the external service is down
- When the external service is up
- The retry mechanism will keep retrying indefinitely, but each message expires after 24h.
Retry requests interval
The interval in milliseconds that determines the time after which messages from failed requests are retried.
- Only available when Retry failed requests? is enabled.
Use managed SSL store?
Enable this setting to decouple the managed SSL store of Dovetail from the HTTP component.
In rare occasions endpoints can experience issues with SSL, try to enable this setting to decouple the managed SSL store.
Custom user agent
This setting allows you to define the user-agent header. When left empty it will use Dovetail/[version]
by default.
In rare occasions requests can be blocked (403 Forbidden) because of the default User-Agent header, try overriding the User-Agent header value to overcome this issue.
Custom SSL Certificates
The endpoint you are trying to reach can use an SSL Certificate (HTTPS), this is not a problem for Dovetail as long as it is signed by a default trusted certificate authority. When the endpoint uses a self-signed certificate or a certificate not signed by a default trusted certificate authority, the certificate should be retrieved and imported into Dovetail. This has to be done manually by the support staff of Dovetail, please contact your Dovetail provider when necessary.
When you install a flow that uses such an endpoint Dovetail will run a pre-install check, to check wether the certificate is valid or not. When using a dynamic url this check can be bypassed and it will show up in the flow logging instead.
Testing with HTTP component
With RequestBin you can set up a temporary HTTP server which you can use for testing purposes. Dovetail can send messages to this HTTP server so that you can see if a flow is configured correctly.
To do this:
- Go to https://public.requestbin.com/r/.
- Copy the endpoint URL (e.g. ) and paste in the HTTP component in Dovetail (see screenshot above).
- Kick off the flow in Dovetail by sending a message to it.
- Check to see if the message has been received by the HTTP server.