Riferimento agli errori dei criteri

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.

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 source nell'elemento <Copy> è impostato su una variabile di tipo diverso da message.

Le variabili dei tipi di messaggi rappresentano intere richieste e risposte HTTP. Le variabili di flusso integrate request, response e message sono di tipo messaggio. Per ulteriori informazioni sulle variabili, consulta il riferimento alle variabili.

steps.assignmessage.UnresolvedVariable 500

Questo errore si verifica se una variabile specificata nel criterio Assegna messaggio è:

  • fuori dall'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • o
  • non può essere risolto (non è definito).

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.
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.
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").
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.

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.
PasswordRequired L'elemento <Password> deve essere presente per l'operazione denominata.
AssignToRequired L'elemento <AssignTo> deve essere presente per l'operazione denominata.
SourceRequired L'elemento <Source> deve essere presente per l'operazione denominata.

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\
NotAllowedAtProxyEndpoint
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\
MissingAtTargetEndpoint
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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.

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.

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

Codici di errore delle norme JWT

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:

  • Il payload di input (JSON, XML) è vuoto.
  • L'input (JSON, XML e così via) passato al criterio non è valido o ha un formato errato.
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.
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.
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.
steps.extractvariables.SourceMessageNotAvailable 500 Questo errore si verifica se la variabile message specificata nell'elemento Source del criterio è:
  • Non rientra nell'ambito (non disponibile nel flusso specifico in cui è in esecuzione il criterio) oppure
  • Impossibile risolvere (non è stato definito)
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.

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.
NONEmptyPrefixMappedToEmptyURI Questo errore si verifica se il criterio ha un prefisso definito nell'elemento Namespace nell'elemento XMLPayload, ma non è stato definito alcun URI.
DuplicatePrefix Questo errore si verifica se il criterio ha lo stesso prefisso definito più di una volta nell'elemento Namespace nell'elemento XMLPayload.
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.
EmptyXPathExpression Se il criterio ha un'espressione XPath vuota nell'elemento XMLPayload, il deployment del proxy API non riesce.
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.
EmptyJSONPathExpression Se il criterio ha un'espressione XPath vuota nell'elemento XMLPayload, il deployment del proxy API non riesce.
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.
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.
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.
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.
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.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.
MissingNameForAdditionalClaim Se il nome della dichiarazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims>, il deployment non andrà a buon fine.
InvalidNameForAdditionalHeader Questo errore si verifica quando il nome della dichiarazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è alg o typ.
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.
InvalidValueOfArrayAttribute Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> non è impostato su true o false.
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à.
InvalidValueForElement Se il valore specificato nell'elemento <Algorithm> non è supportato, il deployment non andrà a buon fine.
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.
InvalidKeyConfiguration Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey>, il deployment non andrà a buon fine.
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.
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.).
InvalidSecretInConfig Questo errore si verifica se l'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> non contiene il prefisso privato (private.).
InvalidTimeFormat Se il valore specificato nell'elemento <NotBefore> non utilizza un formato supportato, il deployment non riuscirà.

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

Codici di errore delle norme JWT

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.

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.
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.
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.
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).
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>.

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.
steps.jsonthreatprotection.SourceUnavailable 500 Questo errore si verifica se la variabile di messaggio specificata nell'elemento <Source> è:
  • Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • Non è uno dei valori validi request, response o message
steps.jsonthreatprotection.NonMessageVariable 500 Questo errore si verifica se l'elemento <Source> è impostato su una variabile che non è di tipo message.

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.
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.
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.
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.
steps.jsontoxml.SourceUnavailable 500 Questo errore si verifica se la variabile di messaggio specificata nell'elemento <Source> del criterio JSON per XML è:
  • fuori dall'ambito (non disponibile nel flusso specifico in cui è in esecuzione il criterio) oppure
  • non può essere risolto (non è definito).

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 private. Il prefisso, necessario per motivi di sicurezza di base durante il debug, nasconde i valori criptati dalle sessioni di debug e debug del proxy API.

steps.keyvaluemapoperations.UnsupportedOperationException 500

Questo errore si verifica se l'attributo mapIdentifier è impostato su una stringa vuota nel criterio delle operazioni sulla mappa delle coppie chiave-valore.

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.
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.
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.

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.
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.

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 <Source> del criterio non rientra nell'ambito o non può essere risolta.

steps.oasvalidation.NotMessageVariable 500

L'elemento <Source> è impostato su una variabile non di tipo messaggio.

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.
CacheNotFound La cache specificata nell'elemento <CacheResource> non esiste.

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.
InvalidTimeout Se l'elemento <CacheLookupTimeoutInSeconds> è impostato su un numero negativo, il deployment del proxy API non riesce.
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.

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.
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.

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.
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.
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.
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.
InvalidMessagePatternForErrorCode Questo errore si verifica se l'elemento <SkipCacheLookup> o <SkipCachePopulation> in un criterio ResponseCache contiene una condizione non valida.
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.

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
InvalidateToken

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
InvalidateToken

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à <GenerateResponse> del criterio è impostata su true e l'ID client inviato nella richiesta non è valido. Assicurati di utilizzare i valori della chiave client e dei secret corretti per l'app sviluppatore associata al proxy. In genere, questi valori vengono inviati come intestazione Basic Authorization con codifica Base64.

Nota: ti consigliamo di modificare le condizioni delle regole di errore esistenti per acquisire i nomi invalid_client e InvalidClientIdentifier. Per saperne di più e per un esempio, consulta le note di rilascio del 16/09/21.

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\
steps.oauth.v2.ApiProductMatchFound
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à <GenerateResponse> del criterio è impostata su false e l'ID client inviato nella richiesta non è valido. Assicurati di utilizzare i valori della chiave client e dei secret corretti per l'app sviluppatore associata al proxy. In genere, questi valori vengono inviati come intestazione Basic Authorization con codifica Base64.

