Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Criterio AccessControl
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
L'indirizzo IP del client o un indirizzo IP passato
nella richiesta API corrisponde a un indirizzo IP specificato nell'elemento <SourceAddress> all'interno
dell'elemento <MatchRule> del criterio di controllo dell'accesso e l'attributo action dell'elemento
<MatchRule> è impostato su DENY . |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
La variabile di flusso in <ClientIPVariable> contiene un indirizzo IP non valido. |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Voci specifiche per gli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | acl.AC-AllowAccess.failed = true |
Esempio di risposta all'errore
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
Esempio di regola di errore
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
Criterio AccessEntity
Per informazioni correlate, consulta Informazioni importanti sugli errori delle norme e Gestire gli errori.
Errori di runtime
Nessuno.
Errori di deployment
Nome dell'errore | Stringa di errore | Stato HTTP | Si verifica quando |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/D | Il tipo di entità utilizzato deve essere uno dei tipi supportati. |
Norme di AssignMessage
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
Il criterio non è stato in grado di impostare una variabile. Consulta la stringa di errore per il nome della variabile non risolta. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Questo errore si verifica se l'attributo Le variabili di tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Apigee integrate |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Questo errore si verifica se una variabile specificata nel criterio AssignMessage è:
|
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidIndex |
Se l'indice specificato negli elementi <Copy> e/o <Remove> del criterio AssignMessage è 0 o un numero negativo, il deployment del proxy API non va a buon fine.
|
build |
InvalidVariableName |
Se l'elemento secondario <Name> è vuoto o non è specificato nell'elemento <AssignVariable> ,
il deployment del proxy API non va a buon fine perché non esiste un nome di variabile valido a cui
assegnare un valore. È necessario un nome di variabile valido.
|
build |
InvalidPayload |
Un payload specificato nel criterio non è valido. |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME è il nome specificato dall'utente del criterio che ha generato l'errore. | assignmessage.AM-SetResponse.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Esempio di regola di errore
<FaultRule name="Assign Message Faults"> <Step> <Name>AM-CustomNonMessageTypeErrorResponse</Name> <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition> </Step> <Step> <Name>AM-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(assignmessage.failed = true) </Condition> </FaultRule>
Criterio BasicAuthentication
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
Durante la decodifica, quando la stringa con codifica Base64 in arrivo non contiene un valore valido o
l'intestazione non è formattata correttamente (ad esempio, non inizia con Basic ). |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
Le variabili di origine richieste per la decodifica o la codifica non sono presenti. Questo errore può verificarsi solo se IgnoreUnresolvedVariables è falso. |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Si verifica quando | Correggi |
---|---|---|
UserNameRequired |
L'elemento <User> deve essere presente per l'operazione denominata. |
build |
PasswordRequired |
L'elemento <Password> deve essere presente per l'operazione denominata. |
build |
AssignToRequired |
L'elemento <AssignTo> deve essere presente per l'operazione denominata. |
build |
SourceRequired |
L'elemento <Source> deve essere presente per l'operazione denominata. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | BasicAuthentication.BA-Authenticate.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Esempio di regola di errore
<FaultRule name="Basic Authentication Faults"> <Step> <Name>AM-UnresolvedVariable</Name> <Condition>(fault.name Matches "UnresolvedVariable") </Condition> </Step> <Step> <Name>AM-AuthFailedResponse</Name> <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition> </Step> <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition> </FaultRule>
Criterio DecodeJWS
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.FailedToDecode |
401 |
Il criterio non è riuscito a decodificare il JWS. Il JWS potrebbe essere danneggiato. |
steps.jws.FailedToResolveVariable |
401 |
Si verifica quando la variabile di flusso specificata nell'elemento <Source> del
criterio non esiste. |
steps.jws.InvalidClaim |
401 |
Per una richiesta mancante o una mancata corrispondenza della richiesta oppure per un'intestazione mancante o una mancata corrispondenza dell'intestazione. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valido trovato nell'intestazione JWS. |
steps.jws.InvalidJws |
401 |
Questo errore si verifica quando la verifica della firma JWS non va a buon fine. |
steps.jws.InvalidPayload |
401 |
Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.MissingPayload |
401 |
Il payload JWS non è presente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Si verifica quando JWS omette l'intestazione dell'algoritmo. |
steps.jws.UnknownException |
401 |
Si è verificata un'eccezione sconosciuta. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Si verifica quando |
---|---|
InvalidAlgorithm |
Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Altri possibili errori di deployment. |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
Criterio DecodeJWT
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
Si verifica quando il criterio non è in grado di decodificare il JWT. Il JWT potrebbe avere un formato non corretto, non essere valido o non essere decodificabile. | build |
steps.jwt.FailedToResolveVariable |
401 |
Si verifica quando la variabile di flusso specificata nell'elemento <Source> del
criterio non esiste. |
|
steps.jwt.InvalidToken |
401 |
Si verifica quando la variabile di flusso specificata nell'elemento <Source> del
criterio non rientra nell'ambito o non può essere risolta. |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidEmptyElement |
Si verifica quando la variabile di flusso contenente il JWT da decodificare non è specificata nell'elemento
<Source> del criterio.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "InvalidToken" |
JWT.failed |
Tutti i criteri JWT impostano la stessa variabile in caso di errore. | JWT.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Criterio ExtractVariables
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
Questo errore si verifica quando:
|
build |
steps.extractvariables.ImmutableVariable |
500 |
Una variabile utilizzata nel criterio è immutabile. Il criterio non è riuscito a impostare questa variabile. | N/D |
steps.extractvariables.InvalidJSONPath |
500 |
Questo errore si verifica se nell'elemento JSONPath del
criterio viene utilizzato un percorso JSON non valido. Ad esempio, se un payload JSON non contiene l'oggetto Name ,
ma specifichi Name come percorso nel criterio, si verifica questo errore. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
Questo errore si verifica quando il criterio non è in grado di analizzare un percorso JSON ed estrarre i dati dalla variabile di flusso specificata nell'elemento Source . In genere questo accade se la variabile di flusso specificata nell'elemento Source non esiste nel flusso corrente. |
build |
steps.extractvariables.SetVariableFailed |
500 |
Questo errore si verifica se il criterio non è riuscito a impostare il valore su una variabile. In genere, l'errore si verifica se si tenta di assegnare valori a più variabili i cui nomi iniziano con le stesse parole in un formato nidificato separato da punti. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
Questo errore si verifica se la variabile message
specificata nell'elemento Source del criterio è:
|
build |
steps.extractvariables.UnableToCast |
500 |
Questo errore si verifica se il criterio non è stato in grado di eseguire il casting del valore estratto in una variabile. In genere, questo accade se si tenta di impostare il valore di un tipo di dati su una variabile di un altro tipo di dati. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
NothingToExtract |
Se il criterio non contiene nessuno degli elementi URIPath , QueryParam ,
Header , FormParam , XMLPayload o JSONPayload ,
il deployment del proxy API non va a buon fine perché non c'è nulla da estrarre. |
build |
NONEmptyPrefixMappedToEmptyURI |
Questo errore si verifica se il criterio ha un prefisso definito nell'elemento Namespace all'interno dell'elemento XMLPayload , ma non è definito alcun URI. |
build |
DuplicatePrefix |
Questo errore si verifica se il criterio ha lo stesso prefisso definito più di
una volta nell'elemento Namespace nell'elemento XMLPayload . |
build |
NoXPathsToEvaluate |
Se il criterio non contiene l'elemento XPath all'interno dell'elemento
XMLPayload , il deployment del proxy API non va a buon fine con questo errore.
|
build |
EmptyXPathExpression |
Se il criterio contiene un'espressione XPath vuota all'interno dell'elemento XMLPayload , il deployment del proxy API non va a buon fine. |
build |
NoJSONPathsToEvaluate |
Se il criterio non contiene l'elemento JSONPath all'interno dell'elemento
JSONPayload , il deployment del proxy API non va a buon fine con questo errore. |
build |
EmptyJSONPathExpression |
Se il criterio contiene un'espressione XPath vuota all'interno dell'elemento
XMLPayload , il deployment del proxy API non va a buon fine. |
build |
MissingName |
Se il criterio non ha l'attributo name in nessuno degli elementi del criterio come QueryParam , Header , FormParam o
Variable , dove è obbligatorio, il deployment del proxy API non va a buon fine. |
build |
PatternWithoutVariable |
Se il criterio non ha una variabile specificata all'interno dell'elemento Pattern ,
il deployment del proxy API non va a buon fine. L'elemento Pattern richiede il nome della variabile in cui verranno memorizzati i dati estratti. |
build |
CannotBeConvertedToNodeset |
Se il criterio contiene un'espressione XPath in cui il tipo Variable è definito come nodeset, ma l'espressione non può essere convertita in nodeset, il deployment del proxy API non va a buon fine. |
build |
JSONPathCompilationFailed |
Il criterio non è riuscito a compilare un percorso JSON specificato. | N/D |
InstantiationFailed |
Impossibile creare un'istanza del criterio. | N/D |
XPathCompilationFailed |
Se il prefisso o il valore utilizzato nell'elemento XPath non fa parte di uno dei
spazi dei nomi dichiarati nel criterio, il deployment del proxy API
non va a buon fine. |
build |
InvalidPattern |
Se la definizione dell'elemento Pattern non è valida in uno degli elementi come URIPath ,
QueryParam , Header , FormParam , XMLPayload
o JSONPayload all'interno del criterio, il deployment del
proxy API non va a buon fine.
|
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | extractvariables.EV-ParseJsonResponse.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Esempio di regola di errore
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Criterio GenerateJWS
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.GenerationFailed |
401 |
Il criterio non è stato in grado di generare la JWS. |
steps.jws.InsufficientKeyLength |
401 |
Per una chiave di meno di 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Per una richiesta mancante o una mancata corrispondenza della richiesta oppure per un'intestazione mancante o una mancata corrispondenza dell'intestazione. |
steps.jws.InvalidCurve |
401 |
La curva specificata dalla chiave non è valida per l'algoritmo di curva ellittica. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valido trovato nell'intestazione JWS. |
steps.jws.InvalidPayload |
401 |
Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.KeyIdMissing |
401 |
Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione. |
steps.jws.KeyParsingFailed |
401 |
Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave fornite. |
steps.jws.MissingPayload |
401 |
Il payload JWS non è presente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Si verifica quando JWS omette l'intestazione dell'algoritmo. |
steps.jws.SigningFailed |
401 |
In GenerateJWS, per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512 |
steps.jws.UnknownException |
401 |
Si è verificata un'eccezione sconosciuta. |
steps.jws.WrongKeyType |
401 |
Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave a curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Si verifica quando |
---|---|
InvalidAlgorithm |
Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Altri possibili errori di deployment. |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
Criterio GenerateJWT
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Si verifica quando il criterio di verifica ha più algoritmi. |
steps.jwt.AlgorithmMismatch |
401 |
L'algoritmo specificato nel criterio Genera non corrisponde a quello previsto nel criterio Verifica. Gli algoritmi specificati devono corrispondere. |
steps.jwt.EncryptionFailed |
401 |
La creazione di un JWT criptato non è riuscita per un motivo non specifico |
steps.jwt.FailedToDecode |
401 |
Il criterio non è riuscito a decodificare il JWT. Il JWT potrebbe essere danneggiato. |
steps.jwt.GenerationFailed |
401 |
Il criterio non è stato in grado di generare il JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Per una chiave inferiore a 32 byte per l'algoritmo HS256, inferiore a 48 byte per l'algoritmo HS386 e inferiore a 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Per una richiesta mancante o una mancata corrispondenza della richiesta oppure per un'intestazione mancante o una mancata corrispondenza dell'intestazione. |
steps.jwt.InvalidConfiguration |
401 |
Sono presenti entrambi gli elementi <Algorithm> e <Algorithms> . |
steps.jwt.InvalidCurve |
401 |
La curva specificata dalla chiave non è valida per l'algoritmo di curva ellittica. |
steps.jwt.InvalidJsonFormat |
401 |
JSON non valido trovato nell'intestazione o nel payload. |
steps.jwt.InvalidPasswordKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidPrivateKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidPublicKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidSecretKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidToken |
401 |
Questo errore si verifica quando la verifica della firma JWT non va a buon fine. |
steps.jwt.JwtAudienceMismatch |
401 |
L'affermazione sul pubblico non è riuscita durante la verifica del token. |
steps.jwt.JwtIssuerMismatch |
401 |
L'affermazione dell'emittente non è riuscita durante la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 |
L'affermazione del soggetto non è riuscita durante la verifica del token. |
steps.jwt.KeyIdMissing |
401 |
Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWT firmato non include una proprietà kid nell'intestazione. |
steps.jwt.KeyParsingFailed |
401 |
Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave fornite. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Si verifica quando il JWT non contiene un'intestazione dell'algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma kid
nel JWT firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 |
In GenerateJWT , per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512 |
steps.jwt.TokenExpired |
401 |
Il criterio tenta di verificare un token scaduto. |
steps.jwt.TokenNotYetValid |
401 |
Il token non è ancora valido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Un'intestazione trovata dal criterio Verifica JWT nell'intestazione crit non è elencata in KnownHeaders . |
steps.jwt.UnknownException |
401 |
Si è verificata un'eccezione sconosciuta. |
steps.jwt.WrongKeyType |
401 |
Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave a curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidNameForAdditionalClaim |
Il deployment non andrà a buon fine se il claim utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati:
kid , iss , sub , aud , iat ,
exp , nbf o jti .
|
build |
InvalidTypeForAdditionalClaim |
Se il claim utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
MissingNameForAdditionalClaim |
Se il nome della rivendicazione non è specificato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> , il deployment non andrà a buon fine.
|
build |
InvalidNameForAdditionalHeader |
Questo errore si verifica quando il nome della rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
InvalidValueOfArrayAttribute |
Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è impostato su true o false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se l'elemento <PrivateKey> viene utilizzato con gli algoritmi della famiglia HS o
l'elemento <PrivateKey> viene utilizzato con gli algoritmi della famiglia RSA, il
deployment non andrà a buon fine.<SecretKey>
|
build |
InvalidValueForElement |
Se il valore specificato nell'elemento <Algorithm> non è supportato, il deployment non andrà a buon fine.
|
build |
MissingConfigurationElement |
Questo errore si verifica se l'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA o se l'elemento <SecretKey> non viene utilizzato con gli algoritmi della famiglia HS.
|
build |
InvalidKeyConfiguration |
Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey> , il deployment non andrà a buon fine.
|
build |
EmptyElementForKeyConfiguration |
Se l'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey>
o <SecretKey> è vuoto o non specificato, il deployment non andrà a buon fine.
|
build |
InvalidVariableNameForSecret |
Questo errore si verifica se il nome della variabile di flusso specificato nell'attributo ref dell'elemento figlio <Value> degli elementi <PrivateKey> o <SecretKey> non contiene il prefisso privato (private.) .
|
build |
InvalidSecretInConfig |
Questo errore si verifica se l'elemento figlio <Value> degli elementi <PrivateKey>
o <SecretKey> non contiene il prefisso privato (private.) .
|
build |
InvalidTimeFormat |
Se il valore specificato nell'elemento <NotBefore> non utilizza un formato supportato, il deployment non andrà a buon fine.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "InvalidToken" |
JWT.failed |
Tutti i criteri JWT impostano la stessa variabile in caso di errore. | JWT.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Criterio JavaCallout
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
Si verifica quando il codice Java genera un'eccezione o restituisce null durante l'esecuzione di un JavaCallout policy . |
build |
Errori di deployment
Questi errori possono verificarsi durante il deployment del proxy contenente il criterio.
Nome dell'errore | Stringa di errore | Stato HTTP | Si verifica quando |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/D | Il file specificato nell'elemento <ResourceURL> non esiste. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/D | Il file della classe specificato nell'elemento <ClassName> non è nel
jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/D | Vedi la stringa di errore. Le versioni Java supportate includono: Oracle JDK 7/8 e OpenJDK 7/8 |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/D | Vedi la stringa di errore. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/D | Vedi la stringa di errore. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/D | Vedi la stringa di errore. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/D | Vedi la stringa di errore. |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | javacallout.JC-GetUserData.failed = true |
Esempio di risposta di errore
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Esempio di regola di errore
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Norme JavaScript
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
Le norme relative a JavaScript possono generare molti tipi diversi di errori ScriptExecutionFailed . I tipi di errori più comuni includono
RangeError,
ReferenceError,
SyntaxError,
TypeError e
URIError. |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
Si è verificato un errore nel codice JavaScript . Per i dettagli, consulta la stringa di errore. |
N/D |
steps.javascript.ScriptSecurityError |
500 |
Si è verificato un errore di sicurezza durante l'esecuzione di JavaScript . Per i dettagli, consulta la stringa di errore. |
N/D |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidResourceUrlFormat |
Se il formato dell'URL della risorsa specificato all'interno dell'elemento <ResourceURL> o <IncludeURL> del criterio JavaScript non è valido, il deployment del proxy API non va a buon fine. |
build |
InvalidResourceUrlReference |
Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file JavaScript non esistente, il deployment del proxy API non va a buon fine.
Il file di origine a cui si fa riferimento deve esistere a livello di proxy API, ambiente o organizzazione. |
build |
WrongResourceType |
Questo errore si verifica durante il deployment se gli elementi <ResourceURL> o <IncludeURL>
del criterio JavaScript fanno riferimento a un tipo di risorsa diverso da jsc (file JavaScript ). |
build |
NoResourceURLOrSource |
Il deployment del criterio JavaScript può non riuscire con questo errore se l'elemento <ResourceURL>
non è dichiarato o se l'URL della risorsa non è definito all'interno di questo elemento.
L'elemento <ResourceURL> è obbligatorio. In alternativa, l'elemento <IncludeURL> è dichiarato, ma l'URL della risorsa non è definito all'interno di questo elemento. L'elemento <IncludeURL> è facoltativo, ma se viene dichiarato, l'URL della risorsa deve essere specificato all'interno dell'elemento <IncludeURL> . |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | javascript.JavaScript-1.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Esempio di regola di errore
<FaultRule name="JavaScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(javascript.JavaScript-1.failed = true) </Condition> </FaultRule>
Norme di JSONThreatProtection
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione dei guasti.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
Le norme relative a JSONThreatProtection possono generare molti tipi diversi di errori ExecutionFailed .
La maggior parte di questi errori si verifica quando viene superata una soglia specifica impostata nel criterio. Questi
tipi di errori includono:
lunghezza del nome della voce dell'oggetto,
numero di voci dell'oggetto,
numero di elementi dell'array,
profondità del contenitore,
lunghezza del valore della stringa.
Questo errore si verifica anche quando il payload contiene un
oggetto JSON non valido.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Questo errore si verifica se la variabile message
specificata nell'elemento <Source> è:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Questo errore si verifica se l'elemento <Source> è impostato su una variabile che
non è di tipo
message.
|
build |
Errori di deployment
Nessuno.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | jsonattack.JTP-SecureRequest.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Esempio di regola di errore
<FaultRule name="JSONThreatProtection Policy Faults">
<Step>
<Name>AM-CustomErrorResponse</Name>
<Condition>(fault.name Matches "ExecutionFailed") </Condition>
</Step>
<Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>
I tipi di criteri JSONThreatProtection definiscono i seguenti codici di errore:
Norme di JSONtoXML
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
Il payload di input (JSON) è vuoto o l'input (JSON) passato al criterio JSON to XML è invalido o non valido. | build |
steps.jsontoxml.InCompatibleTypes |
500 |
Questo errore si verifica se il tipo di variabile definito nell'elemento <Source> e
nell'elemento <OutputVariable> non è lo stesso. È obbligatorio che il tipo di
variabili contenute nell'elemento <Source> e nell'elemento <OutputVariable>
corrisponda. I tipi validi sono message e string . |
build |
steps.jsontoxml.InvalidSourceType |
500 |
Questo errore si verifica se il tipo di variabile utilizzata per definire l'elemento <Source>
non è valido. I tipi di variabili validi sono message e string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio JSON to
XML è di tipo stringa e l'elemento <OutputVariable> non è definito.
L'elemento <OutputVariable> è obbligatorio quando la variabile definita nell'elemento <Source> è di tipo stringa. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Questo errore si verifica se la variabile message
specificata nell'elemento <Source> del criterio JSON to XML è:
|
build |
Errori di deployment
Nessuno.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | jsontoxml.JSON-to-XML-1.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Esempio di regola di errore
<FaultRule name="JSON To XML Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadJSON</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition> </FaultRule>
Norme relative a KeyValueMapOperations
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Cosa devi sapere sugli errori relativi alle norme e Gestione dei guasti.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Questo errore si verifica se l'attributo |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidIndex |
Se l'attributo index specificato nell'elemento <Get> del criterio KeyValueMapOperations è uguale a zero o a un numero negativo, il deployment del proxy API non va a buon fine. L'indice inizia da
1 , pertanto un indice pari a zero o a un numero intero negativo è considerato non valido.
|
build |
KeyIsMissing |
Questo errore si verifica se l'elemento <Key> non è presente o se l'elemento <Parameter> è
mancante all'interno dell'elemento <Key> sotto <Entry> dell'elemento <InitialEntries>
del criterio KeyValueMapOperations .
|
build |
ValueIsMissing |
Questo errore si verifica se l'elemento <Value> non è presente sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio KeyValueMapOperations . |
build |
Norme di MessageLogging
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
Vedi la stringa di errore. |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
Questo errore viene generato quando LogName non restituisce il formato valido projects/{project}/logs/{logid}. |
steps.messagelogging.InvalidJsonMessage |
500 |
Questo errore viene generato quando il valore dell'attributo contentType è stato scelto come application/json , ma il valore effettivo del messaggio non è una stringa JSON valida. |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
Questo errore viene generato quando sono presenti più di 2500 richieste in attesa che devono essere ancora scritte in Cloud Logging. Il limite di 2500 si applica a ogni pod di runtime Apigee. Ad esempio, se il traffico è distribuito su due istanze di pod di runtime Apigee, il limite effettivo è di 5000 richieste. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidProtocol |
Il deployment del criterio MessageLogging può non riuscire con questo errore se il protocollo
specificato all'interno dell'elemento <Protocol> non è valido. I protocolli validi sono TCP e UDP.
Per l'invio di messaggi syslog tramite TLS/SSL, è supportato solo TCP. |
build |
InvalidPort |
Il deployment del criterio MessageLogging può non riuscire con questo errore se il numero di porta
non è specificato all'interno dell'elemento <Port> o se non è valido. Il numero di porta deve essere
un numero intero maggiore di zero. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | messagelogging.ML-LogMessages.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Esempio di regola di errore
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Criterio OASValidation
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.oasvalidation.Failed |
400 |
Il corpo del messaggio di richiesta non può essere convalidato in base alla specifica OpenAPI fornita. |
steps.oasvalidation.Failed |
500 |
Il corpo del messaggio di risposta non può essere convalidato in base alla specifica OpenAPI fornita. |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
La variabile specificata nell'elemento |
steps.oasvalidation.NonMessageVariable |
500 |
L'elemento |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | |
---|---|---|
ResourceDoesNotExist |
La specifica OpenAPI a cui viene fatto riferimento nell'elemento <OASResource> non esiste.
|
|
ResourceCompileFailed |
La specifica OpenAPI inclusa nel deployment contiene errori che ne impediscono la compilazione. In genere, ciò indica che la specifica non è una specifica OpenAPI 3.0 ben formattata. | |
BadResourceURL |
La specifica OpenAPI a cui viene fatto riferimento nell'elemento <OASResource> non può essere elaborata. Questo può accadere se il file non è un file JSON o YAML o se l'URL del file non è specificato correttamente.
|
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabile | Descrizione | Esempio |
---|---|---|
fault.category |
La categoria dell'errore. Quando il criterio rifiuta una richiesta, il valore sarà sempre Step . |
fault.category = "Step" |
fault.name |
Il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
Il motivo dell'errore. Si tratta di una stringa leggibile che spiega il motivo dell'errore. | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
La sottocategoria dell'errore. Quando il criterio rifiuta una richiesta, il valore sarà sempre OASValidationFailure . |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | OASValidation.myoaspolicy.failed = true |
Norme di PopulateCache
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
Una voce non può essere memorizzata nella cache. L'oggetto messaggio memorizzato nella cache non è un'istanza di una classe serializzabile. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidCacheResourceReference |
Questo errore si verifica se l'elemento <CacheResource> nel criterio PopulateCache è impostato su
un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API. |
build |
CacheNotFound |
La cache specificata nell'elemento <CacheResource> non esiste. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | populatecache.POP-CACHE-1.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Esempio di regola di errore
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>
Criterio LookupCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Prefisso del codice di errore
N/D
Errori di runtime
Questo criterio non genera errori di runtime.
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidCacheResourceReference |
Questo errore si verifica se l'elemento <CacheResource> è impostato su un
nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API. |
build |
InvalidTimeout |
Se l'elemento <CacheLookupTimeoutInSeconds> è impostato su
un numero negativo, il deployment del proxy API non va a buon fine. |
build |
CacheNotFound |
Questo errore si verifica se la cache specifica indicata nel messaggio di errore non è stata creata su un componente di processore di messaggi specifico. | build |
Variabili di errore
N/D
Esempio di risposta di errore
N/D
Criterio InvalidateCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Prefisso del codice di errore
N/D
Errori di runtime
Questo criterio non genera errori di runtime.
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidCacheResourceReference |
Questo errore si verifica se l'elemento <CacheResource> nel criterio InvalidateCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API. |
build |
CacheNotFound |
Questo errore si verifica se la cache specifica indicata nel messaggio di errore non è stata creata su un componente di processore di messaggi specifico. | build |
Variabili di errore
N/D
Esempio di risposta di errore
N/D
Criterio ResponseCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Prefisso del codice di errore
N/D
Errori di runtime
Questo criterio non genera errori di runtime.
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidTimeout |
Se l'elemento <CacheLookupTimeoutInSeconds> del criterio ResponseCache è impostato su un numero negativo, il deployment del proxy API non va a buon fine. |
build |
InvalidCacheResourceReference |
Questo errore si verifica se l'elemento <CacheResource> in un criterio ResponseCache è impostato su un
nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Questo errore si verifica se lo stesso criterio ResponseCache è associato a più percorsi di richiesta all'interno di qualsiasi flusso di un proxy API. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
Questo errore si verifica se lo stesso criterio ResponseCache è associato a più percorsi di risposta
all'interno di qualsiasi flusso di un proxy API. |
build |
InvalidMessagePatternForErrorCode |
Questo errore si verifica se l'elemento <SkipCacheLookup> o <SkipCachePopulation>
in un criterio ResponseCache contiene una condizione non valida. |
build |
CacheNotFound |
Questo errore si verifica se la cache specifica indicata nel messaggio di errore non è stata creata su un componente di processore di messaggi specifico. | build |
Variabili di errore
N/D
Esempio di risposta di errore
N/D
Criterio OAuthV2
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Lanciato dalle operazioni |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
Il token di accesso è scaduto. |
|
steps.oauth.v2.access_token_not_approved |
401 |
Il token di accesso è stato revocato. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
La risorsa richiesta non esiste in nessuno dei prodotti API associati al token di accesso. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
Il criterio si aspettava di trovare un token di accesso in una variabile specificata nell'elemento
<AccessToken> , ma non è stato possibile risolvere la variabile. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
Il criterio si aspettava di trovare un codice di autorizzazione in una variabile specificata nell'elemento
<Code> , ma non è stato possibile risolvere la variabile. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
Il criterio si aspettava di trovare l'ID cliente in una variabile specificata nell'elemento
<ClientId> , ma non è stato possibile risolvere la variabile. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
Il criterio si aspettava di trovare un token di aggiornamento in una variabile specificata nell'elemento
<RefreshToken> , ma non è stato possibile risolvere la variabile. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
Il criterio si aspettava di trovare un token in una variabile specificata nell'elemento
<Tokens> , ma non è stato possibile risolvere la variabile. |
|
steps.oauth.v2.InsufficientScope |
403 | Il token di accesso presentato nella richiesta ha un ambito che non corrisponde all'ambito specificato nel criterio di verifica del token di accesso. Per saperne di più sugli ambiti, consulta Utilizzo degli ambiti OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 |
Il token di accesso inviato dal client non è valido. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Questo nome dell'errore viene restituito quando la proprietà |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Questo nome di errore viene utilizzato per più tipi di errori, in genere per parametri mancanti o errati inviati nella richiesta. Se <GenerateResponse> è impostato su false , utilizza le variabili di guasto (descritte di seguito) per recuperare i dettagli sull'errore, ad esempio il nome e la causa del guasto. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
L'intestazione di autorizzazione non contiene la parola Bearer , che è obbligatoria. Ad esempio: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Il proxy o l'operazione dell'API attualmente in esecuzione non è nel prodotto associato al token di accesso. Suggerimenti:assicurati che il prodotto associato al token di accesso sia configurato correttamente. Ad esempio, se utilizzi caratteri jolly nei percorsi delle risorse, assicurati che vengano utilizzati correttamente. Per maggiori dettagli, consulta Gestione dei prodotti API. Consulta anche La verifica del token di accesso OAuth2.0 genera l'errore "Richiesta API non valida perché non è stata trovata alcuna corrispondenza per apiproduct" per ulteriori indicazioni sulle cause di questo errore. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Questo nome dell'errore viene restituito quando la proprietà |
|
steps.oauth.v2.InvalidParameter |
500 |
Il criterio deve specificare un token di accesso o un codice di autorizzazione, ma non entrambi. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
L'elemento <Tokens>/<Token> richiede di specificare il tipo di token (ad esempio refreshtoken ). Se il client passa il tipo errato, viene generato questo errore. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
Il tipo di risposta è token , ma non sono specificati tipi di concessione. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Il client ha specificato un tipo di concessione non supportato dalle norme (non elencato nell'elemento
|
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Errori di runtime specifici del token JWT
I codici e le descrizioni degli errori di runtime per i flussi di token di autenticazione JWT dipendono dal contesto del flusso OAuth2:
- Se il contesto del flusso è la generazione o l'aggiornamento del token, consulta Codici di errore per i flussi di generazione e aggiornamento dei token JWT di seguito.
- Per il flusso di verifica del token, consulta la sezione Codici di errore per i flussi di verifica del token di seguito.
Codici di errore per i flussi di generazione e aggiornamento dei token JWT
Per i flussi OAuth2 che generano o aggiornano i token JWT, le risposte di errore devono rispettare quelle specificate in RFC6749. Per maggiori dettagli, consulta la sezione 5.2 Risposta di errore.
Codici di errore per il flusso di verifica del token
I codici di errore elencati nella tabella seguente si applicano solo all'operazione VerifyAccessToken.
Codice guasto | Stato HTTP | Causa | Lanciato dalle operazioni |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
Il criterio non è riuscito a firmare il JWT. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
Questo accade quando l'algoritmo non è presente nel token di accesso JWT o quando il valore non è supportato. |
|
oauth.v2.InsufficientKeyLength |
401 |
Nella generazione di JWT, per una chiave inferiore alle dimensioni minime per gli algoritmi HS384 o HS512 |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
L'algoritmo specificato nel criterio Genera non corrisponde a quello previsto nel criterio Verifica. Gli algoritmi specificati devono corrispondere. |
|
oauth.v2.JWTDecodingFailed |
401 |
Il criterio non è riuscito a decodificare il JWT. Il JWT potrebbe essere danneggiato. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Si verifica quando i claim richiesti non sono presenti nel token di accesso JWT |
|
oauth.v2.InvalidJWTSignature |
401 |
Ciò si verifica quando non è stato possibile verificare la firma del token di accesso JWT o quando la firma non è valida. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
Si verifica quando il tipo di JWT non è at+Jwt |
|
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa |
---|---|
InvalidValueForExpiresIn |
Per l'elemento |
InvalidValueForRefreshTokenExpiresIn |
Per l'elemento <RefreshTokenExpiresIn> , i valori validi sono numeri interi positivi e -1 . |
InvalidGrantType |
Nell'elemento <SupportedGrantTypes>
è specificato un tipo di concessione non valido. Consulta il riferimento alle norme per un elenco dei tipi validi. |
ExpiresInNotApplicableForOperation |
Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza. Ad esempio, l'operazione VerifyToken non lo fa. |
RefreshTokenExpiresInNotApplicableForOperation |
Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza del
token di aggiornamento. Ad esempio, l'operazione VerifyToken non lo fa. |
GrantTypesNotApplicableForOperation |
Assicurati che i tipi di concessione specificati in <SupportedGrantTypes> siano supportati per
l'operazione specificata. |
OperationRequired |
Devi specificare un'operazione in questo criterio utilizzando l'elemento |
InvalidOperation |
Devi specificare un'operazione valida in questo criterio utilizzando l'elemento
|
TokenValueRequired |
Devi specificare un valore del token <Token> nell'elemento
<Tokens> . |
Errori di deployment specifici per i token JWT
Questi errori di deployment sono specifici dei criteri che utilizzano le operazioni sui token JWT.
Nome dell'errore | Causa |
---|---|
InvalidValueForAlgorithm |
L'algoritmo specificato nell'elemento <Algorithm> non è
presente nell'elenco degli algoritmi disponibili o non è presente. |
MissingKeyConfiguration |
Gli elementi <SecretKey> , <PrivateKey> o
<PublicKey> obbligatori mancano, a seconda dell'algoritmo utilizzato. |
EmptyValueElementForKeyConfiguration |
L'elemento secondario obbligatorio <Value> non è definito negli elementi
<PrivateKey> , <PublicKey> o <SecretKey> |
InvalidKeyConfiguration |
L'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA o l'elemento <SecretKey>
non viene utilizzato con gli algoritmi della famiglia HS. |
EmptyRefAttributeForKeyconfiguration |
L'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey> , <PublicKey> o <SecretKey> è vuoto. |
InvalidVariableNameForKey |
Il nome della variabile di flusso specificato nell'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey> , <PublicKey> o <SecretKey> non contiene il prefisso private . |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
|
oauthV2.policy_name.fault.cause |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Esempio di risposta di errore
Queste risposte vengono inviate al client se l'elemento <GenerateResponse>
è true.
Se <GenerateResponse>
è true, il criterio restituisce errori in questo formato per le operazioni che generano token e codici. Per un elenco completo, consulta
Riferimento alle risposte di errore HTTP OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Se <GenerateResponse>
è true, il criterio restituisce errori in questo formato per le operazioni di verifica e convalida. Per un elenco completo, consulta la documentazione di riferimento per le risposte di errore HTTP OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Esempio di regola di errore
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientResponse</Name> <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition> </Step> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Norme di GetOAuthV2Info
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio. I nomi degli errori riportati di seguito sono le stringhe assegnate alla variabile fault.name
quando si verifica un errore. Per ulteriori dettagli, consulta la sezione sulle variabili di errore di seguito.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
Il token di accesso inviato al criterio è scaduto. |
steps.oauth.v2.authorization_code_expired |
500 |
Il codice di autorizzazione inviato al criterio è scaduto. |
steps.oauth.v2.invalid_access_token |
500 |
Il token di accesso inviato alla policy non è valido. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
L'ID client inviato al criterio non è valido. |
steps.oauth.v2.invalid_refresh_token |
500 |
Il token di aggiornamento inviato al criterio non è valido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
Il codice di autorizzazione inviato al criterio non è valido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Per informazioni sulla risoluzione di questo errore, consulta La verifica del token di accesso OAuth 2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza per apiproduct". |
steps.oauth.v2.refresh_token_expired |
500 |
Il token di aggiornamento inviato al criterio è scaduto. |
Errori di deployment
Per informazioni sugli errori di deployment, fai riferimento al messaggio riportato nell'interfaccia utente.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Esempio di risposta di errore
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Esempio di regola di errore
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Criterio SetOAuthV2Info
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
Il token di accesso inviato al criterio è scaduto. |
steps.oauth.v2.invalid_access_token |
500 |
Il token di accesso inviato alla policy non è valido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Consulta La verifica del token di accesso OAuth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza per apiproduct" per informazioni sulla risoluzione di questo errore. |
Errori di deployment
Per informazioni sugli errori di deployment, fai riferimento al messaggio riportato nell'interfaccia utente.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Esempio di risposta di errore
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Esempio di regola di errore
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Norme DeleteOAuthV2Info
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
Il token di accesso inviato alla policy non è valido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
Il codice di autorizzazione inviato al criterio non è valido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Consulta La verifica del token di accesso OAuth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza per apiproduct" per informazioni sulla risoluzione di questo errore. |
Errori di deployment
Per informazioni sugli errori di deployment, fai riferimento al messaggio riportato nell'interfaccia utente.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Esempio di risposta di errore
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Esempio di regola di errore
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Norme relative a PythonScript
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
Il criterio PythonScript può generare diversi tipi di errori ScriptExecutionFailed. I tipi di errori più comuni includono NameError e ZeroDivisionError. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidResourceUrlFormat |
Se il formato dell'URL della risorsa specificato all'interno dell'elemento <ResourceURL> o <IncludeURL> del criterio PythonScript non è valido, il deployment del proxy API non va a buon fine. |
build |
InvalidResourceUrlReference |
Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file PythonScript non esistente, il deployment del proxy API non va a buon fine.
Il file di origine a cui si fa riferimento deve esistere a livello di proxy API, ambiente o organizzazione. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | pythonscript.PythonScript-1.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Esempio di regola di errore
<FaultRule name="PythonScript Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition> </Step> <Condition>(pythonscript.PythonScript-1.failed = true) </Condition> </FaultRule>
Criteri per le quote
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
Si verifica se l'elemento <Interval> non è definito nel criterio Quota . Questo elemento
è obbligatorio e viene utilizzato per specificare l'intervallo di tempo applicabile alla quota. L'intervallo di tempo
può essere in minuti, ore, giorni, settimane o mesi, come definito con l'elemento <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
Si verifica se l'elemento <TimeUnit> non è definito nel criterio Quota . Questo elemento è obbligatorio e viene utilizzato per specificare l'unità di tempo applicabile alla quota. L'intervallo di tempo può essere in minuti, ore, giorni, settimane o mesi. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Si verifica se il valore dell'elemento <MessageWeight> specificato tramite una variabile di flusso
non è valido (un valore non intero). |
build |
policies.ratelimit.QuotaViolation |
500 |
È stato superato il limite di quota. | N/D |
Errori di deployment
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidQuotaInterval |
Se l'intervallo di quota specificato nell'elemento <Interval> non è un numero intero, il deployment del proxy API non va a buon fine. Ad esempio, se l'intervallo di quota
specificato è 0,1 nell'elemento <Interval> , il deployment del
proxy API non va a buon fine.
|
build |
InvalidQuotaTimeUnit |
Se l'unità di tempo specificata nell'elemento <TimeUnit> non è supportata,
il deployment del proxy API non va a buon fine. Le unità di tempo supportate sono minute ,
hour , day , week e month .
|
build |
InvalidQuotaType |
Se il tipo di quota specificato dall'attributo type nell'elemento <Quota>
non è valido, il deployment del proxy API non va a buon fine. I
tipi di quote supportati sono default , calendar , flexi e rollingwindow .
|
build |
InvalidStartTime |
Se il formato dell'ora specificato nell'elemento <StartTime> non è valido, il deployment del proxy API non va a buon fine. Il formato valido è yyyy-MM-dd HH:mm:ss ,
ovvero il formato data e ora ISO 8601. Ad esempio, se l'ora specificata nell'elemento <StartTime> è 7-16-2017 12:00:00 , il deployment del proxy API non va a buon fine.
|
build |
StartTimeNotSupported |
Se viene specificato l'elemento <StartTime> di cui il tipo di quota non è di tipo
calendar , il deployment del proxy API non va a buon fine. L'elemento <StartTime> è supportato solo per il tipo di quota calendar . Ad esempio, se l'attributo type è impostato su flexi o rolling window nell'elemento <Quota> , il deployment del proxy API non va a buon fine.
|
build |
InvalidTimeUnitForDistributedQuota |
Se l'elemento <Distributed> è impostato su true e l'elemento <TimeUnit> è impostato su
second , il deployment del proxy API non va a buon fine. L'unità di tempo second non è valida per
una quota distribuita. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Se il valore specificato per l'elemento <SyncIntervalInSeconds> all'interno dell'elemento <AsynchronousConfiguration> in un criterio Quota è inferiore a zero, il deployment del proxy API non va a buon fine. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Se il valore dell'elemento <AsynchronousConfiguration> è impostato su true in un criterio Quota , che ha anche una configurazione asincrona definita utilizzando l'elemento <AsynchronousConfiguration> , il deployment del proxy API non va a buon fine. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | ratelimit.QT-QuotaPolicy.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Esempio di regola di errore
<FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "QuotaViolation") </Condition> </Step> <Condition>ratelimit.Quota-1.failed=true</Condition> </FaultRule> </FaultRules>
Criterio ResetQuota
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
Il criterio Quota specificato nell'elemento <Quota> del criterio ResetQuota
non è definito nel proxy API e quindi non è disponibile durante il flusso. L'elemento <Quota>
è obbligatorio e identifica il criterio Quota di destinazione il cui contatore deve essere aggiornato
tramite il criterio ResetQuota . |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/D | Il riferimento alla variabile contenente il conteggio delle autorizzazioni nell'elemento <Allow>
del criterio non può essere risolto in un valore. Questo elemento è obbligatorio e specifica l'importo
per diminuire il contatore della quota. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
La variabile a cui fa riferimento l'attributo ref nell'elemento <Quota>
non può essere risolta. |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidCount |
Se il valore di conteggio specificato nell'elemento <Allow> del criterio ResetQuota non è un numero intero,
il deployment del proxy API non va a buon fine.
|
build |
RaiseFaultpolicy
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.raisefault.RaiseFault |
500 |
Vedi la stringa di errore. |
Errori di deployment
Nessuno.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Che cosa devi sapere sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | raisefault.RF-ThrowError.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Criterio RegularExpressionProtection
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Se vuoi acquisire un errore e generare un errore personalizzato, imposta l'attributo continueOnError="true"
nell'elemento principale del criterio.
Per scoprire di più, consulta
Che cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Messaggio |
---|---|
ExecutionFailed |
Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1} |
InstantiationFailed |
Failed to instantiate the RegularExpressionProtection StepDefinition {0} |
NonMessageVariable |
Variable {0} does not resolve to a Message |
SourceMessageNotAvailable |
{0} message is not available for RegularExpressionProtection StepDefinition {1} |
ThreatDetected |
Regular Expression Threat Detected in {0}: regex: {1} input: {2} |
VariableResolutionFailed |
Failed to resolve variable {0} |
Errori di deployment
Codice di errore | Messaggio | Correggi |
---|---|---|
CannotBeConvertedToNodeset |
RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset.
Context {2} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella sopra. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Criterio SAMLAssertion
Questa sezione descrive i codici di errore e i messaggi di errore restituiti nonché le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
SourceNotConfigured |
Uno o più dei seguenti elementi del criterio ValidateSAMLAssertion
non sono definiti o sono vuoti: <Source> , <XPath> ,
<Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Se l'elemento <TrustStore> è vuoto o non è specificato nel
criterio ValidateSAMLAssertion , il deployment del proxy API non va a buon fine.
È necessario un truststore valido.
|
build |
NullKeyStoreAlias |
Se l'elemento figlio <Alias> è vuoto o non specificato nell'elemento <Keystore>
del criterio GenerateSAMLAssertion , il deployment del proxy
dell'API non va a buon fine. È necessario un alias del keystore valido.
|
build |
NullKeyStore |
Se l'elemento figlio <Name> è vuoto o non specificato nell'elemento <Keystore>
del criterio GenerateSAMLAssertion , il deployment del proxy
dell'API non va a buon fine. È necessario un nome del keystore valido.
|
build |
NullIssuer |
Se l'elemento <Issuer> è vuoto o non è specificato nel
criterio GenerateSAMLAssertion , il deployment del proxy API non va a buon fine. È obbligatorio un valore <Issuer> valido.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Per una configurazione dei criteri di asserzione SAML convalidata, il prefisso dell'errore è
ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Esempio di regola di errore
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Norme relative a ServiceCallout
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Questo errore può verificarsi quando:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
La variabile Request specificata nel criterio non è di tipo Message . Ad esempio, se
si tratta di una stringa o di un altro tipo non di messaggio, viene visualizzato questo errore. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
La variabile Request specificata nel criterio non è di tipo RequestMessage . Ad esempio, se si tratta di un tipo Response, viene visualizzato questo errore. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Questo errore può verificarsi se il proxy API è configurato con l'elemento <Authentication>. Tra le possibili cause rientrano:
<GoogleAccessToken> e vengono forniti uno o più ambiti non validi. Ad esempio, cerca errori ortografici o ambiti vuoti.
Solo per Apigee Hybrid, controlla il log del contenitore di runtime e cerca
|
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
URLMissing |
L'elemento <URL> all'interno di <HTTPTargetConnection>
è mancante o vuoto. |
build |
ConnectionInfoMissing |
Questo errore si verifica se il criterio non contiene un elemento <HTTPTargetConnection> o <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Questo errore si verifica se il valore <Timeout> è negativo o pari a zero. |
build |
FAILED_PRECONDITION |
Questo errore si verifica se l'account di servizio non è presente quando il proxy è configurato con il tag <Authentication>.
Ad esempio: Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
Questo errore si verifica se si verifica un problema di autorizzazione con l'account di servizio se il proxy è configurato con il tag <Authentication>. Possibili cause:
|
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | servicecallout.SC-GetUserData.failed = true |
Esempio di risposta di errore
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Esempio di regola di errore
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Norme di SOAPMessageValidation
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Questo errore si verifica se una variabile specificata nell'elemento
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Questo errore si verifica se l'elemento Le variabili di tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Apigee integrate |
build |
steps.messagevalidation.Failed |
500 | Questo errore si verifica se il criterio SOAPMessageValidation non riesce a convalidare il payload del messaggio di input in base allo schema XSD o alla definizione WSDL. Si verifica anche se nel messaggio del payload è presente JSON o XML con formato errato. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidResourceType |
L'elemento <ResourceURL> nel criterio SOAPMessageValidation è impostato su un tipo di risorsa
non supportato dal criterio.
|
build |
ResourceCompileFailed |
Lo script della risorsa a cui si fa riferimento nell'elemento <ResourceURL> del criterio SOAPMessageValidation contiene un errore che ne impedisce la compilazione.
|
build |
RootElementNameUnspecified |
L'elemento <Element> nel criterio SOAPMessageValidation non contiene il nome
dell'elemento principale. |
build |
InvalidRootElementName |
L'elemento <Element> nel criterio SOAPMessageValidation contiene un nome dell'elemento principale
che non rispetta le regole XML per la denominazione degli elementi validi. |
build |
Criterio SpikeArrest
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Questo errore si verifica se il riferimento alla variabile contenente l'impostazione della tariffa
all'interno dell'elemento <Rate> non può essere risolto in un valore all'interno del criterio SpikeArrest . Questo elemento è obbligatorio e viene utilizzato per specificare il tasso di arresto degli picchi sotto forma di intpm o intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Questo errore si verifica se il valore specificato per l'elemento <MessageWeight> tramite una variabile di flusso non è valido (un valore non intero). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Il limite di frequenza è stato superato. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidAllowedRate |
Se la frequenza di arresto degli picchi specificata nell'elemento <Rate> del criterio SpikeArrest
non è un numero intero o se la frequenza non ha ps o pm come suffisso,
il deployment del proxy API non va a buon fine. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Esempio di risposta di errore
Di seguito è riportato un esempio di risposta di errore:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Esempio di regola di errore
Di seguito è riportato un esempio di regola di errore per gestire un errore SpikeArrestViolation
:
<FaultRules> <FaultRule name="Spike Arrest Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "SpikeArrestViolation") </Condition> </Step> <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition> </FaultRule> </FaultRules>
Criterio VerifyAPIKey
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
Nella credenziale dell'applicazione manca un'associazione del prodotto API. Associa l'applicazione della chiave a un prodotto API. Tieni presente che questo vale per tutti i tipi di applicazioni, come le app per sviluppatori e le app di AppGroup. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Lo sviluppatore che ha creato l'app per sviluppatori con la chiave API che stai utilizzando ha uno stato inattivo. Quando lo stato di uno sviluppatore di app è impostato su inattivo, tutte le app sviluppatore create dallo sviluppatore vengono disattivate. Un utente amministratore con le autorizzazioni appropriate (ad esempio Amministratore dell'organizzazione) può modificare lo stato di uno sviluppatore nei modi seguenti:
|
keymanagement.service.invalid_client-app_not_approved |
401 |
L'app per sviluppatori associata alla chiave API è revocata. Un'app revocata non può accedere a nessun prodotto API e non può invocare alcuna API gestita da Apigee. Un amministratore dell'organizzazione può modificare lo stato di un'app per sviluppatori utilizzando l'API Apigee. Consulta Generare una coppia di chiavi o aggiornare lo stato dell'app sviluppatore. |
oauth.v2.FailedToResolveAPIKey |
401 |
Il criterio si aspetta di trovare la chiave API in una variabile specificata nell'elemento <APIKey> del criterio. Questo errore si verifica quando la variabile prevista non esiste (non può essere risolta). |
oauth.v2.InvalidApiKey |
401 |
Apigee ha ricevuto una chiave API, ma non è valida. Quando Apigee cerca la chiave nel suo database, deve corrispondere esattamente a quella inviata nella richiesta. Se l'API funzionava in precedenza, assicurati che la chiave non sia stata rigenerata. Se la chiave è stata rigenerata, vedrai questo errore se provi a utilizzare la vecchia chiave. Per maggiori dettagli, consulta Controllo dell'accesso alle API mediante la registrazione delle app. |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
Apigee ha ricevuto una chiave API valida, ma non corrisponde a una chiave approvata nell'app per sviluppatori associata al tuo proxy API tramite un prodotto. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa |
---|---|
SpecifyValueOrRefApiKey |
Per l'elemento <APIKey> non è stato specificato un valore o una chiave. |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oauthV2.VK-VerifyAPIKey.failed = true |
Risposte di errore di esempio
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Esempio di regola di errore
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Verifica il criterio IAM
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per saperne di più, consulta Informazioni importanti sugli errori delle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Impossibile risolvere la variabile di flusso fornita all'interno dell'origine delle credenziali. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Autenticazione non trovata. Se non viene fornito il riferimento all'origine delle credenziali, viene esaminato il luogo predefinito, ad esempio l'intestazione di autorizzazione. |
steps.verifyiam.Forbidden |
403 |
Impossibile inoltrare la richiesta a causa di autorizzazioni insufficienti, ambiti di accesso mancanti o altri problemi correlati. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Un problema con la richiesta di autenticazione a IAM. Il produttore dell'API deve correggere questo errore in base ai dettagli nella risposta all'errore. |
steps.verifyiam.Unauthorized |
401 |
Problema con le credenziali, ad esempio il valore non valido o scaduto. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Errore interno. |
Errori di deployment
Questo criterio non restituisce errori di deployment specifici dei criteri.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | verifyiam.Verify-IAMToken.failed = true |
Criterio VerifyJWS
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
Si verifica quando il criterio di verifica ha più algoritmi |
steps.jws.AlgorithmMismatch |
401 |
L'algoritmo specificato nell'intestazione dal criterio Generate non corrisponde a quello previsto nel criterio
Verify . Gli algoritmi specificati devono corrispondere. |
steps.jws.ContentIsNotDetached |
401 |
<DetachedContent> viene specificato quando il JWS non contiene un payload dei contenuti scollegato. |
steps.jws.FailedToDecode |
401 |
Il criterio non è riuscito a decodificare il JWS. Il JWS potrebbe essere danneggiato. |
steps.jws.InsufficientKeyLength |
401 |
Per una chiave di meno di 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Per una richiesta mancante o una mancata corrispondenza della richiesta oppure per un'intestazione mancante o una mancata corrispondenza dell'intestazione. |
steps.jws.InvalidCurve |
401 |
La curva specificata dalla chiave non è valida per l'algoritmo di curva ellittica. |
steps.jws.InvalidJsonFormat |
401 |
JSON non valido trovato nell'intestazione JWS. |
steps.jws.InvalidJws |
401 |
Questo errore si verifica quando la verifica della firma JWS non va a buon fine. |
steps.jws.InvalidPayload |
401 |
Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.KeyIdMissing |
401 |
Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione. |
steps.jws.KeyParsingFailed |
401 |
Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave fornite. |
steps.jws.MissingPayload |
401 |
Il payload JWS non è presente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Si verifica quando JWS omette l'intestazione dell'algoritmo. |
steps.jws.NoMatchingPublicKey |
401 |
Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il kid
nel JWS firmato non è elencato nel JWKS. |
steps.jws.UnhandledCriticalHeader |
401 |
Un'intestazione trovata dal criterio Verifica JWS nell'intestazione crit non è elencata in KnownHeaders . |
steps.jws.UnknownException |
401 |
Si è verificata un'eccezione sconosciuta. |
steps.jws.WrongKeyType |
401 |
Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave a curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Si verifica quando |
---|---|
InvalidAlgorithm |
Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Altri possibili errori di deployment. |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWS Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWS.failed=true</Condition> </FaultRule> </FaultRules>
Criterio VerifyJWT
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Si verifica quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Si verifica quando il criterio di verifica ha più algoritmi. |
steps.jwt.AlgorithmMismatch |
401 |
L'algoritmo specificato nel criterio Generate non corrisponde a quello previsto nel
criterio Verify . Gli algoritmi specificati devono corrispondere. |
steps.jwt.FailedToDecode |
401 |
Il criterio non è riuscito a decodificare il JWT. Il JWT potrebbe essere danneggiato. |
steps.jwt.GenerationFailed |
401 |
Il criterio non è stato in grado di generare il JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Per una chiave inferiore a 32 byte per l'algoritmo HS256, inferiore a 48 byte per l'algoritmo HS386 e inferiore a 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Per una richiesta mancante o una mancata corrispondenza della richiesta oppure per un'intestazione mancante o una mancata corrispondenza dell'intestazione. |
steps.jwt.InvalidConfiguration |
401 |
Sono presenti entrambi gli elementi <Algorithm> e <Algorithms> . |
steps.jwt.InvalidCurve |
401 |
La curva specificata dalla chiave non è valida per l'algoritmo di curva ellittica. |
steps.jwt.InvalidIterationCount |
401 |
Il conteggio delle iterazioni utilizzato nel JWT criptato non è uguale al conteggio
delle iterazioni specificato nella configurazione del criterio VerifyJWT. Questo vale solo per i JWT che
utilizzano <PasswordKey> . |
steps.jwt.InvalidJsonFormat |
401 |
JSON non valido trovato nell'intestazione o nel payload. |
steps.jwt.InvalidKeyConfiguration |
401 |
JWKS nell'elemento <PublicKey> non è valido. Il motivo potrebbe essere che l'endpoint URI JWKS non è raggiungibile dall'istanza Apigee. Testa la connettività all'endpoint creando un proxy passthrough e utilizzando l'endpoint JWKS come target. |
steps.jwt.InvalidSaltLength |
401 |
La lunghezza del sale utilizzata nel JWT criptato non è uguale alla lunghezza del sale
specificata nella configurazione del criterio VerifyJWT. Questo vale solo per i JWT che
utilizzano <PasswordKey> . |
steps.jwt.InvalidPasswordKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidPrivateKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidPublicKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidSecretKey |
401 |
La chiave specificata non soddisfa i requisiti. |
steps.jwt.InvalidToken |
401 |
Questo errore si verifica quando la verifica della firma JWT non va a buon fine. |
steps.jwt.JwtAudienceMismatch |
401 |
L'affermazione sul pubblico non è riuscita durante la verifica del token. |
steps.jwt.JwtIssuerMismatch |
401 |
L'affermazione dell'emittente non è riuscita durante la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 |
L'affermazione del soggetto non è riuscita durante la verifica del token. |
steps.jwt.KeyIdMissing |
401 |
Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il JWT firmato non include una proprietà kid nell'intestazione. |
steps.jwt.KeyParsingFailed |
401 |
Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave fornite. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Si verifica quando il JWT non contiene un'intestazione dell'algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il kid
nel JWT firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 |
In GenerateJWT, per una chiave inferiore alle dimensioni minime per gli algoritmi HS384 o HS512 |
steps.jwt.TokenExpired |
401 |
Il criterio tenta di verificare un token scaduto. |
steps.jwt.TokenNotYetValid |
401 |
Il token non è ancora valido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Un'intestazione trovata dal criterio Verifica JWT nell'intestazione crit non è elencata in KnownHeaders . |
steps.jwt.UnknownException |
401 |
Si è verificata un'eccezione sconosciuta. |
steps.jwt.WrongKeyType |
401 |
Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave a curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
InvalidNameForAdditionalClaim |
Il deployment non andrà a buon fine se il claim utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati:
kid , iss , sub , aud , iat ,
exp , nbf o jti .
|
build |
InvalidTypeForAdditionalClaim |
Se il claim utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
MissingNameForAdditionalClaim |
Se il nome della rivendicazione non è specificato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> , il deployment non andrà a buon fine.
|
build |
InvalidNameForAdditionalHeader |
Questo errore si verifica quando il nome della rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
InvalidValueOfArrayAttribute |
Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è impostato su true o false .
|
build |
InvalidValueForElement |
Se il valore specificato nell'elemento <Algorithm> non è supportato, il deployment non andrà a buon fine.
|
build |
MissingConfigurationElement |
Questo errore si verifica se l'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA o se l'elemento <SecretKey> non viene utilizzato con gli algoritmi della famiglia HS.
|
build |
InvalidKeyConfiguration |
Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey> , il deployment non andrà a buon fine.
|
build |
EmptyElementForKeyConfiguration |
Se l'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey>
o <SecretKey> è vuoto o non specificato, il deployment non andrà a buon fine.
|
build |
InvalidConfigurationForVerify |
Questo errore si verifica se l'elemento <Id> è definito all'interno dell'elemento
<SecretKey> .
|
build |
InvalidEmptyElement |
Questo errore si verifica se l'elemento <Source> del criterio Verifica JWT è vuoto. Se presente, deve essere definito con un nome di variabile del flusso Apigee.
|
build |
InvalidPublicKeyValue |
Se il valore utilizzato nell'elemento secondario <JWKS> dell'elemento <PublicKey>
non utilizza un formato valido come specificato in RFC 7517,
il deployment non andrà a buon fine.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se l'elemento <PrivateKey> viene utilizzato con gli algoritmi della famiglia HS o
l'elemento <PrivateKey> viene utilizzato con gli algoritmi della famiglia RSA, il
deployment non andrà a buon fine.<SecretKey>
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "InvalidToken" |
JWT.failed |
Tutti i criteri JWT impostano la stessa variabile in caso di errore. | JWT.failed = true |
Esempio di risposta di errore
Per la gestione degli errori, la best practice è intercettare la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "InvalidToken")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Criterio XMLThreatProtection
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
Le norme relative a XMLThreatProtection possono generare molti tipi diversi di errori ExecutionFailed .
La maggior parte di questi errori si verifica quando viene superata una soglia specifica impostata nel criterio. Questi
tipi di errori includono:
lunghezza del nome dell'elemento,
numero di elementi secondari,
profondità del nodo,
numero di attributi,
lunghezza del nome dell'attributo,
e molti altri. Puoi visualizzare l'elenco completo nell'argomento Risoluzione dei problemi relativi agli errori di runtime delle norme XMLThreatProtection.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection non è un documento XML valido.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Questo errore si verifica se la variabile message
specificata nell'elemento <Source> è:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Questo errore si verifica se l'elemento <Source> è impostato su una variabile che
non è di tipo
message.
|
build |
Errori di deployment
Nessuno.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | xmlattack.XPT-SecureRequest.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Esempio di regola di errore
<FaultRule name="XML Threat Protection Policy Faults"> <Step> <Name>AM-CustomErrorResponse</Name> <Condition>(fault.name Matches "ExecutionFailed") </Condition> </Step> <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition> </FaultRule>
Norme di XMLtoJSON
Questa sezione descrive i codici di errore e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Informazioni importanti sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
Questo errore si verifica quando il payload (XML) di input è vuoto o il codice XML di input non è valido o non ha un formato corretto. | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
Questo errore si verifica se il tipo di variabile definito nell'elemento <Source> e nell'elemento
<OutputVariable> non è lo stesso. È obbligatorio che il tipo di variabili
contenuto all'interno dell'elemento <Source> e dell'elemento <OutputVariable> corrisponda.
|
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
Questo errore si verifica se il tipo di variabile utilizzata per definire l'elemento <Source> è
non valido.I tipi di variabili validi sono messaggio e stringa. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio XML to
JSON è di tipo stringa e l'elemento <OutputVariable> non è definito.
L'elemento <OutputVariable> è obbligatorio quando la variabile definita nell'elemento <Source> è di tipo stringa. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
Questo errore si verifica se la variabile message
specificata nell'elemento <Source> del criterio XML to JSON è:
|
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
EitherOptionOrFormat |
Se uno degli elementi <Options> o <Format> non è dichiarato nel criterio XML to JSON, il deployment del proxy API non va a buon fine.
|
build |
UnknownFormat |
Se l'elemento <Format> all'interno del criterio XML to JSON ha un formato sconosciuto definito, il deployment del proxy API non va a buon fine. I formati predefiniti includono:
xml.com , yahoo , google e badgerFish .
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per ulteriori informazioni, consulta Informazioni importanti sugli errori relativi alle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | xmltojson.XMLtoJSON-1.failed = true |
Esempio di risposta di errore
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Esempio di regola di errore
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
Criterio XSLTransform
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice guasto | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Questo errore si verifica se il messaggio o la variabile stringa specificata nell'elemento <Source> del
criterio XSLTransform non rientra nell'ambito (non è disponibile nel flusso specifico in cui viene eseguito il
criterio) o non può essere risolto (non è definito).
|
build |
steps.xsl.XSLEvaluationFailed |
500 |
Questo errore si verifica se il payload XML di input non è disponibile/non è valido o se il criterio XSLTransform non riesce/non è in grado di trasformare il file XML di input in base alle regole di trasformazione fornite nel file XSL. Il mancato rispetto del criterio XSLTransform può essere causato da molti fattori diversi. Il motivo dell'errore nel messaggio di errore fornirà ulteriori informazioni sulla causa. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome dell'errore | Causa | Correggi |
---|---|---|
XSLEmptyResourceUrl |
Se l'elemento <ResourceURL> nel criterio XSLTransform è vuoto, il deployment del proxy API non va a buon fine. |
build |
XSLInvalidResourceType |
Se il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio XSLTransform
non è di tipo xsl , il deployment del proxy API non va a buon fine. |
build |