Laufzeitfehlerkatalog

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Fehler in Apigee

Wenn API-Anfragen über Apigee erfolgen, können die Apigee-Komponenten Router und Message Processors oder die Backend-Server Fehler an die Clientanwendungen zurückgeben.

Fehler vom Message Processor

Der Message Processor ist die Kernkomponente von Apigee, die die Richtlinien verarbeitet und mit den Backend-Servern interagiert. Er kann Fehler zurückgeben, wenn folgende Probleme auftreten:

  • Probleme mit der Netzwerkverbindung, TLS-Handshake-Fehler, Nichtverfügbarkeit des Backend-Servers, fehlende Antwort während der Kommunikation mit dem Backend-Server
  • Fehler während der Ausführung der Richtlinie
  • Ungültige HTTP-Header, Codierung, Pfad, Nichteinhaltung von HTTP-Spezifikationen, Überschreitung von Produktlimits usw.:
    • Mit den von den Clientanwendungen gesendeten HTTP-Anfragen
    • OR

    • Mit der vom Backend-Server gesendeten HTTP-Antwort
  • Und vieles mehr

Beispielfehler vom Message Processor

Der Message Processor gibt immer einen HTTP-Statuscode gefolgt von einer Fehlermeldung sowie einem Fehlercode im JSON-Format zurück, wie unten gezeigt:

Die Clientanwendung erhält einen Antwortcode wie im folgenden Beispiel:

  HTTP/1.1 504 Gateway Timeout

Eine Fehlermeldung des Message Processors wird im folgenden Format angezeigt:

{
  "fault": {
    "faultstring": "Gateway Timeout",
    "detail": {
      "errorcode": "messaging.adaptors.http.flow.GatewayTimeout"
      "reason": "TARGET_READ_TIMEOUT"
    }
  }
}

Beschreibung der Felder in der Fehlerantwort:

Feld Beschreibung
faultstring Enthält die Fehlermeldung, die die mögliche Ursache für den Fehler beschreibt
errorcode Fehlercode, der mit dem Fehler verknüpft ist
reason Enthält eine Nachricht, die den möglichen Grund für den Fehler angibt

Laufzeitfehlerkatalog

Dieser Fehlerkatalog enthält alle Informationen zu den Laufzeitfehlercodes (für Fehler außerhalb von Richtlinien), die von der Apigee Message Processor-Komponente zurückgegeben werden. Sie enthält die folgenden Informationen zu den einzelnen Fehlercodes:

  • HTTP-Statuscode
  • Fehlermeldung
  • Grund für den Fehler (nicht alle Fehlermeldungen zeigen ein reason) an
  • Mögliche Ursachen für den Fehler
  • Zugehörige HTTP-Spezifikationen und/oder Produkteinschränkungen
  • Playbooks und Videos, die Anleitungen zur Diagnose der Fehlerursache und effektive Lösungen enthalten, mit denen Sie den Fehler selbst beheben können (falls verfügbar)
  • Fehlerkorrektur, um den Fehler selbst zu beheben

Die folgenden Fehlercode-Kategorien werden behandelt:

Verwenden Sie das Feld Suchen unten, um die Tabelle so zu filtern, dass die obigen Informationen für einen bestimmten Fehlercode angezeigt werden. Sie können in jedem Feld der Tabelle nach dem Statuscode oder einem beliebigen Inhalt suchen.

Fehlercode Beschreibung Korrigieren

flow.*

flow.APITimedOut

  • HTTP-Statuscode:
504 Gateway Timeout
  • Fehlermeldung:
API timed out
  • Mögliche Ursache:

Dieser Fehler tritt in folgenden Fällen auf:

  • Der Backend-Server antwortet nicht innerhalb des Zeitlimits, das vom Attribut api.timeout für den jeweiligen API-Proxy konfiguriert wurde.
  • Eine Richtlinie dauert aufgrund rechenintensiver Vorgänge, hoher Last oder schlechter Leistung sehr lange.

flow.SharedFlowNotFound

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
Shared Flow {shared_flow_name} Not Found
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn der spezifische freigegebene Ablauf:

  • Nicht vorhanden
  • OR

  • Vorhanden, aber nicht bereitgestellt ist

