Encoding der Antwort beim HTTP-Ausgangsadapter

  • Dieses Thema hat 1 Antwort sowie 1 Teilnehmer und wurde zuletzt vor vor 4 Jahren von rberger aktualisiert.
  • 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?

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

        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.