Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Criterio di controllo dell'accesso
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | L'indirizzo IP client o un indirizzo IP trasmesso 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 |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per saperne di più, consulta Variabili specifiche per gli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 di errore
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"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 gli articoli Cosa devi sapere sugli errori relativi ai criteri e Gestione degli errori.
Errori di runtime
Nessuna.
Errori di deployment
Nome errore | Stringa di errore | Stato HTTP | Si verifica quando |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/A | Il tipo di entità utilizzato deve essere uno dei tipi supportati. |
Criterio AttributionMessage
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Il criterio non è stato in grado di impostare una variabile. Controlla la stringa di errore per trovare il nome della variabile non risolta. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Questo errore si verifica se l'attributo Le variabili del tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Edge integrate |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Questo errore si verifica se una variabile specificata nel criterio Assegna messaggio è:
|
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidIndex |
Se l'indice specificato negli elementi <Copy> e/o <Remove> del criterio Assegna messaggio è 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 riesce perché non esiste un nome di variabile valido a cui assegnare un valore. È richiesto 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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="VariableOfNonMsgType"></faultrule><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 BasicAutenticazione
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | Su una decodifica quando la stringa codificata Base64 in entrata non contiene un valore valido o l'intestazione non è nel formato corretto (ad esempio, non inizia con "Base"). | 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 errore | Si verifica quando | Correggi |
---|---|---|
UserNameRequired |
L'elemento <User> deve essere presente per l'operazione con nome. |
build |
PasswordRequired |
L'elemento <Password> deve essere presente per l'operazione con nome. |
build |
AssignToRequired |
L'elemento <AssignTo> deve essere presente per l'operazione con nome. |
build |
SourceRequired |
L'elemento <Source> deve essere presente per l'operazione con nome. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 ConcurrentRateLimit
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
Connessione ConcurrentRatelimit superata. Limite connessioni : {0} Nota: il codice di errore mostrato a sinistra è corretto, anche se contiene un errore ortografico ("limt"). Assicurati di utilizzare il codice esattamente come mostrato qui quando crei regole di errore per eseguire il trap di questo errore. |
Errori di deployment
Nome errore | Si verifica quando |
---|---|
InvalidCountValue |
È stato specificato un valore non valido per il conteggio di ConcurrentRatelimit. |
ConcurrentRatelimitStepAttachment\ |
Il collegamento del criterio {0} di limitazione di frequenza in parallelo non è consentito nei percorsi di richiesta, risposta o errore del proxy. Questo criterio deve essere posizionato sull'endpoint di destinazione. |
ConcurrentRatelimitStepAttachment\ |
Manca il collegamento del criterio {0} di limitazione di frequenza in parallelo nei percorsi di richiesta/risposta/errore di destinazione. Questo criterio deve essere inserito in Pre-flusso della richiesta di destinazione, Post-flusso della risposta di destinazione e Regola predefinitaFault. |
InvalidTTLForMessageTimeOut |
Valore TTL non valido specificato per il timeout del messaggio di ConcurrentRatelimit. Deve essere un numero intero positivo. |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. | fault.name Matches "ConcurrentRatelimtViolation"
Nota: il codice di errore mostrato nell'esempio è corretto, anche se contiene un errore di ortografia ("limt"). Assicurati di utilizzare il codice esattamente come mostrato qui durante la creazione di regole di errore per eseguire il trap di questo errore. |
concurrentratelimit.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Esempio di risposta di errore
Se il limite di frequenza viene superato, il criterio restituisce al client solo lo stato HTTP 503.
Esempio di regola di errore
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules> <FaultRule name="Quota Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition> </Step> <Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition> </FaultRule> </FaultRules>
Criterio DecodeJWS
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.FailedToDecode |
401 | Il criterio non è stato in grado di 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 rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o 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 di contenuti scollegato. |
steps.jws.MissingPayload |
401 | Payload JWS mancante. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Si verifica quando il 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 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel 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 e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jwt.FailedToDecode |
401 | Si verifica quando il criterio non è in grado di decodificare il JWT. Il JWT potrebbe non essere valido, non valido o non può essere decodificato. | 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 di applicazione o non può essere risolta. |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidEmptyElement |
Si verifica quando la variabile di flusso contenente il JWT da decodifica non è specificata
nell'elemento <Source> del criterio.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. | fault.name Matches "TokenExpired" |
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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Norme ExtractVariables
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 è stato in grado di impostare questa variabile. | |
steps.extractvariables.InvalidJSONPath |
500 | Questo errore si verifica se viene utilizzato un percorso JSON non valido nell'elemento JSONPath del criterio. Ad esempio, se un payload JSON non ha 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 attuale. |
build |
steps.extractvariables.SetVariableFailed |
500 | Questo errore si verifica se il criterio non riesce a impostare il valore su una variabile. L'errore in genere si verifica se tenti di assegnare valori a più variabili i cui nomi iniziano con le stesse parole in un formato nidificato e 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 è riuscito a trasmettere il valore estratto a una variabile. In genere questo accade se tenti 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 errore | Causa | Correggi |
---|---|---|
NothingToExtract |
Se il criterio non contiene alcun elemento 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 dell'elemento XMLPayload . |
build |
NoXPathsToEvaluate |
Se il criterio non contiene l'elemento XPath all'interno
dell'elemento XMLPayload , il deployment del proxy API non riesce e genera questo errore.
|
build |
EmptyXPathExpression |
Se il criterio ha 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 riesce e genera questo errore. |
build |
EmptyJSONPathExpression |
Se il criterio ha 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, ad esempio QueryParam , Header , FormParam o Variable , ove richiesto, il deployment del proxy API non andrà 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 archiviati i dati estratti. |
build |
CannotBeConvertedToNodeset |
Se il criterio ha 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 riesce. |
build |
JSONPathCompilationFailed |
Il criterio non ha potuto compilare un percorso JSON specificato. | |
InstantiationFailed |
Impossibile creare un'istanza del criterio. | |
XPathCompilationFailed |
Se il prefisso o il valore utilizzato nell'elemento XPath non fa parte di nessuno degli 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 qualsiasi 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 GeneraJWS
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.GenerationFailed |
401 | Il criterio non è stato in grado di generare il JWS. |
steps.jws.InsufficientKeyLength |
401 | Per una chiave di dimensioni inferiori a 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 | Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione. |
steps.jws.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo 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 di 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 | Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate. |
steps.jws.MissingPayload |
401 | Payload JWS mancante. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Si verifica quando il JWS omette l'intestazione dell'algoritmo. |
steps.jws.SigningFailed |
401 | In CreateJWS, 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 curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel 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 GeneraJWT
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 di generazione non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jwt.FailedToDecode |
401 | Il criterio non è stato in grado di 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 di dimensioni inferiori a 32 byte per l'algoritmo HS256, a meno di 48 byte per l'algoritmo HS386 e a meno di 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 | Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione. |
steps.jwt.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo Curva ellittica. |
steps.jwt.InvalidJsonFormat |
401 | JSON non valido trovato nell'intestazione o nel payload. |
steps.jwt.InvalidToken |
401 | Questo errore si verifica quando la verifica della firma JWT non va a buon fine. |
steps.jwt.JwtAudienceMismatch |
401 | La rivendicazione del segmento di pubblico non è riuscita alla verifica del token. |
steps.jwt.JwtIssuerMismatch |
401 | La rivendicazione dell'emittente non è andata a buon fine durante la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 | La rivendicazione dell'oggetto non è andata a buon fine 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 | Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate. |
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 il kid nel JWT firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 | In CreateJWT, 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 JWT di verifica 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 curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidNameForAdditionalClaim |
Il deployment non andrà a buon fine se la dichiarazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati:
kid , iss , sub , aud , iat ,
exp , nbf o jti .
|
build |
InvalidTypeForAdditionalClaim |
Se la dichiarazione utilizzata 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 richiesta 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 dell'attestazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di attestazione 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 <SecretKey> con gli algoritmi della famiglia RSA, il deployment non andrà a buon fine.
|
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
secondario <Value> degli elementi <PrivateKey>
o <SecretKey> non contiene il prefisso privato (private.) .
|
build |
InvalidSecretInConfig |
Questo errore si verifica se l'elemento secondario <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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. | fault.name Matches "TokenExpired" |
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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Norme sui callout Java
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 criterio JavaCallout. | build |
Errori di deployment
Questi errori possono verificarsi quando viene eseguito il deployment del proxy che contiene il criterio.
Nome errore | Stringa di errore | Stato HTTP | Si verifica quando |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | Il file specificato nell'elemento <ResourceURL> non esiste. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | Il file della classe specificato nell'elemento <ClassName> non è nel file jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Vedi stringa di errore. Vedi anche Software supportato e versioni supportate. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Vedi stringa di errore. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Vedi stringa di errore. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Vedi stringa di errore. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Vedi stringa di errore. |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 relative a JavaScript
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | Il criterio JavaScript può generare molti tipi diversi di errori ScriptExecutionFailed. I tipi di errori più comuni sono RangeError, ReferenceError, SyntaxError, TypeError ed URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | Si è verificato un errore nel codice JavaScript. Consulta la stringa dell'errore per i dettagli. | N/A |
steps.javascript.ScriptSecurityError |
500 | Si è verificato un errore di sicurezza durante l'esecuzione di JavaScript. Consulta la stringa di errore per i dettagli. | N/A |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidResourceUrlFormat |
Se il formato dell'URL della risorsa specificato nell'elemento <ResourceURL> o <IncludeURL> del criterio JavaScript non è valido, il deployment del proxy API non riesce. |
build |
InvalidResourceUrlReference |
Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file JavaScript che non esiste, il deployment del proxy API non riesce.
Il file di origine di riferimento deve esistere a livello di organizzazione, proxy API o ambiente. |
build |
WrongResourceType |
Questo errore si verifica durante il deployment se gli elementi <ResourceURL> o <IncludeURL> del criterio JavaScript fanno riferimento a un qualsiasi tipo di risorsa diverso da jsc (file JavaScript). |
build |
NoResourceURLOrSource |
Il deployment del criterio JavaScript può avere esito negativo con questo errore se l'elemento <ResourceURL> non viene dichiarato o se l'URL della risorsa non è definito all'interno di questo elemento.
L'elemento <ResourceURL> è obbligatorio. In alternativa, viene dichiarato l'elemento <IncludeURL> , ma l'URL della risorsa non è definito all'interno di questo elemento. L'elemento <IncludeURL> è facoltativo, ma, se 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Criterio JSONThreatProtection
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | Il criterio JSONThreatProtection può 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 voce dell'oggetto, conteggio delle voci dell'oggetto, conteggio degli elementi dell'array, profondità del container, lunghezza del valore della stringa 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 non di tipo message.
|
build |
Errori di deployment
Nessuna.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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:
Criterio JSONtoXML
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | Il payload di input (JSON) è vuoto oppure l'input (JSON) passato al criterio JSON al criterio XML non è valido o è in un formato non valido. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Questo errore si verifica se il tipo della variabile definita nell'elemento <Source> e
nell'elemento <OutputVariable> non corrispondono. È obbligatorio che il tipo di
variabili contenute all'interno dell'elemento <Source> e dell'elemento <OutputVariable>
corrisponda. I tipi validi sono message e string . |
build |
steps.jsontoxml.InvalidSourceType |
500 | Questo errore si verifica se il tipo della variabile utilizzata per definire l'elemento <Source> non è valido. I tipi di variabile validi sono message e string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio da JSON a 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 da JSON a XML è:
|
build |
Errori di deployment
Nessuna.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Criterio KeyValueMapOperations
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
Questo errore si verifica se tenti di recuperare un valore da una mappa chiave-valore criptata e imposti il valore su una variabile il cui nome non ha il prefisso |
build |
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 errore | Causa | Correggi |
---|---|---|
InvalidIndex |
Se l'attributo index specificato nell'elemento <Get> del criterio Operazioni mappa chiave-valore è
zero o 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 un numero intero negativo viene considerato non valido.
|
build |
KeyIsMissing |
Questo errore si verifica se l'elemento <Key> è completamente mancante o se manca
l'elemento <Parameter> all'interno dell'elemento <Key> sotto <Entry> dell'elemento <InitialEntries>
del criterio Key Value Map Operations.
|
build |
ValueIsMissing |
Questo errore si verifica se l'elemento <Value> non è presente sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio Key Value Map Operations. |
build |
Criterio LDAP
Questo criterio utilizza i seguenti codici di errore:
Codice di errore | Messaggio |
---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
Criterio di MessageLogging
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Vedi stringa di errore. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidProtocol |
Il deployment del criterio MessageLogging può non riuscire con questo errore se il protocollo specificato nell'elemento <Protocol> non è valido. I protocolli validi sono TCP e UDP.
Per l'invio di messaggi syslog su TLS/SSL è supportato solo il protocollo TCP. |
build |
InvalidPort |
Il deployment del criterio MessageLogging può non riuscire con questo errore se il numero di porta non è specificato nell'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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Norme OASValidation
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Il corpo del messaggio della richiesta non può essere convalidato in base alla specifica OpenAPI fornita. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
La variabile specificata nell'elemento |
|
steps.oasvalidation.NotMessageVariable |
500 |
L'elemento |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 strutturata. | |
BadResourceURL |
Impossibile elaborare la specifica OpenAPI a cui viene fatto riferimento nell'elemento <OASResource> . Questo può accadere se il file non è un file JSON o YAML oppure 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. | oasvalidation.myoaspolicy.failed = true |
Criterio PopulateCache
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Una voce non può essere memorizzata nella cache. L'oggetto del messaggio che viene memorizzato nella cache non è un'istanza di una classe Serializable. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Prefisso codice di errore
N/A
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 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 menzionata nel messaggio di errore non è stata creata su un componente specifico dell'elaboratore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta di errore
N/A
Criterio InvalidateCache
Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Prefisso codice di errore
N/A
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 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 menzionata nel messaggio di errore non è stata creata su un componente specifico dell'elaboratore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta di errore
N/A
Criterio ResponseCache
Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Prefisso codice di errore
N/A
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 errore | Causa | Correggi |
---|---|---|
InvalidTimeout |
Se
l'elemento <CacheLookupTimeoutInSeconds> del criterio ResponseCache viene 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 è collegato 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 è collegato 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 menzionata nel messaggio di errore non è stata creata su un componente specifico dell'elaboratore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta di errore
N/A
Criterio OAuthV2
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Generata dalle operazioni |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | Il token di accesso è scaduto. |
VerificationAccessToken |
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 nessuno dei prodotti API associati al token di accesso. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Il criterio dovrebbe 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 dovrebbe 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 prevedeva di trovare l'ID client in una variabile specificata nell'elemento <ClientId> , ma non è stato possibile risolvere la variabile. |
GeneraAccessToken TranslateAuthorizationCode generareAccessTokenImplicitGrant refreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Il criterio dovrebbe 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 dovrebbe trovare un token in una variabile specificata nell'elemento <Tokens> , ma non è stato possibile risolvere la variabile. |
ConvalidaToken |
steps.oauth.v2.InsufficientScope |
403 | Il token di accesso presentato nella richiesta ha un ambito che non corrisponde a quello specificato nel criterio relativo alla verifica del token di accesso. Per ulteriori informazioni sull'ambito, vedi 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 di errore viene restituito quando la proprietà Nota: ti consigliamo di modificare le condizioni delle regole di errore esistenti in modo da rilevare entrambi i nomi |
GeneraAccessToken AggiornaAccessToken |
steps.oauth.v2.invalid_request |
400 | Questo nome di errore viene utilizzato per diversi tipi di errori, in genere per parametri mancanti o errati inviati nella richiesta. Se <GenerateResponse> è impostato su false , utilizza le variabili di errore (descritte di seguito) per recuperare i dettagli dell'errore, come il nome e la causa dell'errore. |
GeneraAccessToken TranslateAuthorizationCode generareAccessTokenImplicitGrant 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 API non si trova 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, vedi Creare prodotti basati su API. Consulta anche questo post della community di Apigee per ulteriori indicazioni sulle cause di questo errore. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Questo nome di errore viene restituito quando la proprietà |
GeneraAccessToken |
steps.oauth.v2.InvalidParameter |
500 | Il criterio deve specificare un token di accesso o un codice di autorizzazione, ma non entrambi. | DataflowAuthorizationCode generareAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | L'elemento <Tokens>/<Token> richiede di specificare il tipo di token (ad esempio, refreshtoken ). Se il client trasmette il tipo sbagliato, viene visualizzato questo errore. |
ConvalidaToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | Il tipo di risposta è token , ma non è specificato alcun tipo di autorizzazione. |
DataflowAuthorizationCode generareAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Il client ha specificato un tipo di autorizzazione non supportato dal criterio (non elencato nell'elemento <SupportedGrantTypes>). Nota: attualmente esiste un bug per cui gli errori relativi ai tipi di autorizzazione non supportati non vengono generati correttamente. Se si verifica un errore di tipo di autorizzazione non supportato, il proxy non entra nel flusso di errori, come previsto. |
GeneraAccessToken TranslateAuthorizationCode generareAccessTokenImplicitGrant refreshAccessToken |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa |
---|---|
InvalidValueForExpiresIn |
Per l'elemento |
InvalidValueForRefreshTokenExpiresIn |
Per l'elemento <RefreshTokenExpiresIn> , i valori validi sono numeri interi positivi e -1 . |
InvalidGrantType |
Nell'elemento <SupportedGrantTypes> è stato 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 VerificationToken non esegue questa operazione. |
RefreshTokenExpiresInNotApplicableForOperation |
Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza del token di aggiornamento. Ad esempio, l'operazione VerificationToken non esegue questa operazione. |
GrantTypesNotApplicableForOperation |
Assicurati che i tipi di autorizzazione specificati in <SupportedGrantTypes> siano supportati per l'operazione specificata. |
OperationRequired |
Devi specificare un'operazione in questo criterio utilizzando l'elemento Nota: se l'elemento |
InvalidOperation |
Devi specificare un'operazione valida in questo criterio utilizzando
l'elemento Nota: se l'elemento |
TokenValueRequired |
Devi specificare un valore <Token> del token nell'elemento <Tokens> . |
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 riportata sopra. Il nome del guasto è l'ultima parte del codice di 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
Nota: per l'operazione VerificationAccessToken, il nome dell'errore include questo suffisso: |
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 rinviate 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 il riferimento della risposta agli errori 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 il riferimento sulla risposta agli errori 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>
Criterio GetOAuthV2Info
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito. I nomi di errore mostrati di seguito sono le stringhe assegnate alla variabile fault.name
quando si verifica un errore. Consulta la sezione Variabili di errore riportata di seguito per ulteriori dettagli.
Codice di errore | 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 alle norme è scaduto. |
steps.oauth.v2.invalid_access_token |
500 | Il token di accesso inviato al criterio non è valido. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | L'ID client inviato alle norme 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 | Leggi questo post della community di Apigee per informazioni sulla risoluzione di questo errore. |
steps.oauth.v2.refresh_token_expired |
500 | Il token di aggiornamento inviato al criterio è scaduto. |
Errori di deployment
Per informazioni sugli errori di deployment, consulta il 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 riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Imposta criterio OAuthV2Info
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 al criterio non è valido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Leggi questo post della community di Apigee per informazioni sulla risoluzione di questo errore. |
Errori di deployment
Per informazioni sugli errori di deployment, consulta il 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 riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Elimina criterio OAuthV2Info
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 | Il token di accesso inviato al criterio 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 | Leggi questo post della community di Apigee per informazioni sulla risoluzione di questo errore. |
Errori di deployment
Per informazioni sugli errori di deployment, consulta il 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 riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Criterio OAuthv1.0a
Il tipo di criterio OAuthV1 definisce i seguenti codici di errore.
Per i codici di errore HTTP relativi ad OAuth, consulta il riferimento per la risposta all'errore HTTP OAuth.
Codice di errore | Messaggio |
---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
Criterio GetOAuthV1Info
Nessun codice di errore specificato per il criterio Info OAuth v1.0a.
Elimina criterio OAuthV1Info
In caso di esito positivo, il criterio restituisce lo stato 200.
In caso di errore, il criterio restituisce un errore 404 e un output simile al seguente (a seconda che tu stia eliminando un token di accesso, un token di richiesta o uno strumento di verifica):
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
Criterio PythonScript
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | Il criterio PythonScript può generare diversi tipi di errori ScriptExecutionFailed non riusciti. I tipi di errori più comuni sono NameError e ZeroDivisionError. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidResourceUrlFormat |
Se il formato dell'URL della risorsa specificato nell'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 che non esiste, il deployment del proxy API non va a buon fine.
Il file di origine di riferimento deve esistere a livello di organizzazione, proxy API o ambiente. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Si verifica se l'elemento <Interval> non è definito nei criteri per le quote. Questo elemento è obbligatorio e utilizzato per specificare l'intervallo di tempo applicabile alla quota. L'intervallo di tempo può essere minuti, ore, giorni, settimane o mesi, come definito dall'elemento <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Si verifica se l'elemento <TimeUnit> non è definito nei criteri per le quote. Questo elemento è obbligatorio e utilizzato per specificare l'unità di tempo applicabile alla quota. L'intervallo di tempo può essere espresso 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 | Il limite di quota è stato superato. | N/A |
Errori di deployment
Nome 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 riesce.
|
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 quota 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 di data e ora ISO 8601. Ad
esempio, se il tempo specificato 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> il cui 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 per le quote è 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 per le quote, in cui è definita anche una configurazione asincrona mediante l'elemento <AsynchronousConfiguration> , il deployment del proxy API non riesce. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 di reimpostazione della quota
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Il criterio per le quote specificato nell'elemento <Quota> del criterio di reimpostazione della quota non è definito nel proxy API e, di conseguenza, non è disponibile durante il flusso. L'elemento <Quota> è obbligatorio e identifica il criterio per le quote di destinazione il cui contatore deve essere aggiornato tramite il criterio di reimpostazione della quota. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | Il riferimento alla variabile contenente il conteggio di autorizzazioni nell'elemento <Allow> del criterio non può essere risolto in un valore. Questo elemento è obbligatorio e specifica la quantità
per diminuire il contatore di 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 errore | Causa | Correggi |
---|---|---|
InvalidCount |
Se il valore di conteggio specificato nell'elemento <Allow> del criterio di reimpostazione della quota non è un numero intero, il deployment del proxy API non riesce.
|
build |
Norme di RaiseFault
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa |
---|---|---|
steps.raisefault.RaiseFault |
500 | Vedi stringa di errore. |
Errori di deployment
Nessuna.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome dell'errore è l'ultima parte del codice di 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 restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per acquisire un errore e generare un errore personalizzato, imposta l'attributo continueOnError="true"
nell'elemento principale del criterio.
Per scoprire di più, consulta gli articoli
Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Gli errori restituiti dai criteri perimetrali seguono un formato coerente, come descritto in Riferimento ai codici di errore.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Messaggio |
---|---|
ExecutionFailed | Impossibile eseguire la StepDefinition di RegularExpressionProtection {0}. Motivo: {1} |
InstantiationFailed | Impossibile creare un'istanza della StepDefinition RegularExpressionProtection {0} |
NonMessageVariable | La variabile {0} non si risolve in un messaggio. |
SourceMessageNotAvailable | {0} non è disponibile per RegularExpressionProtection StepDefinition {1} |
ThreatDetected | Minaccia espressione regolare rilevata in {0}: regex: {1} input: {2} |
VariableResolutionFailed | Impossibile risolvere la variabile {0} |
Errori di deployment
Codice di errore | Messaggio | Correggi |
---|---|---|
CannotBeConvertedToNodeset | RegularExpressionProtection {0}: il risultato di xpath {1} non può essere convertito in un set di nodi. Contesto {2} | build |
DuplicatePrefix | RegularExpressionProtection {0}: prefisso duplicato {1} | build |
EmptyJSONPathExpression | RegularExpressionProtection {0}: espressione JSONPath vuota | build |
EmptyXPathExpression | RegularExpressionProtection {0}: espressione XPath vuota | build |
InvalidRegularExpression | RegularEspressioneProtection {0}: espressione regolare non valida {1}, contesto {2} | build |
JSONPathCompilationFailed | RegularExpressionProtection {0}: impossibile compilare jsonpath {1}. Contesto {2} | build |
NON vuotoPrefissoMappedToVuotoURI | RegularExpressionProtection {0}: il prefisso non vuoto {1} non può essere mappato a un URI vuoto | build |
NoPatternsToEnforce | RegularExpressionProtection {0}: nessun pattern da applicare in {1} | build |
NothingToEnforce | RegularExpressionProtection {0}: è obbligatorio almeno un valore URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload | build |
XPathCompilationFailed | RegularExpressionProtection {0}: impossibile compilare xpath {1}. Contesto {2} | build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella precedente. | 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 SOAPMessageValidation
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 del tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Edge integrate |
build |
steps.messagevalidation.Failed |
500 | Questo errore si verifica se il criterio SOAPMessageValidation non riesce a convalidare il payload dei messaggi di input in base allo schema XSD o alla definizione WSDL. Si verifica anche se il formato JSON o XML del messaggio del payload è in formato errato. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 viene fatto 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 ottempera alle regole XML per la denominazione di elementi validi. |
build |
Criterio SAMLAssertion
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere 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 errore | Causa | Correggi |
---|---|---|
SourceNotConfigured |
Uno o più dei seguenti elementi del criterio Convalida asserzione SAML non sono stati definiti o sono vuoti: <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Se l'elemento <TrustStore> è vuoto o non specificato nel criterio ConvalidaAssertion SAML, il deployment del proxy API non va a buon fine.
È richiesto un archivio di attendibilità valido.
|
build |
NullKeyStoreAlias |
Se l'elemento secondario <Alias> è vuoto o non è specificato nell'elemento <Keystore> del criterio Genera asserzione SAML, il deployment del proxy API non riesce. È richiesto un alias dell'archivio chiavi valido.
|
build |
NullKeyStore |
Se l'elemento secondario <Name> è vuoto o non è specificato nell'elemento <Keystore> del criterio generate SAMLAssertion, il deployment del proxy API non riesce. È necessario un nome di archivio chiavi valido.
|
build |
NullIssuer |
Se l'elemento <Issuer> è vuoto o non specificato nel criterio Genera asserzione SAML, 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore. Il nome del guasto è l'ultima parte del codice di errore. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Per una configurazione di convalida del criterio di asserzione SAML, 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 sui callout di servizio
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Questo errore si può verificare quando:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | La variabile Richiesta specificata nel criterio non è di tipo Messaggio. Ad esempio, se si tratta di una stringa o di un altro tipo non di messaggio, visualizzerai questo errore. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | La variabile Richiesta specificata nel criterio non è di tipo Messaggio di richiesta. Ad esempio, se si tratta di un tipo di risposta, visualizzerai questo errore. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
URLMissing |
L'elemento <URL> all'interno di <HTTPTargetConnection> è mancante o vuoto. |
build |
ConnectionInfoMissing |
Questo errore si verifica se il criterio non ha un elemento <HTTPTargetConnection> o <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Questo errore si verifica se il valore di <Timeout> è negativo o pari a zero. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Norme di SpikeArrest
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 di
arresto dei picchi. Questo elemento è obbligatorio e utilizzato per specificare il tasso di arresto dei picchi di traffico
nel formato 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 errore | Causa | Correggi |
---|---|---|
InvalidAllowedRate |
Se il tasso di arresto dei picchi specificato nell'elemento <Rate> del criterio di arresto dei picchi 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome dell'errore è l'ultima parte del codice di 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 StatisticsCollector
Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Nessuna.
Errori di deployment
Nome errore | Causa | Correggi |
---|---|---|
UnsupportedDatatype |
Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio per la raccolta delle statistiche non è supportato, il deployment del proxy API non va a buon fine. I tipi di dati supportati sono string , integer ,
float , long , double e boolean . |
build |
InvalidName |
Se il nome utilizzato per fare riferimento ai dati raccolti per la variabile specificata definita all'interno dell'elemento <Statistic> del criterio del raccoglitore di statistiche è in conflitto con una variabile definita dal sistema, il deployment del proxy API non andrà a buon fine. Alcune delle variabili note definite dal sistema sono organization e environment . |
build |
DatatypeMissing |
Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio per la raccolta delle statistiche non è presente, il deployment del proxy API non riesce. |
build |
Variabili di errore
Nessuna.
Criterio di VerificationAPIKey
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | La società associata all'app sviluppatore con la chiave API che stai utilizzando è in stato non attivo. Quando lo stato di una società è impostato su inattivo, non puoi accedere agli sviluppatori o alle app associati a tale società. Un amministratore dell'organizzazione può modificare lo stato di una società utilizzando l'API di gestione. Consulta Impostare lo stato di un'azienda. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Lo stato dello sviluppatore che ha creato l'app con la chiave API che stai utilizzando è inattivo. Quando lo stato di uno sviluppatore di app è impostato su inattivo, tutte le app per sviluppatori 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 seguenti modi:
|
keymanagement.service.invalid_client-app_not_approved |
401 | L'app sviluppatore associata alla chiave API è stata revocata. Un'app revocata non può accedere a nessun prodotto API e non può richiamare alcuna API gestita da Apigee Edge. Un amministratore dell'organizzazione può modificare lo stato di un'app sviluppatore utilizzando l'API di gestione. Vedi Approvare o revocare l'app sviluppatore. |
oauth.v2.FailedToResolveAPIKey |
401 | Il criterio prevede 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 | Una chiave API è stata ricevuta da Edge, ma non è valida. Quando Edge cerca la chiave nel proprio 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 chiave precedente. Per maggiori dettagli, consulta Registrare app e gestire le chiavi API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Una chiave API è stata ricevuta da Edge ed è valida; tuttavia, non corrisponde a una chiave approvata nell'app per sviluppatori associata al proxy API tramite un prodotto. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 |
Esempi di risposte di errore
{ "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 criterio JWS
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 di generazione non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> viene specificato quando il JWS non contiene un payload di contenuti scollegati. |
steps.jws.FailedToDecode |
401 | Il criterio non è stato in grado di decodificare il JWS. Il JWS potrebbe essere danneggiato. |
steps.jws.InsufficientKeyLength |
401 | Per una chiave di dimensioni inferiori a 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 | Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione. |
steps.jws.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo 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 di 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 | Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate. |
steps.jws.MissingPayload |
401 | Payload JWS mancante. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Si verifica quando il JWS omette l'intestazione dell'algoritmo. |
steps.jws.NoMatchingPublicKey |
401 | Il criterio di verifica 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 Verification 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 curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel 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>
Verifica criterio JWT
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | 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 di generazione non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jwt.FailedToDecode |
401 | Il criterio non è stato in grado di 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 di dimensioni inferiori a 32 byte per l'algoritmo HS256, a meno di 48 byte per l'algoritmo HS386 e a meno di 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 | Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione. |
steps.jwt.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo Curva ellittica. |
steps.jwt.InvalidJsonFormat |
401 | JSON non valido trovato nell'intestazione o nel payload. |
steps.jwt.InvalidToken |
401 | Questo errore si verifica quando la verifica della firma JWT non va a buon fine. |
steps.jwt.JwtAudienceMismatch |
401 | La rivendicazione del segmento di pubblico non è riuscita alla verifica del token. |
steps.jwt.JwtIssuerMismatch |
401 | La rivendicazione dell'emittente non è andata a buon fine durante la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 | La rivendicazione dell'oggetto non è andata a buon fine 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 | Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate. |
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 il kid nel JWT firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 | In CreateJWT, 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 JWT di verifica 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 curva per un algoritmo RSA. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidNameForAdditionalClaim |
Il deployment non andrà a buon fine se la dichiarazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati:
kid , iss , sub , aud , iat ,
exp , nbf o jti .
|
build |
InvalidTypeForAdditionalClaim |
Se la dichiarazione utilizzata 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 richiesta 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 dell'attestazione utilizzata nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di attestazione 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> viene definito all'interno
dell'elemento <SecretKey> .
|
build |
InvalidEmptyElement |
Questo errore si verifica se l'elemento <Source> del criterio JWT di verifica è vuoto. Se presente, deve essere definita con un nome per la variabile di flusso perimetrale.
|
build |
InvalidPublicKeyValue |
Se il valore utilizzato nell'elemento secondario <JWKS> dell'elemento <PublicKey> non ha 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 <SecretKey> con gli algoritmi della famiglia RSA, il deployment non andrà a buon fine.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. | fault.name Matches "TokenExpired" |
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 prevede il trap della parte errorcode
della risposta di errore. Non fare affidamento sul testo nel faultstring
, perché potrebbe cambiare.
Esempio di regola di errore
<FaultRules> <FaultRule name="JWT Policy Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "TokenExpired")</Condition> </Step> <Condition>JWT.failed=true</Condition> </FaultRule> </FaultRules>
Criterio XMLThreatProtection
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | Il criterio XMLThreatProtection può 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 errore includono: lunghezza del nome dell'elemento, conteggio figlio, profondità del nodo, conteggio attributi, lunghezza del nome dell'attributo e molti altri. Puoi visualizzare l'elenco completo nell'argomento Risoluzione degli errori di runtime dei criteri XMLThreatProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Questo errore si verifica se il payload dei messaggi 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 non di tipo message.
|
build |
Note
- Il nome di errore ExecutionFailed è il nome di errore predefinito e verrà restituito indipendentemente dal tipo di errore rilevato; tuttavia, questo valore predefinito può essere modificato impostando una proprietà a livello di organizzazione. Se viene impostata questa proprietà, il nome dell'errore rifletterà l'errore effettivo. Ad esempio, "TextExceeded" o "AttrValueExceeded". Vedi Note sull'utilizzo per i dettagli.
- Lo stato HTTP 500 è il valore predefinito; tuttavia, lo stato HTTP può essere modificato in 400 per errori del flusso delle richieste impostando una proprietà a livello di organizzazione. Vedi Note sull'utilizzo per i dettagli.
Errori di deployment
Nessuna.
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Criterio XMLtoJSON
Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Edge quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Questo errore si verifica quando il payload di input (XML) è vuoto o l'XML di input non è valido o è in un formato non corretto. | build |
steps.xmltojson.InCompatibleType |
500 | Questo errore si verifica se il tipo della variabile definita nell'elemento <Source> e
nell'elemento <OutputVariable> non corrispondono. È obbligatorio che il tipo di variabili
contenute all'interno dell'elemento <Source> e dell'elemento <OutputVariable> corrisponda.
|
build |
steps.xmltojson.InvalidSourceType |
500 | Questo errore si verifica se il tipo di variabile utilizzata per definire l'elemento <Source> non è valido.I tipi di variabile validi sono messaggio e stringa. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio da XML a
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 |
500 |
Questo errore si verifica se la variabile message
specificata nell'elemento <Source> del criterio da XML a JSON è:
|
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
EitherOptionOrFormat |
Se uno degli elementi <Options> o <Format> non viene dichiarato nel criterio da XML a JSON, il deployment del proxy API non va a buon fine.
|
build |
UnknownFormat |
Se per l'elemento <Format> all'interno del criterio da XML a JSON è stato definito un formato sconosciuto, il deployment del proxy API non riesce. 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 maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di 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>
Norme XSLTransform
Errori di runtime
Questi errori possono verificarsi quando il criterio viene eseguito.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Questo errore si verifica se la variabile del messaggio o della stringa specificata nell'elemento <Source> del criterio XSL Transform non rientra nell'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio) o non può essere risolta (non è definita).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Questo errore si verifica se il payload XML di input non è disponibile/non è in formato corretto oppure se il criterio XSLTransform ha esito negativo o non è in grado di trasformare il file XML di input in base alle regole di trasformazione fornite nel file XSL. L'errore del criterio XSLTransform può essere causato da molte cause diverse. 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 errore | Causa | Correggi |
---|---|---|
XSLEmptyResourceUrl |
Se l'elemento <ResourceURL> nel criterio XSL Transform è vuoto, il deployment del proxy API non va a buon fine. |
build |
XSLInvalidResourceType |
Se il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio XSL Transform non è di tipo xsl , il deployment del proxy API non riesce. |
build |