Encoding der Antwort beim HTTP-Ausgangsadapter

  • Beitrag
    rberger
    Administrator
    Folgende Frage hat uns auf anderem Wege errreicht:

    Bei Verwendung des HTTP-Adapters in ausgehender Richtung mit dem Verbindungstyp Basic Auth habe ich den Effekt, dass ich ein XML mit kaputtem Encoding erhalte. Statt ä erhalte ich beispielsweise „ä“, was darauf hindeutet, dass die Daten eigentlich utf-8 sind, aber als ISO-8859-1 interpretiert werden. Wenn ich den Konverter XML->Anhang verwende und dort „ISO-8859-1“ als Zeichensatz angebe, sieht der Anhang korrekt aus. Allerdings konnte ich den Anhang nicht in utf-8 wandeln, das Encoding blieb defekt.

    Im core_jcl.log habe ich gesehen, dass die die http-Antwort mit „4D5“ beginnt:
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.impl.conn.DefaultClientConnection] Receiving response: HTTP/1.1 200 OK
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << HTTP/1.1 200 OK
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << date: Wed, 09 Dec 2020 11:22:10 GMT
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << server: Apache
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << vary: Accept-Encoding
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << content-type: application/json
    2020-12-09 11:22:12.689 [DEBUG] [org.apache.http.headers] << transfer-encoding: chunked
    2020-12-09 11:22:12.690 [DEBUG] [org.apache.http.wire]  << “4D5[\r][\n]”
    2020-12-09 11:22:12.690 [DEBUG] [org.apache.http.wire]  << “{“Auftraege”:[{“Auftrag”:{“Auftragsnummer”:””,” …

    Im Postman wird die http-Antwort korrekt interpretiert.

    Könnten Sie mir mitteilen, wo ich welche Encodings angeben muss, damit auch im Transconnect die Umlaute korrekt ankommen?

    0
    0
Ansicht von 1 Antwort (von insgesamt 1)
  • Antworten
    rberger
    Administrator
    Das Problem ist der “content-type: application/json” ohne Angabe einer Kodierung in der Antwort des Services. Standard nach HTTP ISO ist Encoding ISO-8859-1.
    Sehr oft wird bei JSON-Antworten grundsätzlich utf-8 genutzt. Das wird im Netz ausführlich diskutiert.

    Seit TRANSCONNECT®-Version 2.3.4.14812 gibt es im HTTP-Ausgangsadapter eine neue Eigenschaft “Response-Kodierung”, welche es ermöglicht, die Standard-Response-Kodierung zu ändern. Diese Eigenschaft wird nur dann verwendet, wenn in der Response selber keine Kodierung angegeben ist.

    0
    0
Ansicht von 1 Antwort (von insgesamt 1)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.