messaging.adaptors.http.flow

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Decompression failure at request
  • Grund:

CLIENT_READ_CONTENT_NOT_IN_GZIP_FORMAT

  • Mögliche Ursache:

Dieser Fehler tritt nur in folgenden Fällen auf:

  • Die im HTTP-Anfrage-Header angegebene Codierung Content-Encoding ist gültig und wird von Apigee unterstützt.
  • ABER

  • Das Nutzlastformat, das vom Client als Teil der HTTP-Anfrage gesendet wird, stimmt nicht mit dem im Content-Encoding-Header angegebenen Codierungsformat überein

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Decompression failure at response
  • Grund:

TARGET_READ_CONTENT_NOT_IN_GZIP_FORMAT

TARGET_READ_INCORRECT_HEADER_CHECK

  • Mögliche Ursache:

Dieser Fehler tritt nur in folgenden Fällen auf:

  • Die im HTTP-Antwortheader Content-Encoding angegebene Codierung des Backend-/Zielservers ist gültig und wird von Apigee unterstützt.
  • ABER

  • Das vom Backend-/Zielserver als Teil der HTTP-Antwort gesendete Nutzlastformat entspricht nicht dem im Header Content-Encoding angegebenen Codierungsformat

messaging.adaptors.http.flow.ErrorResponseCode

  • HTTP-Statuscode:
500

  • Fehlermeldung:
Die Fehlermeldung und das Format können je nach Implementierung des Backend-Servers variieren.
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Backend-Server Apigee mit dem Statuscode 500 antwortet.
  • HTTP-Statuscode:
503
  • Fehlermeldung:
Die Fehlermeldung und das Format können je nach Implementierung des Backend-Servers variieren.
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Backend-Server Apigee mit dem Statuscode 503 antwortet.
  • HTTP-Statuscode:
504
  • Fehlermeldung:
Die Fehlermeldung und das Format können je nach Implementierung des Backend-Servers variieren.
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Backend-Server Apigee mit dem Statuscode 504 antwortet.

Hinweis: Der Fehlercode messaging.adaptors.http.flow.ErrorResponseCode wird nicht als Teil der Fehlermeldung zurückgegeben, die an die Clientanwendungen gesendet wird. Dies liegt daran, dass dieser Fehlercode von Apigee festgelegt wird, wenn der Backend-Server mit einem Fehler und einem der Statuscodes 4XX oder 5XX antwortet. Sie können diesen Fehlercode in der API-Überwachungs- oder Analysedatenbank anzeigen lassen.

messaging.adaptors.http.flow.GatewayTimeout

  • HTTP-Statuscode:
504 Gateway Timeout
  • Fehlermeldung:
Gateway Timeout
  • Grund:
TARGET_READ_TIMEOUT
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Backend-Server nicht innerhalb des auf dem Message Processor konfigurierten E/A-Zeitlimits auf den Apigee Message Processor antwortet.

messaging.adaptors.http.flow.LengthRequired

  • HTTP-Statuscode:
411 Length Required
  • Fehlermeldung:
'Content-Length' is missing
  • Grund:
CLIENT_REQUEST_CONTENT_LENGTH_REQUIRED
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn der Content-Length-Header von der Clientanwendung nicht als Teil der an Apigee gesendeten HTTP POST- und PUT-Anfragen übergeben wird.

Hinweis: Die Anfragen, die wegen dieses Fehlers fehlschlagen, können mit dem Trace-Tool nicht erfasst werden, da der Message Processor diese Validierung in einer sehr frühen Phase durchführt, lange bevor die Anfrage verarbeitet und eine Richtlinie im API-Proxy ausgeführt wird.

  • HTTP-Spezifikation:
RFC-Abschnitt 3.3.2: Inhaltslänge

Korrigieren

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Achten Sie darauf, dass die Clientanwendung immer den Header Content-Length als Teil der HTTP-Anfragen POST und PUT übergibt, die an Apigee gesendet werden. Beispiel:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. Auch wenn Sie eine leere Nutzlast mit POST- und PUT-Anfragen übergeben, müssen Sie darauf achten, dass der Header Content-Length: 0 übergeben wird. Beispiel:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • HTTP-Statuscode:
503 Service Unavailable
  • Fehlermeldung:
