Troubles with German Umlaute ä ö ü ß

I have problems with German Umlaute ä ü ö ß.
I send a json logmessage from IBMi (AS400) to logstash encoded in ISO8859-1. It is not possible to send them in UTF-8. So I tried to set

input {
  http {
    host => ""
    port => 8080
    codec => json { charset => "ISO8859-1"}

This results in either

test � � � � test; for content_type: text/xml


test ? ? ? ? test; for content_type: application/json

I know that Json input is automatically decoded as UTF-8, that's why I have tried text/xml.
Wireshark "receives" the message as
So e.g. ä is sent as E4

Can somebody please help me?

If the content type is application/json then by default the additional_codecs option overrides the codec option and uses a json codec with no charset option. I do not know of you can supply options to a codec in additional_codecs. If not, you could set additional codecs to {} to force it to use the codec option with the charset.