Skip to main content
Version: 4.15.1

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.

tip

Read more about using variables in Dovetail on this reference page.

Please stand by while configuration is in progress

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
head request on install

Whenever you install a flow with an HTTP component a HEAD request will be sent to the URL for validation.

tip

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.

note

Authentication password

The password for the selected authentication method.

note

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.

note

Authentication domain

The domain for the selected authentication method.

note

Authentication host

The host for the selected authentication method.

note

Authentication certificate

The password protected private key/certificate (store) that will be used with the authentication method.

note

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.

using a url header

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.

tip

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
note
  • 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.

note

Use managed SSL store?

Enable this setting to decouple the managed SSL store of Dovetail from the HTTP component.

warning

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.

warning

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.

HTTP Component example

To do this:

  1. Go to https://public.requestbin.com/r/.
  2. Copy the endpoint URL (e.g. ) and paste in the HTTP component in Dovetail (see screenshot above).
  3. Kick off the flow in Dovetail by sending a message to it.
  4. Check to see if the message has been received by the HTTP server.