The Service is temporarily unavailable
  • Grund:

TARGET_HEALTHCHECK_CONNECT_TIMEOUT

TARGET_HEALTHCHECK_CONNECTION_REFUSED

TARGET_HEALTHCHECK_HTTPS_REQUEST_OVER_HTTP

TARGET_HEALTHCHECK_UNEXPECTED_EOF

  • Mögliche Ursache:

Dieser Fehler tritt in einem der folgenden Szenarien auf, wenn Sie TargetServer in Apigee verwenden:

  1. Die falsche DNS-Auflösung des Backend-Serverhosts durch den benutzerdefinierten Autorisierungsserver hat zu fehlerhaften IP-Adressen geführt, die zu Verbindungsfehlern führt.
  2. Zeitüberschreitungsfehler bei der Verbindung aufgrund von:
    1. Die Firewalleinschränkung auf dem Backend-Server verhindert, dass Apigee eine Verbindung zum Backend-Server herstellt.
    2. Probleme mit der Netzwerkverbindung zwischen dem Apigee- und dem Backend-Server.
  3. Der im TargetServer angegebene Host ist falsch oder enthält unerwünschte Zeichen (z. B. ein Leerzeichen).
Dieser Fehler kann auch auftreten, wenn die Systemdiagnosen, die für das Monitoring der Systemdiagnose der Zielserver konfiguriert sind, fehlschlagen.

messaging.adaptors.http.flow.RequestTimeOut

  • HTTP-Statuscode:
408 Request Timeout
  • Fehlermeldung:
Request timed out
  • Grund:
CLIENT_READ_TIMEOUT
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Apigee Message Processor die Nutzlast der Anfrage von der Clientanwendung für den auf der Message Processor-Komponente konfigurierten E/A-Zeitüberschreitungszeitraum nicht empfängt.

Korrigieren

Achten Sie darauf, dass die Clientanwendung die Nutzlast der Anfrage innerhalb des E/A-Zeitlimits sendet, das in der Message Processor-Komponente von Apigee konfiguriert wurde.

messaging.adaptors.http.flow.ServiceUnavailable

  • HTTP-Statuscode:
503 Service Unavailable
  • Fehlermeldung:
The Service is temporarily unavailable
  • Grund:

TARGET_CONNECT_TIMEOUT

TARGET_WRITE_BROKEN_PIPE

TARGET_WRITE_CONNECTION_RESET_BY_PEER

TARGET_CONNECT_CONNECTION_REFUSED

  • Mögliche Ursache:

Dieser Fehler tritt in einem der folgenden Szenarien auf:

  1. Die falsche DNS-Auflösung des Backend-Serverhosts durch den benutzerdefinierten Autorisierungsserver hat zu fehlerhaften IP-Adressen geführt, die zu Verbindungsfehlern führt.
  2. Zeitüberschreitungsfehler bei der Verbindung aufgrund von:
    1. Die Firewalleinschränkung auf dem Backend-Server verhindert, dass Apigee eine Verbindung zum Backend-Server herstellt.
    2. Probleme mit der Netzwerkverbindung zwischen dem Apigee- und dem Backend-Server.
  3. Der im Zielendpunkt angegebene Zielserverhost ist falsch oder enthält unerwünschte Zeichen (z. B. Leerzeichen).
Dieser Fehler kann auch auftreten, wenn der Backend-Server die Verbindung vorzeitig beendet, während der Message Processor weiterhin die Anfragenutzlast an den Backend-Server sendet.

messaging.adaptors.http.flow.SslHandshakeFailed

  • HTTP-Statuscode:
503 Service Unavailable
  • Fehlermeldung:
SSL Handshake failed {error_message}
  • Mögliche Ursache:

