Quando le richieste API vengono effettuate tramite Apigee Edge, i router e i processori di messaggi di Apigee Edge oppure il backend
i server possono restituire errori alle applicazioni client.
Errori dal processore di messaggi
Il processore di messaggi è il componente principale di Apigee Edge che elabora i criteri e
interagisce con i server di backend. Può restituire errori se rileva problemi quali:
Problemi di connettività di rete, errori di handshake TLS, indisponibilità del server di backend.
Mancata risposta durante la comunicazione con il server di backend
Errori durante l'esecuzione del criterio
Intestazioni HTTP non valide, codifica, percorso, mancata conformità alle specifiche HTTP, superiore a
limiti del prodotto e così via:
Con una richiesta HTTP inviata dalle applicazioni client
OPPURE
Con risposta HTTP inviata dal server di backend
E molti altri ancora
Esempio di errore del processore di messaggi
Il processore di messaggi restituisce sempre un codice di stato HTTP seguito da un messaggio di errore insieme a
un codice di errore in formato JSON come mostrato di seguito:
L'applicazione client riceve un codice di risposta come nell'esempio seguente:
HTTP/1.1414Request-URI Too Long
Una risposta di errore del processore di messaggi appare nel seguente formato:
Contiene il messaggio di errore che descrive la possibile causa dell'errore
errorcode
Codice di errore (chiamato anche codice di errore) associato al
errore
Catalogo degli errori di runtime
Questo catalogo degli errori fornisce tutte le informazioni necessarie sul runtime
codici di errore (per errori non relativi ai criteri) che vengono restituiti dal messaggio Apigee Edge.
Componente processore. Include le seguenti informazioni per ciascuno dei codici di errore:
Codice di stato HTTP
Messaggio di errore
Possibili cause dell'errore
Eventuali specifiche HTTP associate e/o limiti di prodotto
Playbook e video contenenti istruzioni per diagnosticare la causa dell'errore.
soluzioni efficaci che puoi applicare per risolvere autonomamente l'errore (se disponibile)
Correzione che puoi applicare per risolvere autonomamente l'errore
Sono incluse le seguenti categorie di codici di errore:
Utilizza la casella Cerca qui sotto per filtrare la tabella in modo da visualizzare le informazioni citate in precedenza
per ottenere uno specifico codice di errore. Puoi cercare il codice di stato o qualsiasi contenuto in qualsiasi campo
nella tabella.
searchRete di ricerca
Codice di errore
Descrizione
Correggi
flow.*
flow.APITimedOut
Codice di stato HTTP:
504 Gateway Timeout
Messaggio di errore:
API timed out
Possibile causa:
Questo errore si verifica se:
Il server di backend non risponde entro il periodo di timeout configurato
dalla proprietà
api.timeout per il proxy API specifico.
Un criterio richiede molto tempo a causa di operazioni ad alta intensità di calcolo,
o prestazioni scadenti.
Nota: questo playbook fornisce istruzioni per risolvere il problema relativo al codice di errore.
messaging.adaptors.http.flow.GatewayTimeout; ma puoi usare
lo stesso playbook per risolvere il codice di errore flow.APITimedOut.
La codifica specificata nell'intestazione della richiesta HTTP
Content-Encoding è valido e
supportate da Apigee Edge,
MA
Il formato del payload inviato dal client come parte della comunicazione HTTP
richiesta non corrisponde al formato di codifica specificato nella
Intestazione Content-Encoding
La codifica specificata nel campo
L'intestazione della risposta HTTP Content-Encoding è valida e
supportate da Apigee Edge,
MA
Il formato del payload inviato dal server di backend/destinazione come
parte della risposta HTTP non corrisponde al formato di codifica specificato nella
Intestazione Content-Encoding
Il messaggio di errore e il formato possono variare in base al server di backend
implementazione.
Possibile causa:
Questo errore si verifica se il server di backend risponde con uno stato
il codice 504 in Apigee Edge.
Nota: il codice di errore
messaging.adaptors.http.flow.ErrorResponseCode non viene restituito
nel messaggio di errore inviato alle applicazioni client. Questo è
perché questo codice di errore viene impostato da Apigee Edge ogni volta che il server di backend
risponde con un errore e uno dei 4XX o 5XX
codici di stato. Puoi visualizzare questo codice di errore in API Monitoring, log di accesso NGINX,
o un database di analisi.
messaging.adaptors.http.flow.GatewayTimeout
Codice di stato HTTP:
504 Gateway Timeout
Messaggio di errore:
Gateway Timeout
Possibile causa:
Questo errore si verifica se il server di backend non risponde
al processore di messaggi Apigee Edge
Periodo di timeout di I/O configurato sul processore di messaggi.
Questo errore si verifica se l'intestazione Content-Length non viene passata
l'applicazione client come parte delle istruzioni HTTP POST e PUT
inviate ad Apigee Edge.
Nota: le richieste che non soddisfano questa condizione
non può essere acquisito nello strumento Trace, poiché il processore di messaggi esegue
questa convalida in una fase iniziale, molto prima di elaborare la richiesta
qualsiasi criterio nel proxy API.
Assicurati che l'applicazione client passi sempre l'intestazione
Content-Length nell'ambito di HTTP POST e
PUT richieste inviate ad Apigee Edge. Ad esempio:
curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
Anche se stai passando un payload vuoto con POST e
PUT richieste, verifica che l'intestazione
Hai superato il giorno Content-Length: 0. Ad esempio:
curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
messaging.adaptors.http.flow.NoActiveTargets
Codice di stato HTTP:
503 Service Unavailable
Messaggio di errore:
The Service is temporarily unavailable
Possibile causa:
Questo errore si verifica in uno dei seguenti scenari,
se utilizzi
TargetServer in Apigee Edge:
La risoluzione DNS errata dell'host del server di backend
da un server di autorizzazione personalizzato ha generato
indirizzi IP errati che hanno portato a
errori di connessione.
Errori di timeout della connessione dovuti a:
La limitazione del firewall sul server di backend impedisce
con Apigee Edge la connessione al server di backend.
Problemi di connettività di rete tra Apigee Edge
e il server di backend.
L'host specificato in TargetServer non è corretto o
contiene caratteri indesiderati (ad esempio, uno spazio).
Questo errore si verifica se il processore di messaggi Apigee Edge non riceve
e richiedere il payload dall'applicazione client
Periodo di timeout di I/O configurato nel componente Processore di messaggi.
Correggi
Assicurati che l'applicazione client invii il payload della richiesta all'interno
Periodo di timeout I/O configurato sul componente Processore di messaggi di Apigee Edge.
messaging.adaptors.http.flow.ServiceUnavailable
Codice di stato HTTP:
503 Service Unavailable
Messaggio di errore:
The Service is temporarily unavailable
Possibile causa:
Questo errore si verifica in uno dei seguenti scenari:
La risoluzione DNS errata del server di backend
da un server di autorizzazione personalizzato ha generato indirizzi IP errati all'inizio
agli errori di connessione.
Errori di timeout della connessione dovuti a:
La limitazione del firewall sul server di backend impedisce
con Apigee Edge la connessione al server di backend.
Problemi di connettività di rete tra Apigee Edge e
di backend.
L'host del server di destinazione specificato nell'endpoint di destinazione è
non è corretto o contiene caratteri indesiderati (ad esempio lo spazio).
Questo errore può verificarsi anche se il server di backend chiude prematuramente
connessione mentre il processore di messaggi sta ancora inviando il payload di richiesta
di backend.
Questo errore si verifica se Apigee Edge non può instradare la richiesta a uno
TargetEndpoint perché:
Non esiste una condizione della regola di route (<RouteRule>) che
corrisponde alla richiesta in un proxy
E
Nessuna regola di route predefinita definita nel ProxyEndpoint
(ad es. <RouteRule> senza alcuna condizione)
Correggi
Per correggere questo errore:
Rivedi le regole di route definite in ProxyEndpoint e modificale per assicurarti che
è presente almeno una condizione della regola di route che corrisponde alla tua richiesta.
È buona norma definire una regola di route predefinita senza condizioni
quando ci sono più RouteRules.
Assicurati che la regola di route predefinita sia sempre definita per ultima nell'elenco
condizionali perché le regole vengono valutate dall'alto verso il basso nel ProxyEndpoint.
Per scoprire di più sulla definizione di condizioni <RouteRule> in un
ProxyEndpoint, vedi
Destinazioni condizionali.
messaging.runtime.SenseRaiseFault
Codice di stato HTTP:
403 Forbidden
Messaggio di errore:
Sense Fault
Possibile causa:
Questo errore si verifica se viene effettuata una richiesta API da un determinato indirizzo IP client
che è bloccato dalle regole Apigee Sense.
Se l'indirizzo IP del client specifico non è bloccato, ma stai
Quando ricevi questo errore, contatta l'assistenza Apigee Edge.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
Codice di stato HTTP:
500 Internal Server Error
Messaggio di errore:
Bad Form Data
Possibile causa:
Questo errore si verifica solo se vengono soddisfatte tutte le seguenti condizioni:
La richiesta HTTP inviata dal client ad Apigee Edge
contiene:
Content-Type: application/x-www-form-urlencoded,
e
Dati del modulo con il segno della percentuale (%) o la percentuale
(%) seguito da caratteri esadecimali non validi che non sono consentiti
secondo
Moduli - Sezione 17.13.4.1.
Il proxy API in Apigee Edge legge il modulo specifico
che contengono caratteri non consentiti utilizzando
ExtractVariables o il criterioAssignMessage nel flusso di richiesta.
Questo errore si verifica se un'intestazione HTTP specifica non può avere duplicati
in Apigee Edge, compare più di una volta con valori uguali o diversi nell'ambito
Richiesta HTTP inviata dall'applicazione client ad Apigee Edge.
Questo errore si verifica se il nome dell'intestazione inviato come parte della comunicazione HTTP
richiesta dall'applicazione client ad Apigee Edge è vuota.
Assicurati che la richiesta HTTP inviata dall'applicazione client
ad Apigee Edge contiene sempre un nome di intestazione valido
RFC 7230, sezione 3.2: campi intestazione.
protocol.http.HeaderNameWithNonAsciiChar
Codice di stato HTTP:
400 Bad Request
Messaggio di errore:
Header {header_name} contains non ascii character {character}
Possibile causa:
Questo errore si verifica se il nome dell'intestazione inviato come parte della richiesta HTTP
dell'applicazione client ad Apigee Edge contiene caratteri non ASCII.
Header {header_name} contains invalid character {character}
Possibile causa:
Questo errore si verifica se il nome dell'intestazione inviato come parte della richiesta HTTP
dall'applicazione client ad Apigee Edge, contiene caratteri non validi come
uguale (=), virgola (,), punto e virgola (;), tab, CRLF e carattere di nuova riga.
Questo errore si verifica se il percorso nell'URL della richiesta HTTP inviato dall'applicazione client
che contiene caratteri non consentiti in base alla specifica
RFC 3986, sezione 3.3: Percorso.
Questo errore si verifica se la dimensione del payload inviato dall'applicazione client nell'ambito
La richiesta HTTP ad Apigee Edge è superiore al limite consentito in Apigee Edge.
La dimensione totale di tutte le intestazioni della richiesta inviate dal client
nell'ambito della richiesta HTTP ad Apigee Edge, è maggiore del limite consentito
in Apigee Edge.
Questo errore si verifica se le dimensioni della riga di richiesta inviata dall'applicazione client
nell'ambito della richiesta HTTP ad Apigee Edge, sia superiore al limite consentito in
Apigee Edge
Questo errore si verifica se l'intestazione Content-Encoding inviata dal client
come parte della risposta HTTP contiene un formato di codifica/payload che non è
supportate da Apigee Edge.
Questo errore si verifica se l'URL della richiesta del server di backend, rappresentato dal
la variabile di flusso target.url, contiene un percorso che inizia con un punto interrogativo
(?) anziché una barra (/), che non è valida.
Questo errore si verifica se l'intestazione HTTP specifica non può avere duplicati
in Apigee Edge, compare più di una volta con valori uguali o diversi nell'ambito
la risposta HTTP inviata dal server di backend ad Apigee Edge.
Questo errore si verifica se il nome dell'intestazione inviato dal server di backend nell'ambito della comunicazione HTTP
la risposta ad Apigee Edge è vuota.
Questo errore si verifica se l'URL della richiesta HTTP del server di backend, rappresentato da
la variabile di flusso target.url, contiene un percorso vuoto.
Header {header_name} contains non ascii character {character}
Possibile causa:
Questo errore si verifica se il nome dell'intestazione inviato dal server di backend come parte
la risposta HTTP ad Apigee
Edge contiene caratteri non ASCII.
Header {header_name} contains invalid character {character}
Possibile causa:
Questo errore si verifica se il nome dell'intestazione inviato dal server di backend come parte della risposta HTTP,
contiene caratteri non validi come uguale (=), virgola (,), punto e virgola (;), tab,
CRLF e Newline.
Proxy refused to create tunnel with response status {status code}
Possibile causa:
Questo errore si verifica durante la creazione del tunnel tra Apigee Edge e
server di backend dal server proxy a causa di firewall, ACL (Access Control List), DNS
problemi, disponibilità della disponibilità del server di backend ecc.
Nota: il codice di stato nel messaggio di errore
(faultstring) indica la causa principale del problema.
Response Status code 306 is reserved, so can't be used.
Possibile causa:
Questo errore si verifica se il server di backend risponde con
Codice di stato 306 per Apigee Edge.
Il codice di stato 306 è stato definito in una versione precedente di
specifica HTTP. Secondo la specifica HTTP corrente, questo codice
e non devono essere utilizzati.
Poiché il codice di stato 306 è riservato, assicurati che
server di backend non utilizza questo codice di stato durante l'invio di
una risposta ad Apigee Edge.
protocol.http.Response405WithoutAllowHeader
Codice di stato HTTP:
502 Bad Gateway
Messaggio di errore:
Received 405 Response without Allow Header
Possibile causa:
Il server di backend risponde con
Codice di stato 405 Method Not Allowed senza l'intestazione "Allow".
Questo errore si verifica se la risposta HTTP dal server di backend ad Apigee Edge
204 No Content o
205 Reset Content ma contiene le
corpo della risposta e/o una o più delle seguenti intestazioni:
Questo errore si verifica se la dimensione del payload inviato dall'applicazione client nell'ambito
La richiesta HTTP ad Apigee Edge è superiore al limite consentito in Apigee Edge.
Questo errore si verifica se la dimensione totale di tutte le intestazioni di risposta inviate dal
come parte della risposta HTTP ad Apigee Edge sia maggiore del
consentito in Apigee Edge.
Questo errore si verifica se la dimensione della riga di risposta inviata dal server di backend come
parte della risposta HTTP ad Apigee Edge è superiore al limite consentito in Apigee
perimetrali.
Questo errore si verifica se l'intestazione Content-Encoding inviata dal
il server di backend come parte della risposta HTTP contiene la codifica/payload
che non è
supportate da Apigee Edge.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
Possibile causa:
Questo errore si verifica se al Keyalias specifico viene fatto riferimento nel TargetEndpoint
oppure TargetServer non trovato nell'archivio chiavi specifico.
Correggi
Assicurati che il KeyAlias specificato in TargetEndpoint o TargetServer
esiste e fa parte dell'archivio chiavi specifico.
security.util.TrustStoreWithNoCertificates
Codice di stato HTTP:
500 Internal Server Error
Messaggio di errore:
TrustStore {truststore_name} has no certificates
Possibile causa:
Questo errore si verifica se l'archivio di attendibilità specifico a cui viene fatto riferimento nell'endpoint di destinazione o
TargetServer non contiene certificati.
Correggi
Se vuoi convalidare il certificato del server di backend
usare il truststore in un TargetEndpoint o TargetServer,
verifica che l'archivio attendibilità contenga certificati validi del server di backend.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-04-10 UTC."],[],[]]