When a "Content-Type" header is explicitely set with charset attached before invoking the camel http4 component, the charset is not taken into account.
This is because ContentType.create is invoked with the complete Content-Type when in fact it expects a mediaType.
(see lines 414-416: camel-http4 version 2.14.0)
if (contentTypeString != null)
For example, if header is set to "application/json; charset=UTF-8" the contentType returned by ContentType.create(contentTypeString) is null.
And therefore, further down (line 444) charset is not extracted even though it has been specified.