Dieser Fehler tritt während des SSL-Handshake-Prozesses zwischen dem Message Processor von Apigee und dem Backend-Server auf, wenn:

  1. Der Truststore des Message Processors von Apigee:
    • Eine Zertifikatskette enthält, die nicht mit der vollständigen Zertifikatskette des Backend-Servers übereinstimmt
    • OR

    • Nicht die vollständige Zertifikatskette des Backend-Servers enthält
  2. The certificate chain presented by the backend server:
    • Enthält einen vollständig qualifizierten Domainnamen (FQDN), der nicht mit dem im Zielendpunkt angegebenen Hostnamen übereinstimmt
    • OR

    • Enthält eine falsche/unvollständige Zertifikatskette
  3. Der Backend-Server lehnt die von Apigee verwendete TLS-Version ab.

    Wenn der Back-End-Server beispielsweise nur TLS-Version 1.3 akzeptiert, aber auf dem Zielserver auf Apigee-Seite die TLS-Version 1.2 im Feld TLS Protocol festgelegt ist (oder gar keine TLS-Version festgelegt ist, In diesem Fall verwendet Apigee derzeit nicht TLS-Version 1.3 als Standard), schlägt die Verbindung aufgrund einer nicht übereinstimmenden Protokollversion fehl.

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Unexpected EOF at target
  • Grund:
TARGET_READ_UNEXPECTED_EOF
  • Mögliche Ursache:

Dieser Fehler tritt in einem der folgenden Szenarien auf:

  1. TargetServer ist nicht ordnungsgemäß für die Unterstützung von TLS/SSL-Verbindungen in Apigee konfiguriert.
  2. Der Backend-Server kann die Verbindung abrupt schließen, während Apigee auf eine Antwort vom Backend-Server wartet.
  3. Behalten Sie auf Apigee und auf dem Backend-Server falsch konfigurierte Zeitüberschreitungen bei.

messaging.runtime.*

messaging.runtime.RouteFailed

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
Unable to route the message to a TargetEndpoint
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn Apigee die Anfrage aus folgenden Gründen nicht an einen der TargetEndpoints weiterleiten kann:

  • Es gibt keine Bedingung für eine Routingregel (<RouteRule>), die der Anfrage in einem Proxy entspricht
  • AND

  • Im ProxyEndpoint ist keine Standardroutingregel definiert, d. h. <RouteRule> ohne Bedingung

Korrigieren

So beheben Sie diesen Fehler:

  1. Prüfen Sie die in Ihrem ProxyEndpoint definierten Routingregeln und ändern Sie sie, um sicherzustellen, dass mindestens eine Bedingung der Routingregel vorhanden ist, die Ihrer Anfrage entspricht.
  2. Es empfiehlt sich, eine Standard-Routingregel ohne Bedingung zu definieren, wenn Sie mehrere RouteRules haben.
  3. Achten Sie darauf, dass die Standard-Routingregel als letzte in der Liste der bedingten Routen definiert ist, da die Regeln im ProxyEndpoint von oben nach unten ausgewertet werden.

Weitere Informationen zum Definieren von <RouteRule>-Bedingungen in einem ProxyEndpoint finden Sie unter Bedingte Ziele.

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
Bad Form Data
  • Mögliche Ursache:

Dieser Fehler tritt nur dann auf, wenn alle folgenden Bedingungen erfüllt sind:

  1. Die HTTP-Anfrage, die vom Client an Apigee gesendet wird, enthält Folgendes:
    • Content-Type: application/x-www-form-urlencoded, und
    • Formulardaten mit dem Prozentzeichen (%) oder dem Prozentzeichen (%), gefolgt von ungültigen Hexadezimalzeichen, die nicht gemäß der Formulare – Abschnitt 17.13.4.1 zulässig sind.
  2. Der API-Proxy in Apigee liest die spezifischen Formularparameter, die alle Zeichen enthalten, die nicht mit der ExtractVariables oder der AssignMessage-Richtlinie im Anfrageablauf zulässig sind.

protocol.http.DuplicateHeader

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Duplicate Header "{header_name}"
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn ein bestimmter HTTP-Header, der keine Duplikate in Apigee haben darf, mehrmals mit denselben oder unterschiedlichen Werten als Teil der HTTP-Anfrage auftritt, die von der Clientanwendung an Apigee gesendet wird.
  • HTTP-Spezifikation:
RFC 7230, Abschnitt 3.2.2: Feldreihenfolge

protocol.http.EmptyHeaderName

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Header name cannot be empty
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Headername, der als Teil der HTTP-Anfrage von der Clientanwendung an Apigee gesendet wurde, leer ist.
  • HTTP-Spezifikation:
