HTTP-Ausgangsadapter erhält augenscheinlich falsches Encoding im Response

  • Beitrag
    rberger
    Administrator
      Folgende Frage wurde uns auf anderem Wege gestellt, soll aber alle unseren Community-Mitgliedern weiterhelfen:

      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?

      Hochgeladene Dateien sind nur für angemeldete und verifizierte Nutzer sichtbar.

      0
      0
    Ansicht von 1 Antwort (von insgesamt 1)
    • Antworten
      rberger
      Administrator
        Das Problem ist der „content-type: application/json“ ohne Angabe eines Encodings 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 der Version 2.3.4.14812 gibt es eine Erweiterung des Adapters, damit das Default-Encoding des Responses geändert werden kann.

        Hochgeladene Dateien sind nur für angemeldete und verifizierte Nutzer sichtbar.

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