Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Criterio di AccessControl
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 ulteriori informazioni, consulta la sezione Variabili specifiche per gli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | acl.AC-AllowAccess.failed = true |
Risposta di errore di esempio
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"accesscontrol.IPDeniedAccess" } } }
Regola di errore di esempio
<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, vedi Cosa devi sapere sugli errori dei criteri e Gestione degli errori.
Errori di runtime
Nessuno.
Errori di deployment
Nome errore | Stringa 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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | Il criterio non è riuscito a impostare una variabile. Controlla la stringa dell'errore per il nome della variabile non risolta. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Questo errore si verifica se l'attributo Le variabili dei tipi di messaggi rappresentano intere richieste e risposte HTTP. Le variabili di flusso 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 riesce.
|
build |
InvalidVariableName |
Se l'elemento secondario <Name> è vuoto o non è stato specificato nell'elemento <AssignVariable> , il deployment del proxy API non riesce perché non esiste un nome di variabile valido a cui assegnare un valore. È necessario specificare 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 durante il 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, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | assignmessage.AM-SetResponse.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 es. non inizia con "Di 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 è false. |
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 denominata. |
build |
PasswordRequired |
L'elemento <Password> deve essere presente per l'operazione denominata. |
build |
AssignToRequired |
L'elemento <AssignTo> deve essere presente per l'operazione denominata. |
build |
SourceRequired |
L'elemento <Source> deve essere presente per l'operazione denominata. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | BasicAuthentication.BA-Authenticate.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
Connessione contemporanea contemporaneo superata. Limite connessioni : {0} Nota: il codice di errore mostrato a sinistra è corretto, anche se include un errore ortografico ("limt"). Assicurati di utilizzare il codice esattamente come mostrato qui quando crei regole di errore per intrappolare questo errore. |
Errori di deployment
Nome errore | Si verifica quando |
---|---|
InvalidCountValue |
È stato specificato un valore di conteggio non valido per ConcurrentRatelimit. |
ConcurrentRatelimitStepAttachment\ |
L'allegato {0} del criterio Ratelimit simultaneo non è consentito nei percorsi di richiesta/risposta/errore del proxy. Questo criterio deve essere posizionato nell'endpoint di destinazione. |
ConcurrentRatelimitStepAttachment\ |
Nell'allegato del criterio Ratelimit simultaneo {0} manca il percorso di richiesta/risposta/errore di destinazione. Questo criterio deve essere inserito nel preflusso delle richieste di destinazione, nel flusso di risposta della destinazione e nel valore predefinito (FaultRule). |
InvalidTTLForMessageTimeOut |
Valore Contemporaneo ttl non valido specificato per il timeout del messaggio. 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ConcurrentRatelimtViolation"
Nota: il codice di errore mostrato nell'esempio è corretto, anche se contiene un errore ortografico ("limt"). Assicurati di utilizzare il codice esattamente come mostrato qui quando crei regole di errore per bloccare questo errore. |
concurrentratelimit.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Esempio di risposta all'errore
Se il limite di frequenza viene superato, il criterio restituisce al client solo lo stato HTTP 503.
Regola di errore di esempio
<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>
Decodifica criterio JWS
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.FailedToDecode |
401 | Il criterio non è riuscito a decodificare il JWS. Il JWS potrebbe essere danneggiato. |
steps.jws.FailedToResolveVariable |
401 | Si verifica quando la variabile di flusso specificata nell'elemento <Source> del
criterio non esiste. |
steps.jws.InvalidClaim |
401 | Per una rivendicazione o una corrispondenza mancante, o per un'intestazione o una corrispondenza delle intestazioni mancante. |
steps.jws.InvalidJsonFormat |
401 | JSON non valido nell'intestazione JWS. |
steps.jws.InvalidJws |
401 | Questo errore si verifica quando la verifica della firma JWS non va a buon fine. |
steps.jws.InvalidPayload |
401 | Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 | <DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.MissingPayload |
401 | 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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>
Decodifica criterio JWT
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 essere in un formato non valido, non valido o non decodificabile. | build |
steps.jwt.FailedToResolveVariable |
401 | Si verifica quando la variabile di flusso specificata nell'elemento <Source> del
criterio non esiste. |
|
steps.jwt.InvalidToken |
401 | Si verifica quando la variabile di flusso specificata nell'elemento <Source> del criterio non rientra nell'ambito o non può essere risolta. |
build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidEmptyElement |
Si verifica quando la variabile di flusso contenente il JWT da decodificare non è specificata nell'elemento <Source> del criterio.
|
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'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 all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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 ExtractVariables
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 è riuscito a 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 è riuscito a impostare il valore per una variabile. In genere l'errore si verifica se cerchi 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 in 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 include nessuno degli elementi URIPath , QueryParam , Header , FormParam , XMLPayload o JSONPayload , il deployment del proxy API non riesce perché non è possibile estrarre nulla. |
build |
NONEmptyPrefixMappedToEmptyURI |
Questo errore si verifica se il criterio ha un prefisso definito nell'elemento Namespace nell'elemento XMLPayload , ma non è stato definito alcun URI. |
build |
DuplicatePrefix |
Questo errore si verifica se il criterio ha lo stesso prefisso definito più di una volta nell'elemento Namespace
nell'elemento XMLPayload . |
build |
NoXPathsToEvaluate |
Se il criterio non include l'elemento XPath all'interno dell'elemento XMLPayload , il deployment del proxy API non riesce e viene restituito questo errore.
|
build |
EmptyXPathExpression |
Se il criterio ha un'espressione XPath vuota nell'elemento XMLPayload , il deployment del proxy API non riesce. |
build |
NoJSONPathsToEvaluate |
Se il criterio non include l'elemento JSONPath all'interno dell'elemento JSONPayload , il deployment del proxy API non riesce e viene restituito questo errore. |
build |
EmptyJSONPathExpression |
Se il criterio ha un'espressione XPath vuota nell'elemento XMLPayload , il deployment del proxy API non riesce. |
build |
MissingName |
Se il criterio non include l'attributo name in nessuno degli elementi del criterio, come QueryParam , Header , FormParam o Variable , ove richiesto, il deployment del proxy API non riesce. |
build |
PatternWithoutVariable |
Se il criterio non ha una variabile specificata all'interno dell'elemento Pattern , il deployment del proxy API non riesce. 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 non è possibile convertire l'espressione in set di nodi, il deployment del proxy API non riesce. |
build |
JSONPathCompilationFailed |
Il criterio non è riuscito a compilare un percorso JSON specificato. | |
InstantiationFailed |
Impossibile creare l'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 riesce. |
build |
InvalidPattern |
Se la definizione dell'elemento Pattern non è valida in uno qualsiasi degli elementi quali URIPath , QueryParam , Header , FormParam , XMLPayload o JSONPayload nel criterio, il deployment del proxy API non riesce.
|
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il 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, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | extractvariables.EV-ParseJsonResponse.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Regola di errore di esempio
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Criterio generateJWS
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il criterio attiva un errore. È importante sapere queste informazioni se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
steps.jws.GenerationFailed |
401 | Il criterio non è riuscito a generare il JWS. |
steps.jws.InsufficientKeyLength |
401 | Per una chiave inferiore a 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 | Per una rivendicazione o una corrispondenza mancante, o per un'intestazione o una corrispondenza delle intestazioni mancante. |
steps.jws.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo della curva ellittica. |
steps.jws.InvalidJsonFormat |
401 | JSON non valido nell'intestazione JWS. |
steps.jws.InvalidPayload |
401 | Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 | <DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.KeyIdMissing |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione. |
steps.jws.KeyParsingFailed |
401 | Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave 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 Genera JWS, 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 token specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Curve ellittica 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 Genera non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jwt.FailedToDecode |
401 | Non è stato possibile decodificare il JWT. Il JWT potrebbe essere danneggiato. |
steps.jwt.GenerationFailed |
401 | Il criterio non è riuscito a generare il JWT. |
steps.jwt.InsufficientKeyLength |
401 | Per una chiave inferiore a 32 byte per l'algoritmo HS256, inferiore a 48 byte per l'algoritmo HS386 e inferiore a 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 | Per una rivendicazione o una corrispondenza mancante, o per un'intestazione o una corrispondenza delle intestazioni mancante. |
steps.jwt.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo della 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 pubblico non è andata a buon fine durante la verifica tramite token. |
steps.jwt.JwtIssuerMismatch |
401 | La rivendicazione dell'emittente non è riuscita per la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 | La rivendicazione dell'oggetto non è riuscita per la verifica tramite token. |
steps.jwt.KeyIdMissing |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWT firmato non include una proprietà kid nell'intestazione. |
steps.jwt.KeyParsingFailed |
401 | Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave specificate. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Si verifica quando il JWT non contiene un'intestazione di algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il kid
nel JWK firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 | In Genera JWT, per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512 |
steps.jwt.TokenExpired |
401 | Questo 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 di verifica JWT nell'intestazione crit non è elencata in KnownHeaders . |
steps.jwt.UnknownException |
401 | Si è verificata un'eccezione sconosciuta. |
steps.jwt.WrongKeyType |
401 | Tipo di token specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Curve ellittica 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 riuscirà se la rivendicazione 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 dichiarazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> , il deployment non andrà a buon fine.
|
build |
InvalidNameForAdditionalHeader |
Questo errore si verifica quando il nome della dichiarazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
InvalidValueOfArrayAttribute |
Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è impostato su true o false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se l'elemento <PrivateKey> viene utilizzato con gli algoritmi per la famiglia HS o
l'elemento <SecretKey> viene utilizzato con gli algoritmi per la famiglia RSA, il
deployment non riuscirà.
|
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
per la famiglia RSA o se l'elemento <SecretKey> non viene utilizzato con
gli algoritmi per famiglie 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 riuscirà.
|
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'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 all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 contenente il criterio.
Nome errore | Stringa 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 è presente nel jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Visualizza stringa di errori. Vedi anche Software e versioni supportate. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Visualizza stringa di errori. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Visualizza stringa di errori. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Visualizza stringa di errori. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Visualizza stringa di errori. |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | javacallout.JC-GetUserData.failed = true |
Esempio di risposta all'errore
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Regola di errore di esempio
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Criterio JavaScript
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 errore più comuni sono RangeError, ReferenceError, SyntaxError, TypeError e URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | Si è verificato un errore nel codice JavaScript. Consulta la stringa dell'errore per ulteriori 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 delle risorse specificato all'interno dell'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 inesistente, il deployment del proxy API non riesce.
Il file di origine di riferimento deve esistere a livello di proxy API, ambiente o organizzazione. |
build |
WrongResourceType |
Questo errore si verifica durante il deployment se gli elementi <ResourceURL> o <IncludeURL> del criterio JavaScript fanno riferimento a qualsiasi tipo di risorsa diverso da jsc (file JavaScript). |
build |
NoResourceURLOrSource |
Il deployment del criterio JavaScript può non riuscire con questo errore se l'elemento <ResourceURL> non viene dichiarato o se l'URL della risorsa non è definito all'interno di questo elemento.
L'elemento <ResourceURL> è un elemento obbligatorio. Oppure l'elemento <IncludeURL> viene dichiarato, ma l'URL della risorsa non è definito all'interno di questo elemento. L'elemento <IncludeURL> è facoltativo, ma se viene dichiarato, l'URL della risorsa deve essere specificato all'interno dell'elemento <IncludeURL> . |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il 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, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | javascript.JavaScript-1.failed = true |
Esempio di risposta all'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" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 della voce dell'oggetto, conteggio delle voci dell'oggetto, conteggio degli elementi dell'array, profondità del contenitore, 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 di messaggio specificata nell'elemento <Source> è:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Questo errore si verifica se l'elemento <Source> è impostato su una variabile che non è di tipo
message.
|
build |
Errori di deployment
Nessuno.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | jsonattack.JTP-SecureRequest.failed = true |
Esempio di risposta all'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" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | Il payload di input (JSON) è vuoto o non è valido o ha un formato errato. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Questo errore si verifica se il tipo di variabile definito nell'elemento <Source> e nell'elemento <OutputVariable> non corrisponde. È obbligatorio che il tipo di variabile contenuto nell'elemento <Source> e nell'elemento <OutputVariable> corrisponda. I tipi validi sono message e string . |
build |
steps.jsontoxml.InvalidSourceType |
500 | Questo errore si verifica se il tipo di variabile utilizzato 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 JSON in 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 di messaggio
specificata nell'elemento <Source> del criterio JSON per XML è:
|
build |
Errori di deployment
Nessuno.
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | jsontoxml.JSON-to-XML-1.failed = true |
Esempio di risposta all'errore
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.keyvaluemapoperations.SetVariableFailed |
500 |
Questo errore si verifica se cerchi di recuperare un valore da una mappa chiave di valore criptata e impostato 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 delle operazioni sulla mappa delle coppie chiave-valore è zero o un numero negativo, il deployment del proxy API non riesce. L'indice parte da 1 , quindi un indice con zero o zero intero è considerato non valido.
|
build |
KeyIsMissing |
Questo errore si verifica se manca completamente l'elemento <Key> o se manca l'elemento <Parameter> all'interno dell'elemento <Key> sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio delle operazioni sulla mappa delle coppie chiave-valore.
|
build |
ValueIsMissing |
Questo errore si verifica se l'elemento <Value> risulta mancante sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio delle operazioni sulla mappa delle coppie chiave-valore. |
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 MessageLogging
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Visualizza stringa di errori. |
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 potrebbe 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 TCP. |
build |
InvalidPort |
Il deployment del criterio MessageLogging può non riuscire con questo errore se il numero di porta non è specificato all'interno dell'elemento <Port> o se non è valido. Il numero di porta deve essere un numero intero maggiore di zero. |
build |
Variabili di errore
Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | messagelogging.ML-LogMessages.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | |
---|---|---|---|
steps.oasvalidation.Failed |
500 | Il corpo del messaggio di richiesta non può essere convalidato in base alle specifiche OpenAPI fornite. | |
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 è in formato JSON o YAML o se l'URL del file non è specificato correttamente.
|
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il 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, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oasvalidation.myoaspolicy.failed = true |
Criterio PopulateCache
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Si verifica quando |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Una voce non può essere memorizzata nella cache. L'oggetto del messaggio memorizzato nella cache non è un'istanza di una classe serializzabile. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | populatecache.POP-CACHE-1.failed = true |
Esempio di risposta all'errore
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Regola di errore di esempio
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>
Criterio LookupCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta le informazioni relative agli errori dei criteri e la 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 riesce. |
build |
CacheNotFound |
Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata su uno specifico componente del processore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta all'errore
N/A
Criterio InvalidateCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta le informazioni relative agli errori dei criteri e la 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 uno specifico componente del processore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta all'errore
N/A
Criterio ResponseCache
Questa sezione descrive i messaggi di errore e le variabili di flusso impostate quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta le informazioni relative agli errori dei criteri e la 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 è impostato su un numero negativo, il deployment del proxy API non riesce. |
build |
InvalidCacheResourceReference |
Questo errore si verifica se l'elemento <CacheResource> di 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 uno specifico componente del processore di messaggi. | build |
Variabili di errore
N/A
Esempio di risposta all'errore
N/A
Criterio OAuthV2
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Generato da 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. | Verifica accesso Token |
steps.oauth.v2.apiresource_doesnot_exist |
401 | La risorsa richiesta non esiste alcun prodotto API associato al token di accesso. | Verifica accesso Token |
steps.oauth.v2.FailedToResolveAccessToken |
500 | Il criterio prevede di trovare un token di accesso in una variabile specificata nell'elemento <AccessToken> , ma non è stato possibile risolvere la variabile. |
GeneraAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | Il criterio prevede di trovare un codice di autorizzazione in una variabile specificata nell'elemento <Code> , ma non è stato possibile risolvere la variabile. |
Genera autorizzazioneCode |
steps.oauth.v2.FailedToResolveClientId |
500 | Il criterio prevede di trovare l'ID client in una variabile specificata nell'elemento <ClientId> , ma non è stato possibile risolvere la variabile. |
GeneraAccessToken GeneraAutorizzazioneCode GeneraAccessTokenImplicitGrant AggiornaAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | Il criterio prevede di trovare un token di aggiornamento in una variabile specificata nell'elemento <RefreshToken> , ma non è stato possibile risolvere la variabile. |
AggiornaAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | Il criterio prevede di trovare un token in una variabile specificata nell'elemento <Tokens> , ma non è stato possibile risolvere la variabile. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | Il token di accesso presentato nella richiesta ha un ambito che non corrisponde all'ambito specificato nel criterio del token di accesso di verifica. Per saperne di più sull'ambito, vedi Utilizzare gli ambiti OAuth2. | Verifica accesso Token |
steps.oauth.v2.invalid_access_token |
401 | Il token di accesso inviato dal client non è valido. | Verifica accesso Token |
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 per acquisire i nomi |
GeneraAccessToken AggiornaAccessToken |
steps.oauth.v2.invalid_request |
400 | Questo nome di errore viene utilizzato per più tipi di errori, in genere per i parametri mancanti o errati inviati nella richiesta. Se il criterio <GenerateResponse> è impostato su false , utilizza le variabili di errore (descritte di seguito) per recuperare i dettagli relativi all'errore, ad esempio il nome e la causa. |
GeneraAccessToken GeneraAutorizzazioneCode GeneraAccessTokenImplicitGrant AggiornaAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | L'intestazione di autorizzazione non contiene la parola "Bearer", che è obbligatoria. Ad esempio: Authorization: Bearer your_access_token |
Verifica accesso Token |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
Il proxy API non è presente nel prodotto associato al token di accesso. Suggerimenti: assicurati che il prodotto associato al token di accesso sia configurato correttamente. Ad esempio, se si utilizzano caratteri jolly nei percorsi delle risorse, assicurarsi che vengano utilizzati correttamente. Per informazioni dettagliate, consulta Creare prodotti API. Consulta anche questo post della community di Apigee per ulteriori indicazioni sulle cause di questo errore. |
Verifica accesso Token |
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. | GeneraAutorizzazioneCodice GeneraAccessTokenImplicitGrant |
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 restituito questo errore. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | Il tipo di risposta è token , ma non è stato specificato alcun tipo di autorizzazione. |
GeneraAutorizzazioneCodice GeneraAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
Il client ha specificato un tipo di autorizzazione non supportato dal criterio (non elencato nell'elemento <supportedGrantTypes>). Nota: al momento esiste un bug per cui gli errori dei tipi di autorizzazione non supportati non vengono generati correttamente. Se si verifica un errore di tipo di autorizzazione non supportato, il proxy non inserisce il flusso di errore, come previsto. |
GeneraAccessToken GeneraAutorizzazioneCode GeneraAccessTokenImplicitGrant AggiornaAccessToken |
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> è specificato un tipo di autorizzazione non valido. Consulta la documentazione di riferimento per un elenco dei tipi validi. |
ExpiresInNotApplicableForOperation |
Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza. Ad esempio, l'operazione di VerificaToken non lo fa. |
RefreshTokenExpiresInNotApplicableForOperation |
Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza del token di aggiornamento. Ad esempio, l'operazione di VerificaToken non lo fa. |
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 del token <Token> nell'elemento <Tokens> . |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dal 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 dal criterio che ha generato l'errore. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Esempio di risposta all'errore
Queste risposte vengono inviate al client se l'elemento <GenerateResponse>
è true.
Se <GenerateResponse>
è true, il criterio restituisce errori
in questo formato per le operazioni che generano token e codici. Per un elenco completo, consulta la pagina Riferimento per le risposte agli errori HTTP OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Se <GenerateResponse>
è true, il criterio restituisce errori in questo formato
per verificare e convalidare le operazioni. Per un elenco completo, consulta la documentazione di riferimento sulle risposte agli errori HTTP OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio. I nomi degli errori riportati di seguito sono le stringhe assegnate alla variabile fault.name
quando si verifica un errore. Per ulteriori dettagli, consulta la
sezione Variabili di errore di seguito.
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 al criterio non è valido. |
steps.oauth.v2.invalid_refresh_token |
500 | Il token di aggiornamento inviato al criterio non è valido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | Il codice di autorizzazione inviato al criterio non è valido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Leggi questo post della community di Apigee per informazioni su come risolvere l'errore. |
steps.oauth.v2.refresh_token_expired |
500 | Il token di aggiornamento inviato al criterio è scaduto. |
Errori di deployment
Fai riferimento al messaggio riportato nell'interfaccia utente per informazioni sugli errori di deployment.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dal 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 dal criterio che ha generato l'errore. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Esempio di risposta all'errore
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Regola di errore di esempio
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Criterio Imposta OAuthV2Info
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 su come risolvere l'errore. |
Errori di deployment
Fai riferimento al messaggio riportato nell'interfaccia utente per informazioni sugli errori di deployment.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Esempio di risposta all'errore
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 su come risolvere l'errore. |
Errori di deployment
Fai riferimento al messaggio riportato nell'interfaccia utente per informazioni sugli errori di deployment.
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il runtime.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Esempio di risposta all'errore
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | Il criterio PythonScript può generare diversi tipi di errori ScriptExecutionFailed. I tipi di errore più comuni includono NameError e ZeroDivisionError. | build |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidResourceUrlFormat |
Se il formato dell'URL della risorsa specificato all'interno di <ResourceURL> o
l'elemento <IncludeURL> del criterio PythonScript non è valido, il deployment del proxy API non riesce. |
build |
InvalidResourceUrlReference |
Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file PythonScript inesistente, il deployment del proxy API non riesce.
Il file di origine di riferimento deve esistere a livello di proxy API, ambiente o organizzazione. |
build |
Variabili di errore
Queste variabili vengono impostate quando questo criterio attiva un errore durante il 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, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | pythonscript.PythonScript-1.failed = true |
Esempio di risposta all'errore
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Si verifica se l'elemento <Interval> non è definito nel criterio Quota. Questo elemento è obbligatorio e viene utilizzato per specificare l'intervallo di tempo applicabile alla quota. L'intervallo di tempo
può essere di minuti, ore, giorni, settimane o mesi, come definito dall'elemento <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Si verifica se l'elemento <TimeUnit> non è definito nel criterio Quota. Questo elemento è obbligatorio e viene utilizzato per specificare l'unità di tempo applicabile alla quota. L'intervallo di tempo può essere in minuti, ore, giorni, settimane o mesi. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Si verifica se il valore dell'elemento <MessageWeight> specificato tramite una variabile di flusso non è valido (un valore non intero). |
build |
policies.ratelimit.QuotaViolation |
500 | Il limite della 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 riesce. 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 riesce. 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 riesce. 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 riesce. 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 riesce.
|
build |
StartTimeNotSupported |
Se l'elemento <StartTime> è specificato e il tipo di quota non è il tipo calendar , il deployment del proxy API non riesce. 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 riesce.
|
build |
InvalidTimeUnitForDistributedQuota |
Se l'elemento <Distributed> è impostato su true e l'elemento <TimeUnit> è impostato su
second , il deployment del proxy API non riesce. L'unità temporale second non è valida per una quota distribuita. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Se il valore specificato per l'elemento <SyncIntervalInSeconds> all'interno dell'elemento <AsynchronousConfiguration> in un criterio Quota è inferiore a zero, il deployment del proxy API non riesce. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Se il valore dell'elemento <AsynchronousConfiguration> è impostato su true in un criterio Quota, che ha anche una configurazione asincrona definita tramite 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | ratelimit.QT-QuotaPolicy.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Regola di errore di esempio
<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
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | Il criterio per le quote specificato nell'elemento <Quota> del criterio per il ripristino della quota
non è definito nel proxy API e quindi non è disponibile durante il flusso. L'elemento <Quota> è obbligatorio e identifica il criterio della quota target il cui contatore deve essere aggiornato tramite il criterio Reimposta quota. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | Il riferimento alla variabile contenente il conteggio delle autorizzazioni nell'elemento <Allow> del criterio non può essere risolto in un valore. Questo elemento è obbligatorio e specifica l'importo
per diminuire il contatore della quota. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | La variabile a cui viene fatto riferimento dall'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 per la quota di reimpostazione non è un numero intero, il deployment del proxy API non riesce.
|
build |
Criterio AlzaFault
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, vedi Cosa devi sapere sugli errori dei criteri e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa |
---|---|---|
steps.raisefault.RaiseFault |
500 | Visualizza stringa di errori. |
Errori di deployment
Nessuno.
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice di errore. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name è il nome specificato dal criterio nel criterio che ha generato l'errore. | raisefault.RF-ThrowError.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Criterio RegularExpressionProtection
Questa sezione descrive i codici di errore, i messaggi 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. Se vuoi acquisire un errore e presentare un errore personalizzato, imposta l'attributo continueOnError="true"
nell'elemento principale del criterio.
Per scoprire di più, vedi
Cosa è necessario sapere sugli errori dei criteri e Gestione degli errori.
Gli errori restituiti dai criteri perimetrali seguono un formato coerente, come descritto nella sezione Riferimento codice di errore.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Messaggio |
---|---|
Esecuzione non riuscita | Impossibile eseguire il valore di Definizione del passaggio {0}RegularExpressionProtection{0}. Motivo: {1} |
Creazione istanza non riuscita | Impossibile creare l'istanza di RegularExpressionProtection StepDefinition {0} |
Variabile non messaggio | La variabile {0} non viene risolta in un messaggio |
Messaggio di origine non disponibile | {0} messaggio non disponibile per RegularExpressionProtection StepDefinition {1} |
Minuto rilevato | Minaccia di espressione regolare rilevata in {0}: regex: {1} input: {2} |
Variable non riuscita | Impossibile risolvere la variabile {0} |
Errori di deployment
Codice di errore | Messaggio | Correggi |
---|---|---|
Impossibile convertire in nodo | RegularExpressionProtection{0}: non è possibile convertire il risultato di xpath {1} in un set di nodi. Contesto {2} | build |
Prefisso duplicato | RegularExpressionProtection{0}: prefisso duplicato {1} | build |
Vuoto JSONPathExpression | RegularExpressionProtection{0}: espressione JSONPath vuota | build |
Vuota XPath Express | RegularExpressionProtection{0}: espressione XPath vuota | build |
Espressione regolare non valida | RegularExpressionProtection{0}: espressione regolare non valida {1}, contesto {2} | build |
JSONPathCompilationNon riuscito | RegularExpressionProtection{0}: impossibile compilare jsonpath {1}. Contesto {2} | build |
NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection{0}: non è possibile mappare un prefisso non vuoto a un URI vuoto | build |
Nessun pattern da applicare | RegularExpressionProtection{0}: nessun pattern da applicare in {1} | build |
Nessuna applicazione | RegularExpressionProtection{0}: almeno uno tra URIPath, QueryParam, Header, FormParam, XMLPayload e JSONPayload è obbligatorio | build |
Creazione XPath non riuscita | 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella precedente. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name è il nome specificato dal 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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 dei tipi di messaggi rappresentano intere richieste e risposte HTTP. Le variabili di flusso integrate |
build |
steps.messagevalidation.Failed |
500 | Questo errore si verifica se il criterio SOAPMessageValidation non convalida il payload del messaggio di input in base allo schema XSD o alla definizione WSDL. Questo si verifica anche se il messaggio payload contiene formato JSON o XML non valido. | 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 di risorse 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 di elemento principale che non rispetta le regole XML per la denominazione degli elementi validi. |
build |
Criterio di asserzione SAML
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la 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 l'asserzione SAML non sono definiti o vuoti: <Source> , <XPath> , <Namespaces> e <Namespace> .
|
build |
TrustStoreNotConfigured |
Se l'elemento <TrustStore> è vuoto o non è specificato nel criterio Validate SAMLAssertion, il deployment del proxy API non riesce.
È necessario un Trust Store valido.
|
build |
NullKeyStoreAlias |
Se l'elemento figlio <Alias> è vuoto o non è specificato nell'elemento <Keystore> del criterio Genera asserzione SAML, il deployment del proxy API non riesce. È necessario un alias di archivio chiavi valido.
|
build |
NullKeyStore |
Se l'elemento figlio <Name> è vuoto o non è specificato nell'elemento <Keystore> del criterio Genera 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 riesce. È richiesto 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Per una configurazione del criterio di asserzione SAML convalidata, il prefisso di errore è
ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Esempio di risposta all'errore
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Regola di errore di esempio
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Norme ServiceCallout
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Questo errore può verificarsi 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, verrà visualizzato 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, verrà visualizzato 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 <Timeout> è negativo o uguale 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | servicecallout.SC-GetUserData.failed = true |
Esempio di risposta all'errore
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 Cosa devi sapere sugli errori dei criteri e Gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 presente nel criterio dell'arresto
dei picchi. Questo elemento è obbligatorio e viene utilizzato per specificare la percentuale di arresto dei picchi sotto forma di intpm o intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Questo errore si verifica se il valore specificato per l'elemento <MessageWeight> tramite una variabile di flusso non è valido (un valore non intero). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Il limite di frequenza è stato superato. |
Errori di deployment
Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.
Nome errore | Causa | Correggi |
---|---|---|
InvalidAllowedRate |
Se la percentuale di arresto dei picchi specificata 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 riesce. |
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime 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 dal criterio che ha generato l'errore. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Esempio di risposta all'errore
Di seguito è riportato un esempio di risposta di errore:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Regola di errore di esempio
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 impostate 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Nessuno.
Errori di deployment
Nome errore | Causa | Correggi |
---|---|---|
UnsupportedDatatype |
Se il tipo di variabile specificata dall'attributo ref nell'elemento <Statistic> del criterio Raccoglitore delle statistiche non è supportato, il deployment del proxy API non riesce. 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
nell'elemento <Statistic> del criterio Statistics Collector è in conflitto con una
variabile definita dal sistema, il deployment del proxy API non riesce. Alcune variabili definite dal sistema note sono organization e environment . |
build |
DatatypeMissing |
Se il tipo di variabile specificato dall'attributo ref nell'elemento <Statistic> del criterio Raccoglitore delle statistiche non è presente, il deployment del proxy API non riesce. |
build |
Variabili di errore
Nessuno.
Criterio di verifica APIKey
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa |
---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | Lo stato della Società associata all'app sviluppatore che dispone della chiave API in uso è inattiva. Quando lo stato di una Società è impostato su non attivo, non puoi accedere agli sviluppatori o alle app associati. Un amministratore dell'organizzazione può modificare lo stato di un'azienda utilizzando l'API di gestione. Consulta la sezione Impostare lo stato di un'azienda. |
keymanagement.service.DeveloperStatusNotActive |
401 |
Lo sviluppatore che ha creato l'app sviluppatore con la chiave API che stai usando ha uno stato non attivo. Quando lo stato di uno sviluppatore di app è impostato su non attivo, le app di ogni sviluppatore create dallo sviluppatore vengono disattivate. Un utente amministratore con le autorizzazioni appropriate (ad esempio, l'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 ad alcun 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 suo database, deve corrispondere esattamente a quello inviato nella richiesta. Se l'API funzionava in precedenza, assicurati che la chiave non sia stata rigenerata. Se la chiave è stata rigenerata, visualizzerai questo errore se tenti di utilizzare la chiave precedente. Per maggiori dettagli, consulta la pagina Registrare app e gestire chiavi API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Una chiave API è stata ricevuta da Edge ed è valida; tuttavia, non corrisponde a una chiave approvata nell'app sviluppatore 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | oauthV2.VK-VerifyAPIKey.failed = true |
Risposte di errore di esempio
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Regola di errore di esempio
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Criterio VerificationJWS
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 Genera non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> è specificato quando il JWS non contiene un payload dei contenuti scollegati. |
steps.jws.FailedToDecode |
401 | Il criterio non è riuscito a decodificare il JWS. Il JWS potrebbe essere danneggiato. |
steps.jws.InsufficientKeyLength |
401 | Per una chiave inferiore a 32 byte per l'algoritmo HS256 |
steps.jws.InvalidClaim |
401 | Per una rivendicazione o una corrispondenza mancante, o per un'intestazione o una corrispondenza delle intestazioni mancante. |
steps.jws.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo della curva ellittica. |
steps.jws.InvalidJsonFormat |
401 | JSON non valido nell'intestazione JWS. |
steps.jws.InvalidJws |
401 | Questo errore si verifica quando la verifica della firma JWS non va a buon fine. |
steps.jws.InvalidPayload |
401 | Il payload JWS non è valido. |
steps.jws.InvalidSignature |
401 | <DetachedContent> viene omesso e il JWS ha un payload dei contenuti scollegato. |
steps.jws.KeyIdMissing |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione. |
steps.jws.KeyParsingFailed |
401 | Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave 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 di verifica JWS nell'intestazione crit non è elencata in KnownHeaders . |
steps.jws.UnknownException |
401 | Si è verificata un'eccezione sconosciuta. |
steps.jws.WrongKeyType |
401 | Tipo di token specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Curve ellittica 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "TokenExpired" |
JWS.failed |
Tutti i criteri JWS impostano la stessa variabile in caso di errore. | jws.JWS-Policy.failed = true |
Esempio di risposta all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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 VerificationJWT
Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 Genera non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere. |
steps.jwt.FailedToDecode |
401 | Non è stato possibile decodificare il JWT. Il JWT potrebbe essere danneggiato. |
steps.jwt.GenerationFailed |
401 | Il criterio non è riuscito a generare il JWT. |
steps.jwt.InsufficientKeyLength |
401 | Per una chiave inferiore a 32 byte per l'algoritmo HS256, inferiore a 48 byte per l'algoritmo HS386 e inferiore a 64 byte per l'algoritmo HS512. |
steps.jwt.InvalidClaim |
401 | Per una rivendicazione o una corrispondenza mancante, o per un'intestazione o una corrispondenza delle intestazioni mancante. |
steps.jwt.InvalidCurve |
401 | La curva specificata dalla chiave non è valida per l'algoritmo della 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 pubblico non è andata a buon fine durante la verifica tramite token. |
steps.jwt.JwtIssuerMismatch |
401 | La rivendicazione dell'emittente non è riuscita per la verifica del token. |
steps.jwt.JwtSubjectMismatch |
401 | La rivendicazione dell'oggetto non è riuscita per la verifica tramite token. |
steps.jwt.KeyIdMissing |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWT firmato non include una proprietà kid nell'intestazione. |
steps.jwt.KeyParsingFailed |
401 | Non è stato possibile analizzare la chiave pubblica dalle informazioni sulla chiave specificate. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Si verifica quando il JWT non contiene un'intestazione di algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 | Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il kid
nel JWK firmato non è elencato nel JWKS. |
steps.jwt.SigningFailed |
401 | In Genera JWT, per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512 |
steps.jwt.TokenExpired |
401 | Questo 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 di verifica JWT nell'intestazione crit non è elencata in KnownHeaders . |
steps.jwt.UnknownException |
401 | Si è verificata un'eccezione sconosciuta. |
steps.jwt.WrongKeyType |
401 | Tipo di token specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Curve ellittica 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 riuscirà se la rivendicazione 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 dichiarazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> , il deployment non andrà a buon fine.
|
build |
InvalidNameForAdditionalHeader |
Questo errore si verifica quando il nome della dichiarazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> è alg o typ .
|
build |
InvalidTypeForAdditionalHeader |
Se il tipo di rivendicazione utilizzato nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è di tipo string , number ,
boolean o map , il deployment non andrà a buon fine.
|
build |
InvalidValueOfArrayAttribute |
Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim>
dell'elemento <AdditionalClaims> non è impostato su true o false .
|
build |
InvalidValueForElement |
Se il valore specificato nell'elemento <Algorithm> non è supportato, il deployment non andrà a buon fine.
|
build |
MissingConfigurationElement |
Questo errore si verifica se l'elemento <PrivateKey> non viene utilizzato con gli algoritmi
per la famiglia RSA o se l'elemento <SecretKey> non viene utilizzato con
gli algoritmi per famiglie HS.
|
build |
InvalidKeyConfiguration |
Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey>
o <SecretKey> , il deployment non andrà a buon fine.
|
build |
EmptyElementForKeyConfiguration |
Se l'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey>
o <SecretKey> è vuoto o non specificato, il deployment non andrà a buon fine.
|
build |
InvalidConfigurationForVerify |
Questo errore si verifica se l'elemento <Id> è definito all'interno dell'elemento
<SecretKey> .
|
build |
InvalidEmptyElement |
Questo errore si verifica se l'elemento <Source> del criterio di verifica JWT è vuoto. Se presente, deve essere definito con un nome variabile di flusso Edge.
|
build |
InvalidPublicKeyValue |
Se il valore utilizzato nell'elemento secondario <JWKS> dell'elemento <PublicKey> non utilizza un formato valido specificato in RFC 7517, il deployment non riuscirà.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se l'elemento <PrivateKey> viene utilizzato con gli algoritmi per la famiglia HS o
l'elemento <SecretKey> viene utilizzato con gli algoritmi per la famiglia RSA, il
deployment non riuscirà.
|
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'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 all'errore
Per la gestione degli errori, la best practice consiste nell'intraprendere la parte errorcode
della risposta
all'errore. Non fare affidamento sul testo in faultstring
, perché potrebbe cambiare.
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
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 errori includono: lunghezza del nome dell'elemento, numero di elementi secondari, profondità del nodo, numero di attributi, lunghezza del nome dell'attributo e molti altri. Puoi visualizzare l'elenco completo nell'argomento Risoluzione dei problemi degli errori di runtime dei criteri XMLThreatProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Questo errore si verifica se il payload del messaggio di input specificato dall'elemento <Source> del criterio XMLThreatProtection non è un documento XML valido.
|
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Questo errore si verifica se la variabile di messaggio specificata nell'elemento <Source> è:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Questo errore si verifica se l'elemento <Source> è impostato su una variabile che non è di tipo
message.
|
build |
Note
- Il nome dell'errore ExecutionFailed è quello predefinito e viene restituito indipendentemente dal tipo di errore rilevato. Tuttavia, questo valore predefinito può essere modificato impostando una proprietà a livello di organizzazione. Se questa proprietà è impostata, il nome dell'errore rifletterà l'errore effettivo. Ad esempio, "TextExceeded" o "AttrValueExceeded". Per informazioni dettagliate, consulta la sezione Note sull'utilizzo.
- Lo stato HTTP 500 è l'impostazione predefinita, ma può essere modificato in 400 per gli errori del flusso delle richieste impostando una proprietà a livello di organizzazione. Per informazioni dettagliate, consulta la sezione Note sull'utilizzo.
Errori di deployment
Nessuno.
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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | xmlattack.XPT-SecureRequest.failed = true |
Esempio di risposta all'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" } } }
Regola di errore di esempio
<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 che vengono restituiti e le variabili di errore impostate da Edge quando il 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 le informazioni relative agli errori dei criteri e la gestione degli errori.
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Questo errore si verifica quando il payload di input (XML) è vuoto o non è valido o ha un formato errato. | build |
steps.xmltojson.InCompatibleType |
500 | Questo errore si verifica se il tipo di variabile definito nell'elemento <Source> e nell'elemento <OutputVariable> non corrisponde. È obbligatorio specificare che il tipo di variabile contenuto nell'elemento <Source> e nell'elemento <OutputVariable> corrisponda.
|
build |
steps.xmltojson.InvalidSourceType |
500 | Questo errore si verifica se il tipo di variabile utilizzato per definire l'elemento <Source> non è valido.I tipi validi di variabile 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 XML to 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 è stato dichiarato nel criterio XML a JSON, il deployment del proxy API non riesce.
|
build |
UnknownFormat |
Se il formato dell'elemento <Format> all'interno del criterio da XML a JSON è 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 delle norme.
Variabili | Dove | Esempio |
---|---|---|
fault.name="fault_name" |
fault_name è il nome dell'errore, riportato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name è il nome specificato dal criterio che ha generato l'errore. | xmltojson.XMLtoJSON-1.failed = true |
Esempio di risposta all'errore
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Regola di errore di esempio
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults"> <Step> <Name>AM-SourceUnavailableMessage</Name> <Condition>(fault.name Matches "SourceUnavailable") </Condition> </Step> <Step> <Name>AM-BadXML</Name> <Condition>(fault.name = "ExecutionFailed")</Condition> </Step> <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition> </FaultRule>
Criterio XSLTransform
Errori di runtime
Questi errori possono verificarsi durante l'esecuzione del criterio.
Codice di errore | Stato HTTP | Causa | Correggi |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Questo errore si verifica se il messaggio o la variabile di stringa specificati nell'elemento <Source> del
criterio Trasforma XSL non rientrano nell'ambito (non disponibili nel flusso specifico in cui
il criterio è in esecuzione) o non possono essere risolti (non è definito).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | Questo errore si verifica se il payload XML di input non è disponibile o non è corretto o il criterio XSLTransform ha esito negativo/non è in grado di trasformare il file XML di input in base alle regole di trasformazione fornite nel file XSL. Potrebbero essere molte le cause diverse per cui il criterio XSLTransform ha esito negativo. Il motivo dell'errore mostrato 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 riesce. |
build |
XSLInvalidResourceType |
Se il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio Trasforma XSL non è di tipo xsl , il deployment del proxy API non riesce. |
build |