RFC 7230, Abschnitt 3.2: Headerfelder

Korrigieren

Achten Sie darauf, dass die von der Clientanwendung an Apigee gesendete HTTP-Anfrage immer einen gültigen Headernamen gemäß RFC 7230, Abschnitt 3.2: Headerfelder enthält.

protocol.http.HeaderNameWithNonAsciiChar

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Header {header_name} contains non ascii character {character}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Headername, der als Teil der HTTP-Anfrage von der Clientanwendung an Apigee gesendet wurde, Nicht-ASCII-Zeichen enthält.
  • HTTP-Spezifikation:

RFC 7230, Abschnitt 3.2: Header-Felder und RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte

Korrigieren

Achten Sie darauf, dass die an Apigee gesendete HTTP-Anfrage des Clients keine Nicht-ASCII-Zeichen in Headernamen gemäß RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte enthält.

protocol.http.HeaderWithInvalidChar

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Header {header_name} contains invalid character {character}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Headername als Teil der HTTP-Anfrage von der Clientanwendung an Apigee ungültige Zeichen wie gleich (=), Komma (,), Semikolon (;), Tab, CRLF enthält, und einen Zeilenumbruch.
  • HTTP-Spezifikation:

RFC 7230, Abschnitt 3.2: Header-Felder und RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte

Korrigieren

Achten Sie darauf, dass die von der Clientanwendung an Apigee gesendete HTTP-Anfrage keine ungültigen Zeichen in den Headernamen gemäß RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte enthält.

protocol.http.NoResolvedHost

  • HTTP-Statuscode:
503 Service Unavailable
  • Fehlermeldung:

Unable to resolve host {hostname}

Dabei ist {hostname} dynamisch und der Wert ändert sich in Bezug auf den angegebenen Hostnamen.

  • Grund:
TARGET_CONNECT_HOST_NOT_REACHABLE
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der angegebene Zielserverhost falsch ist oder unerwünschte Zeichen (z. B. Leerzeichen) enthält.

protocol.http.InvalidPath

  • HTTP-Statuscode:
400 Bad Request
  • Fehlermeldung:
Invalid path {path}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Pfad in der von der Clientanwendung an Apigee gesendeten HTTP-Anfrage-URL Zeichen enthält, die gemäß der Spezifikation RFC 3986, Abschnitt 3.3: Pfad nicht zulässig sind.
  • HTTP-Spezifikation:

RFC 3986, Abschnitt 3: Syntaxkomponenten und RFC 3986, Abschnitt 3.3: Pfad

Korrigieren

Achten Sie darauf, dass der Pfad in der von der Clientanwendung an Apigee gesendeten HTTP-Anfrage-URL keine Zeichen enthält, die gemäß RFC 3986, Abschnitt 3.3: Pfad nicht zulässig sind.

protocol.http.TooBigBody

  • HTTP-Statuscode:
413 Request Entity Too Large
  • Fehlermeldung:
Body buffer overflow
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Nutzlastgröße, die von der Clientanwendung als Teil der HTTP-Anfrage an Apigee gesendet wird, größer als die in Apigee zulässige Grenze ist.
  • Beschränkungen:
Apigee-Limits

protocol.http.TooBigHeaders

  • HTTP-Statuscode:
431 Request Header Fields Too Large
  • Fehlermeldung:
request headers size exceeding {limit}
  • Mögliche Ursache:
Die Gesamtgröße aller Anfrageheader, die von der Clientanwendung als Teil der HTTP-Anfrage an Apigee gesendet werden, ist größer als das in Apigee zulässige Limit.
  • HTTP-Spezifikation:
RFC 6585, Abschnitt 5: 431 Anfrage-Headerfelder zu groß
  • Beschränkungen:
Apigee-Limits

protocol.http.TooBigLine

  • HTTP-Statuscode:
414 Request-URI Too Long
  • Fehlermeldung:
request line size exceeding {limit}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Größe der Anfragezeile, die von der Clientanwendung als Teil der HTTP-Anfrage an Apigee gesendet wird, das zulässige Limit in Apigee überschreitet.
  • Beschränkungen:
Apigee-Limits