Nota: in questo caso, questo errore si chiamava invalid_client. Ti consigliamo di modificare le condizioni della regola di errore esistente per rilevare sia i nomi invalid_client che InvalidClientIdentifier. Per saperne di più e per un esempio, consulta le note di rilascio del 16/09/21.

GeneraAccessToken
AggiornaAccessToken

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 <ExpiresIn>, i valori validi sono numeri interi positivi e -1.

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 <Operation>.

Nota: se l'elemento <Operation> non è presente, l'interfaccia utente genera un errore di convalida dello schema.

InvalidOperation

Devi specificare un'operazione valida in questo criterio utilizzando l'elemento <Operation>.

Nota: se l'elemento <Operation> non è valido, l'interfaccia utente genera un errore di convalida dello schema.

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: keymanagement.service
Ad esempio: keymanagement.service.invalid_access_token

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.

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.
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.

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>.
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.
policies.ratelimit.InvalidMessageWeight 500 Si verifica se il valore dell'elemento <MessageWeight> specificato tramite una variabile di flusso non è valido (un valore non intero).
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.
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.
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.
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.
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.
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.
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.
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.

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.
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.
policies.resetquota.FailedToResolveRLPolicy 500 La variabile a cui viene fatto riferimento dall'attributo ref nell'elemento <Quota> non può essere risolta.

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.

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}
Prefisso duplicato RegularExpressionProtection{0}: prefisso duplicato {1}
Vuoto JSONPathExpression RegularExpressionProtection{0}: espressione JSONPath vuota
Vuota XPath Express RegularExpressionProtection{0}: espressione XPath vuota
Espressione regolare non valida RegularExpressionProtection{0}: espressione regolare non valida {1}, contesto {2}
JSONPathCompilationNon riuscito RegularExpressionProtection{0}: impossibile compilare jsonpath {1}. Contesto {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection{0}: non è possibile mappare un prefisso non vuoto a un URI vuoto
Nessun pattern da applicare RegularExpressionProtection{0}: nessun pattern da applicare in {1}
Nessuna applicazione RegularExpressionProtection{0}: almeno uno tra URIPath, QueryParam, Header, FormParam, XMLPayload e JSONPayload è obbligatorio
Creazione XPath non riuscita RegularExpressionProtection{0}: impossibile compilare xpath {1}. Contesto {2}

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 <Source> del criterio è:

  • fuori dall'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • o
  • non può essere risolto (non è definito).
steps.messagevalidation.NonMessageVariable 500

Questo errore si verifica se l'elemento <Source> nel criterio SOAPMessageValidation è impostato su una variabile diversa dal tipo message.

Le variabili dei tipi di messaggi rappresentano intere richieste e risposte HTTP. Le variabili di flusso integrate request, response e message sono di tipo messaggio. Per ulteriori informazioni sulle variabili, consulta il riferimento alle variabili.

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.

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.
ResourceCompileFailed Lo script di risorse a cui viene fatto riferimento nell'elemento <ResourceURL> del criterio SOAPMessageValidation contiene un errore che ne impedisce la compilazione.
RootElementNameUnspecified L'elemento <Element> nel criterio SOAPMessageValidation non contiene il nome dell'elemento principale.
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.

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>.
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.
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.
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.
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.

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:

  • Viene richiesto di gestire l'input con formato non corretto o non valido.
  • il servizio di destinazione backend restituisce uno stato di errore (per impostazione predefinita, 4xx o 5xx).
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.
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.

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.
ConnectionInfoMissing Questo errore si verifica se il criterio non ha un elemento <HTTPTargetConnection> o <LocalTargetConnection>.
InvalidTimeoutValue Questo errore si verifica se il valore <Timeout> è negativo o uguale a zero.

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.
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).
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.

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.
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.
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.

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.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

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.
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.
MissingNameForAdditionalClaim Se il nome della dichiarazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims>, il deployment non andrà a buon fine.
InvalidNameForAdditionalHeader Questo errore si verifica quando il nome della dichiarazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è alg o typ.
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.
InvalidValueOfArrayAttribute Questo errore si verifica quando il valore dell'attributo array nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> non è impostato su true o false.
InvalidValueForElement Se il valore specificato nell'elemento <Algorithm> non è supportato, il deployment non andrà a buon fine.
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.
InvalidKeyConfiguration Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey>, il deployment non andrà a buon fine.
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.
InvalidConfigurationForVerify Questo errore si verifica se l'elemento <Id> è definito all'interno dell'elemento <SecretKey>.
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.
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à.
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à.

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

Codici di errore delle norme JWT

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.
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.
steps.xmlthreatprotection.SourceUnavailable 500 Questo errore si verifica se la variabile di messaggio specificata nell'elemento <Source> è:
  • Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio)
  • Non è uno dei valori validi request, response o message
steps.xmlthreatprotection.NonMessageVariable 500 Questo errore si verifica se l'elemento <Source> è impostato su una variabile che non è di tipo message.

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.
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.
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.
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.
steps.xmltojson.SourceUnavailable 500 Questo errore si verifica se la variabile message specificata nell'elemento <Source> del criterio XML to JSON è:
  • fuori dall'ambito (non disponibile nel flusso specifico in cui è in esecuzione il criterio) oppure
  • non può essere risolto (non è definito).

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.
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.

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).
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.

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.
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.