protocol.http.UnsupportedEncoding

  • HTTP-Statuscode:
415 Unsupported Media
  • Fehlermeldung:
Unsupported Encoding "{encoding}"
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Content-Encoding-Header, der vom Client als Teil der HTTP-Antwort gesendet wird, ein Codierungs-/Nutzlastformat enthält, das von Apigee nicht unterstützt wird.
  • HTTP-Spezifikation:
RFC 7231, Abschnitt 6.5.13: 415 Nicht unterstützter Medientyp

protocol.http.* - Caused by target

protocol.http.BadPath

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
Invalid request path
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Anfrage-URL des Backend-Servers, die durch die Flussvariable target.url dargestellt wird, einen Pfad enthält, der mit einem Fragezeichen (?) anstelle eines Schrägstrichs (/) beginnt, was ungültig ist.
  • HTTP-Spezifikation:

RFC 3986, Abschnitt 3: Syntaxkomponenten und RFC 3986, Abschnitt 3.3: Pfad

protocol.http.DuplicateHeader

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Duplicate Header "{header_name}"
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der spezifische HTTP-Header, der in Apigee keine Duplikate enthalten darf, mehr als einmal mit denselben oder unterschiedlichen Werten als Teil der vom Backend-Server an Apigee gesendeten HTTP-Antwort auftaucht.
  • HTTP-Spezifikation:
RFC 7230, Abschnitt 3.2.2: Feldreihenfolge

protocol.http.EmptyHeaderName

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Header name cannot be empty
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Headername, der vom Backend-Server als Teil der HTTP-Antwort an Apigee gesendet wurde, leer ist.
  • HTTP-Spezifikation:
RFC 7230, Abschnitt 3.2: Headerfelder

Korrigieren

Achten Sie darauf, dass die vom Backend-Server an Apigee gesendete HTTP-Antwort immer einen gültigen Headernamen gemäß RFC 7230, Abschnitt 3.2: Headerfelder enthält.

protocol.http.EmptyPath

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
Request path cannot be empty
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die HTTP-Anfrage-URL des Backend-Servers, dargestellt durch die Ablaufvariable target.url, einen leeren Pfad enthält.
  • HTTP-Spezifikation:

RFC 3986, Abschnitt 3: Syntaxkomponenten und RFC 3986, Abschnitt 3.3: Pfad

protocol.http.HeaderNameWithNonAsciiChar

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Header {header_name} contains non ascii character {character}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Header-Name, der vom Backend-Server als Teil der HTTP-Antwort an Apigee Edge gesendet wurde, Nicht-ASCII-Zeichen enthält.
  • HTTP-Spezifikation:

RFC 7230, Abschnitt 3.2: Header-Felder und RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte

Korrigieren

Achten Sie darauf, dass die an Apigee gesendete HTTP-Antwort keine Nicht-ASCII-Zeichen in Headernamen gemäß RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte enthält.

protocol.http.HeaderWithInvalidChar

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Header {header_name} contains invalid character {character}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Headername, der vom Backend-Server als Teil der HTTP-Antwort gesendet wurde, ungültige Zeichen wie Gleich (=), Komma (,), Semikolon (;), Tab, CRLF und einen Zeilenumbruch enthält.
  • HTTP-Spezifikation:

RFC 7230, Abschnitt 3.2: Header-Felder und RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte

Korrigieren

Achten Sie darauf, dass die an Apigee gesendete HTTP-Antwort des Backend-Servers keine ungültigen Zeichen in den Headernamen gemäß RFC 7230, Abschnitt 3.2.6: Komponenten für Feldwerte enthält.

protocol.http.ProxyTunnelCreationFailed

  • HTTP-Statuscode:
503 Service Unavailable
  • Fehlermeldung:
Proxy refused to create tunnel with response status {status code}
  • Mögliche Ursache:

Dieser Fehler tritt während der Erstellung des Tunnels zwischen Apigee und dem Backend-Server durch den Proxyserver aufgrund von Firewall, ACL (Access Control List), DNS-Problemen, Verfügbarkeit des Backend-Servers usw. auf.

Hinweis: Der Statuscode in der Fehlermeldung (faultstring) stellt die allgemeine Ursache des Problems dar.

protocol.http.Response306Reserved

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Response Status code 306 is reserved, so can't be used.
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn der Backend-Server mit Apigee den Statuscode 306 zurückgegeben hat.

Der Statuscode 306 wurde in einer früheren Version der HTTP-Spezifikation definiert. Gemäß der aktuellen HTTP-Spezifikation ist dieser Code reserviert und sollte nicht verwendet werden.

  • HTTP-Spezifikation:
RFC 7231, Abschnitt 6.3.5: 306 Reserviert

Korrigieren

Da der Statuscode 306 reserviert ist, darf Ihr Backend-Server beim Senden einer Antwort an Apigee diesen Statuscode nicht verwenden.

protocol.http.Response405WithoutAllowHeader

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Received 405 Response without Allow Header
  • Mögliche Ursache:
Der Backend-Server antwortet mit dem Statuscode 405 Method Not Allowed ohne den Header „Allow”.
  • HTTP-Spezifikation:

RFC 7231, Abschnitt 6.5.5: 405 Methode nicht zulässig und RFC 7231, Abschnitt 7.4.1: Zulassen

protocol.http.ResponseWithBody

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Received {status_code} Response with message body
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn die HTTP-Antwort vom Backend-Server an Apigee entweder 204 No Content oder 205 Reset Content lautet, aber den Antworttext und/oder einen oder mehrere der folgenden Header enthält:

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • HTTP-Spezifikation:

RFC 7231, Abschnitt 6.3.5: 204 Keine Inhalte und RFC 7231, Abschnitt 6.3.6: 205 Inhalte zurücksetzen

protocol.http.TooBigBody

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
Body buffer overflow
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Nutzlastgröße, die von der Clientanwendung als Teil der HTTP-Anfrage an Apigee gesendet wird, größer als die in Apigee zulässige Grenze ist.
  • Beschränkungen:
Apigee-Limits

protocol.http.TooBigHeaders

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
response headers size exceeding {limit}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Gesamtgröße aller Antwortheader, die vom Backend-Server als Teil der HTTP-Antwort an Apigee gesendet wurden, das zulässige Limit in Apigee überschreitet.
  • Beschränkungen:
Apigee-Limits

protocol.http.TooBigLine

  • HTTP-Statuscode:
502 Bad Gateway
  • Fehlermeldung:
response line size exceeding {limit}
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn die Größe der vom Backend-Server als Teil der HTTP-Antwort an Apigee gesendeten Antwortzeile das zulässige Limit in Apigee Edge überschreitet.
  • Beschränkungen:
Apigee-Limits

protocol.http.UnsupportedEncoding

  • HTTP-Statuscode:
415 Unsupported Media
  • Fehlermeldung:
Unsupported Encoding "{encoding}"
  • Mögliche Ursache:
Dieser Fehler tritt auf, wenn der Header Content-Encoding, der vom Backend-Server als Teil der HTTP-Antwort gesendet wird, das Codierungs-/Nutzlastformat enthält, das von Apigee nicht unterstützt wird.
  • HTTP-Spezifikation:
RFC 7231, Abschnitt 6.5.13: 415 Nicht unterstützter Medientyp

security.util.*

security.util.KeyAliasNotFound

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn der spezifische KeyAlias, auf den im TargetEndpoint oder TargetServer verwiesen wird, nicht im spezifischen Keystore gefunden wird.

Korrigieren

Achten Sie darauf, dass der im TargetEndpoint oder TargetServer angegebene KeyAlias vorhanden ist und Teil des spezifischen Keystores ist.

security.util.TrustStoreWithNoCertificates

  • HTTP-Statuscode:
500 Internal Server Error
  • Fehlermeldung:
TrustStore {truststore_name} has no certificates
  • Mögliche Ursache:

Dieser Fehler tritt auf, wenn der Truststore, auf den im TargetEndpoint oder TargetServer verwiesen wird, keine Zertifikate enthält.

Korrigieren

Wenn Sie das Zertifikat des Backend-Servers validieren und den Truststore in einem TargetEndpoint oder TargetServer verwenden möchten, prüfen Sie, ob der Truststore die gültigen Zertifikate des Backend-Servers enthält.