Riferimento agli errori dei criteri

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Criterio di controllo degli accessi

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
accesscontrol.IPDeniedAccess 403 L'indirizzo IP client o un indirizzo IP trasmesso nella richiesta API corrisponde a un indirizzo IP specificato nell'elemento <SourceAddress> all'interno dell'elemento <MatchRule> del criterio di controllo dell'accesso e l'attributo action dell'elemento <MatchRule> è impostato su DENY.
accesscontrol.InvalidIPAddressInVariable 500 La variabile di flusso in <ClientIPVariable> contiene un indirizzo IP non valido.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per saperne di più, consulta Variabili specifiche per gli errori delle norme.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. acl.AC-AllowAccess.failed = true

Esempio di risposta di errore

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"steps.accesscontrol.IPDeniedAccess"
      }
   }
}

Esempio di regola di errore

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>

Criterio AccessEntity

Per informazioni correlate, consulta gli articoli Cosa devi sapere sugli errori relativi ai criteri e Gestione degli errori.

Errori di runtime

Nessuno.

Errori di deployment

Nome errore Stringa di errore Stato HTTP Si verifica quando
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] N/A Il tipo di entità utilizzato deve essere uno dei tipi supportati.

Criterio di AttributionMessage

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.assignmessage.SetVariableFailed 500 Il criterio non è stato in grado di impostare una variabile. Controlla la stringa di errore per trovare il nome della variabile non risolta.
steps.assignmessage.VariableOfNonMsgType 500

Questo errore si verifica se l'attributo source nell'elemento <Copy> è impostato su una variabile non di tipo message.

Le variabili del tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Apigee integrate request, response e message sono di tipo messaggio. Per scoprire di più sulle variabili messaggio, consulta la documentazione di riferimento sulle variabili.

steps.assignmessage.UnresolvedVariable 500

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

  • Fuori 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 AssignMessage è 0 o è un numero negativo, il deployment del proxy API non va a buon fine.
InvalidVariableName Se l'elemento secondario <Name> è vuoto o non è specificato nell'elemento <AssignVariable>, il deployment del proxy API non riesce perché non esiste un nome di variabile valido a cui assegnare un valore. È richiesto un nome di variabile valido.
InvalidPayload Un payload specificato nel criterio non è valido.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.

Variabili Dove Esempio
fault.name="FAULT_NAME" FAULT_NAME è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "UnresolvedVariable"
assignmessage.POLICY_NAME.failed POLICY_NAME è il nome specificato dall'utente del criterio che ha generato l'errore. assignmessage.AM-SetResponse.failed = true

Esempio di risposta di errore

{
   "fault":{
      "detail":{
         "errorcode":"steps.assignmessage.VariableOfNonMsgType"
      },
      "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message"
   }
}

Esempio di regola di errore

<FaultRule name="Assign Message Faults">
    <Step>
        <Name>AM-CustomNonMessageTypeErrorResponse</Name>
        <Condition>(fault.name Matches "VariableOfNonMsgType") </Condition>
    </Step>
    <Step>
        <Name>AM-CustomSetVariableErrorResponse</Name>
        <Condition>(fault.name = "SetVariableFailed")</Condition>
    </Step>
    <Condition>(assignmessage.failed = true) </Condition>
</FaultRule>

Criterio BasicAuthentication

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.basicauthentication.InvalidBasicAuthenticationSource 500 In una decodifica quando la stringa codificata Base64 in arrivo non contiene un valore valido o l'intestazione non è nel formato corretto (ad esempio, non inizia con Basic).
steps.basicauthentication.UnresolvedVariable 500 Le variabili di origine richieste per la decodifica o la codifica non sono presenti. Questo errore può verificarsi solo se IgnoreUnresolvedVariables è falso.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Si verifica quando Correggi
UserNameRequired L'elemento <User> deve essere presente per l'operazione con nome.
PasswordRequired L'elemento <Password> deve essere presente per l'operazione con nome.
AssignToRequired L'elemento <AssignTo> deve essere presente per l'operazione con nome.
SourceRequired L'elemento <Source> deve essere presente per l'operazione con nome.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. BasicAuthentication.BA-Authenticate.failed = true

Esempio di risposta di errore

{
   "fault":{
      "detail":{
         "errorcode":"steps.basicauthentication.UnresolvedVariable"
      },
      "faultstring":"Unresolved variable : request.queryparam.password"
   }
}

Esempio di regola di errore

<FaultRule name="Basic Authentication Faults">
    <Step>
        <Name>AM-UnresolvedVariable</Name>
        <Condition>(fault.name Matches "UnresolvedVariable") </Condition>
    </Step>
    <Step>
        <Name>AM-AuthFailedResponse</Name>
        <Condition>(fault.name = "InvalidBasicAuthenticationSource")</Condition>
    </Step>
    <Condition>(BasicAuthentication.BA-Authentication.failed = true) </Condition>
</FaultRule>

Criterio DecodeJWS

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Si verifica quando
steps.jws.FailedToDecode 401 Il criterio non è stato in grado di decodificare il JWS. Il JWS potrebbe essere danneggiato.
steps.jws.FailedToResolveVariable 401 Si verifica quando la variabile di flusso specificata nell'elemento <Source> del criterio non esiste.
steps.jws.InvalidClaim 401 Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione.
steps.jws.InvalidJsonFormat 401 JSON non valido trovato nell'intestazione JWS.
steps.jws.InvalidJws 401 Questo errore si verifica quando la verifica della firma JWS non va a buon fine.
steps.jws.InvalidPayload 401 Il payload JWS non è valido.
steps.jws.InvalidSignature 401 <DetachedContent> viene omesso e il JWS ha un payload di contenuti scollegato.
steps.jws.MissingPayload 401 Payload JWS mancante.
steps.jws.NoAlgorithmFoundInHeader 401 Si verifica quando il JWS omette l'intestazione dell'algoritmo.
steps.jws.UnknownException 401 Si è verificata un'eccezione sconosciuta.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Si verifica quando
InvalidAlgorithm Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "TokenExpired"
JWS.failed Tutti i criteri JWS impostano la stessa variabile in caso di errore. jws.JWS-Policy.failed = true

Esempio di risposta di errore

Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

Esempio di regola di errore

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Criterio DecodeJWT

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.jwt.FailedToDecode 401 Si verifica quando il criterio non è in grado di decodificare il JWT. Il JWT potrebbe non essere valido, non valido o non può essere decodificato.
steps.jwt.FailedToResolveVariable 401 Si verifica quando la variabile di flusso specificata nell'elemento <Source> del criterio non esiste.
steps.jwt.InvalidToken 401 Si verifica quando la variabile di flusso specificata nell'elemento <Source> del criterio non rientra nell'ambito di applicazione o non può essere risolta.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidEmptyElement Si verifica quando la variabile di flusso contenente il JWT da decodifica non è specificata nell'elemento <Source> del criterio.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "InvalidToken"
JWT.failed Tutti i criteri JWT impostano la stessa variabile in caso di errore. JWT.failed = true

Esempio di risposta di errore

Codici di errore dei criteri JWT

Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

Esempio di regola di errore

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "InvalidToken")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Norme ExtractVariables

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.extractvariables.ExecutionFailed 500

Questo errore si verifica quando:

  • Il payload di input (JSON, XML) è vuoto.
  • L'input (JSON, XML e così via) passato al criterio non è valido o non è valido.
steps.extractvariables.ImmutableVariable 500 Una variabile utilizzata nel criterio è immutabile. Il criterio non è stato in grado di impostare questa variabile. N/A
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 riesce a impostare il valore su una variabile. L'errore in genere si verifica se tenti di assegnare valori a più variabili i cui nomi iniziano con le stesse parole in un formato nidificato e separato da punti.
steps.extractvariables.SourceMessageNotAvailable 500 Questo errore si verifica se la variabile message specificata nell'elemento Source del criterio è:
  • Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio) oppure
  • Non può essere risolto (non è definito)
steps.extractvariables.UnableToCast 500 Questo errore si verifica se il criterio non è riuscito a trasmettere il valore estratto a una variabile. In genere questo accade se tenti di impostare il valore di un tipo di dati su una variabile di un altro tipo di dati.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
NothingToExtract Se il criterio non contiene alcun elemento URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload, il deployment del proxy API non va a buon fine perché non c'è nulla da estrarre.
NONEmptyPrefixMappedToEmptyURI Questo errore si verifica se il criterio ha un prefisso definito nell'elemento Namespace all'interno dell'elemento XMLPayload, ma non è definito alcun URI.
DuplicatePrefix Questo errore si verifica se il criterio ha lo stesso prefisso definito più di una volta nell'elemento Namespace dell'elemento XMLPayload.
NoXPathsToEvaluate Se il criterio non contiene l'elemento XPath all'interno dell'elemento XMLPayload, il deployment del proxy API non riesce e genera questo errore.
EmptyXPathExpression Se il criterio ha un'espressione XPath vuota all'interno dell'elemento XMLPayload, il deployment del proxy API non va a buon fine.
NoJSONPathsToEvaluate Se il criterio non contiene l'elemento JSONPath all'interno dell'elemento JSONPayload, il deployment del proxy API non riesce e genera questo errore.
EmptyJSONPathExpression Se il criterio ha un'espressione XPath vuota all'interno dell'elemento XMLPayload, il deployment del proxy API non va a buon fine.
MissingName Se il criterio non ha l'attributo name in nessuno degli elementi del criterio, ad esempio QueryParam, Header, FormParam o Variable, ove richiesto, il deployment del proxy API non andrà a buon fine.
PatternWithoutVariable Se il criterio non ha una variabile specificata all'interno dell'elemento Pattern, il deployment del proxy API non va a buon fine. L'elemento Pattern richiede il nome della variabile in cui verranno archiviati i dati estratti.
CannotBeConvertedToNodeset Se il criterio ha un'espressione XPath in cui il tipo Variable è definito come nodeset, ma l'espressione non può essere convertita in nodeset, il deployment del proxy API non riesce.
JSONPathCompilationFailed Il criterio non ha potuto compilare un percorso JSON specificato. N/A
InstantiationFailed Impossibile creare un'istanza del criterio. N/A
XPathCompilationFailed Se il prefisso o il valore utilizzato nell'elemento XPath non fa parte di nessuno degli spazi dei nomi dichiarati nel criterio, il deployment del proxy API non va a buon fine.
InvalidPattern Se la definizione dell'elemento Pattern non è valida in uno qualsiasi degli elementi come URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload all'interno del criterio, il deployment del proxy API non va a buon fine.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. extractvariables.EV-ParseJsonResponse.failed = true

Esempio di risposta di errore

{
   "fault":{
      "detail":{
         "errorcode":"steps.extractvariables.SourceMessageNotAvailable"
      },
      "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse"
   }
}

Esempio di regola di errore

<FaultRule name="Extract Variable Faults">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name = "SourceMessageNotAvailable") </Condition>
    </Step>
    <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition>
</FaultRule>

Criterio GeneraJWS

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Si verifica quando
steps.jws.GenerationFailed 401 Il criterio non è stato in grado di generare il JWS.
steps.jws.InsufficientKeyLength 401 Per una chiave di dimensioni inferiori a 32 byte per l'algoritmo HS256
steps.jws.InvalidClaim 401 Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione.
steps.jws.InvalidCurve 401 La curva specificata dalla chiave non è valida per l'algoritmo Curva ellittica.
steps.jws.InvalidJsonFormat 401 JSON non valido trovato nell'intestazione JWS.
steps.jws.InvalidPayload 401 Il payload JWS non è valido.
steps.jws.InvalidSignature 401 <DetachedContent> viene omesso e il JWS ha un payload di contenuti scollegato.
steps.jws.KeyIdMissing 401 Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione.
steps.jws.KeyParsingFailed 401 Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate.
steps.jws.MissingPayload 401 Payload JWS mancante.
steps.jws.NoAlgorithmFoundInHeader 401 Si verifica quando il JWS omette l'intestazione dell'algoritmo.
steps.jws.SigningFailed 401 In CreateJWS, per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512
steps.jws.UnknownException 401 Si è verificata un'eccezione sconosciuta.
steps.jws.WrongKeyType 401 Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave curva per un algoritmo RSA.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Si verifica quando
InvalidAlgorithm Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "TokenExpired"
JWS.failed Tutti i criteri JWS impostano la stessa variabile in caso di errore. jws.JWS-Policy.failed = true

Esempio di risposta di errore

Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

Esempio di regola di errore

<FaultRules>
    <FaultRule name="JWS Policy Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "TokenExpired")</Condition>
        </Step>
        <Condition>JWS.failed=true</Condition>
    </FaultRule>
</FaultRules>

Criterio GeneraJWT

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Si verifica quando
steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Si verifica quando il criterio di verifica ha più algoritmi.
steps.jwt.AlgorithmMismatch 401 L'algoritmo specificato nel criterio di generazione non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere.
steps.jwt.EncryptionFailed 401 Creazione di un JWT criptato non riuscita per un motivo non specifico
steps.jwt.FailedToDecode 401 Il criterio non è stato in grado di decodificare il JWT. Il JWT potrebbe essere danneggiato.
steps.jwt.GenerationFailed 401 Il criterio non è stato in grado di generare il JWT.
steps.jwt.InsufficientKeyLength 401 Per una chiave di dimensioni inferiori a 32 byte per l'algoritmo HS256, a meno di 48 byte per l'algoritmo HS386 e a meno di 64 byte per l'algoritmo HS512.
steps.jwt.InvalidClaim 401 Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione.
steps.jwt.InvalidConfiguration 401 Sono presenti entrambi gli elementi <Algorithm> e <Algorithms>.
steps.jwt.InvalidCurve 401 La curva specificata dalla chiave non è valida per l'algoritmo Curva ellittica.
steps.jwt.InvalidJsonFormat 401 JSON non valido trovato nell'intestazione o nel payload.
steps.jwt.InvalidPasswordKey 401 La chiave specificata specificata non soddisfa i requisiti.
steps.jwt.InvalidPrivateKey 401 La chiave specificata specificata non soddisfa i requisiti.
steps.jwt.InvalidPublicKey 401 La chiave specificata specificata non soddisfa i requisiti.
steps.jwt.InvalidSecretKey 401 La chiave specificata specificata non soddisfa i requisiti.
steps.jwt.InvalidToken 401 Questo errore si verifica quando la verifica della firma JWT non va a buon fine.
steps.jwt.JwtAudienceMismatch 401 La rivendicazione del segmento di pubblico non è riuscita alla verifica del token.
steps.jwt.JwtIssuerMismatch 401 La rivendicazione dell'emittente non è andata a buon fine durante la verifica del token.
steps.jwt.JwtSubjectMismatch 401 La rivendicazione dell'oggetto non è andata a buon fine durante la verifica del token.
steps.jwt.KeyIdMissing 401 Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il JWT firmato non include una proprietà kid nell'intestazione.
steps.jwt.KeyParsingFailed 401 Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate.
steps.jwt.NoAlgorithmFoundInHeader 401 Si verifica quando il JWT non contiene un'intestazione dell'algoritmo.
steps.jwt.NoMatchingPublicKey 401 Il criterio di verifica utilizza un JWKS come origine per le chiavi pubbliche, ma il kid nel JWT firmato non è elencato nel JWKS.
steps.jwt.SigningFailed 401 In GenerateJWT, per una chiave di dimensioni inferiori alla dimensione minima per gli algoritmi HS384 o HS512
steps.jwt.TokenExpired 401 Il criterio tenta di verificare un token scaduto.
steps.jwt.TokenNotYetValid 401 Il token non è ancora valido.
steps.jwt.UnhandledCriticalHeader 401 Un'intestazione trovata dal criterio JWT di verifica nell'intestazione crit non è elencata in KnownHeaders.
steps.jwt.UnknownException 401 Si è verificata un'eccezione sconosciuta.
steps.jwt.WrongKeyType 401 Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave curva per un algoritmo RSA.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidNameForAdditionalClaim Il deployment non andrà a buon fine se la dichiarazione utilizzata nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è uno dei seguenti nomi registrati: kid, iss, sub, aud, iat, exp, nbf o jti.
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 richiesta non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims>, il deployment non andrà a buon fine.
InvalidNameForAdditionalHeader Questo errore si verifica quando il nome dell'attestazione utilizzata nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> è alg o typ.
InvalidTypeForAdditionalHeader Se il tipo di attestazione utilizzato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims> non è di tipo string, number, boolean o map, il deployment non andrà a buon fine.
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 della famiglia HS o l'elemento <SecretKey> con gli algoritmi della famiglia RSA, il deployment non andrà a buon fine.
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 della famiglia RSA o se l'elemento <SecretKey> non viene utilizzato con gli algoritmi della famiglia 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 andrà a buon fine.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "InvalidToken"
JWT.failed Tutti i criteri JWT impostano la stessa variabile in caso di errore. JWT.failed = true

Esempio di risposta di errore

Codici di errore dei criteri JWT

Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

Esempio di regola di errore

    <FaultRules>
        <FaultRule name="JWT Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "InvalidToken")</Condition>
            </Step>
            <Condition>JWT.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

Norme relative ai callout Java

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.javacallout.ExecutionError 500 Si verifica quando il codice Java genera un'eccezione o restituisce null durante l'esecuzione di un JavaCallout policy.

Errori di deployment

Questi errori possono verificarsi quando viene eseguito il deployment del proxy che contiene il criterio.

Nome errore Stringa di errore Stato HTTP Si verifica quando
ResourceDoesNotExist Resource with name [name] and type [type] does not exist N/A Il file specificato nell'elemento <ResourceURL> non esiste.
JavaCalloutInstantiationFailed Failed to instantiate the JavaCallout Class [classname] N/A Il file della classe specificato nell'elemento <ClassName> non è nel file jar.
IncompatibleJavaVersion Failed to load java class [classname] definition due to - [reason] N/A Vedi stringa di errore. Le versioni Java supportate includono: Oracle JDK 7/8 e OpenJDK 7/8
JavaClassNotFoundInJavaResource Failed to find the ClassName in java resource [jar_name] - [class_name] N/A Vedi stringa di errore.
JavaClassDefinitionNotFound Failed to load java class [class_name] definition due to - [reason] N/A Vedi stringa di errore.
NoAppropriateConstructor No appropriate constructor found in JavaCallout class [class_name] N/A Vedi stringa di errore.
NoResourceForURL Could not locate a resource with URL [string] N/A Vedi stringa di errore.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "ExecutionError"
javacallout.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. javacallout.JC-GetUserData.failed = true

Esempio di risposta di errore

{
   "fault":{
      "faultstring":"Failed to execute JavaCallout. [policy_name]",
      "detail":{
         "errorcode":"javacallout.ExecutionError"
      }
   }
}

Esempio di regola di errore

<FaultRule name="JavaCalloutFailed">
    <Step>
        <Name>AM-JavaCalloutError</Name>
    </Step>
    <Condition>(fault.name Matches "ExecutionError") </Condition>
</FaultRule>

Norme JavaScript

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.javascript.ScriptExecutionFailed 500 Il criterio JavaScript può generare molti tipi diversi di errori ScriptExecutionFailed. I tipi di errori più comuni includono RangeError, ReferenceError, SyntaxError, TypeError ed URIError.
steps.javascript.ScriptExecutionFailedLineNumber 500 Si è verificato un errore nel codice JavaScript. Consulta la stringa dell'errore per i dettagli. N/A
steps.javascript.ScriptSecurityError 500 Si è verificato un errore di sicurezza durante l'esecuzione di JavaScript. Consulta la stringa di errore per i dettagli. N/A

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidResourceUrlFormat Se il formato dell'URL della risorsa specificato nell'elemento <ResourceURL> o <IncludeURL> del criterio JavaScript non è valido, il deployment del proxy API non va a buon fine.
InvalidResourceUrlReference Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file JavaScript che non esiste, il deployment del proxy API non riesce. Il file di origine di riferimento deve esistere a livello di organizzazione, proxy API o ambiente.
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> è obbligatorio. In alternativa, viene dichiarato l'elemento <IncludeURL>, ma l'URL della risorsa non è definito all'interno di questo elemento. L'elemento <IncludeURL> è facoltativo, ma, se dichiarato, l'URL della risorsa deve essere specificato all'interno dell'elemento <IncludeURL>.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "ScriptExecutionFailed"
javascript.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. javascript.JavaScript-1.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"",
    "detail": {
      "errorcode": "steps.javascript.ScriptExecutionFailed"
    }
  }
}

Esempio di regola di errore

<FaultRule name="JavaScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(javascript.JavaScript-1.failed = true) </Condition>
</FaultRule>

Criterio JSONThreatProtection

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.jsonthreatprotection.ExecutionFailed 500 Il criterio JSONThreatProtection può generare molti tipi diversi di errori ExecutionFailed. La maggior parte di questi errori si verifica quando viene superata una soglia specifica impostata nel criterio. Questi tipi di errori includono: lunghezza del nome della voce di oggetto, conteggio delle voci dell'oggetto, conteggio degli elementi dell'array, profondità del container, lunghezza del valore della stringa stringa. Questo errore si verifica anche quando il payload contiene un oggetto JSON non valido.
steps.jsonthreatprotection.SourceUnavailable 500 Questo errore si verifica se la variabile message 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 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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "SourceUnavailable"
jsonattack.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. jsonattack.JTP-SecureRequest.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
    "detail": {
      "errorcode": "steps.jsonthreatprotection.ExecutionFailed"
    }
  }
}

Esempio di regola di errore

<FaultRule name="JSONThreatProtection Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ExecutionFailed") </Condition>
    </Step>
    <Condition>(jsonattack.JPT-SecureRequest.failed = true) </Condition>
</FaultRule>

I tipi di criteri JSONThreatProtection definiscono i seguenti codici di errore:

Criterio JSONtoXML

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.jsontoxml.ExecutionFailed 500 Il payload di input (JSON) è vuoto oppure l'input (JSON) passato al criterio JSON al criterio XML non è valido o è in un formato non valido.
steps.jsontoxml.InCompatibleTypes 500 Questo errore si verifica se il tipo della variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> non corrispondono. È obbligatorio che il tipo di variabili contenute all'interno dell'elemento <Source> e dell'elemento <OutputVariable> corrisponda. I tipi validi sono message e string.
steps.jsontoxml.InvalidSourceType 500 Questo errore si verifica se il tipo della variabile utilizzata per definire l'elemento <Source> non è valido. I tipi di variabile validi sono message e string.
steps.jsontoxml.OutputVariableIsNotAvailable 500 Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio da JSON a XML è di tipo stringa e l'elemento <OutputVariable> non è definito. L'elemento <OutputVariable> è obbligatorio quando la variabile definita nell'elemento <Source> è di tipo stringa.
steps.jsontoxml.SourceUnavailable 500 Questo errore si verifica se la variabile message specificata nell'elemento <Source> del criterio da JSON a XML è:
  • Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito 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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. jsontoxml.JSON-to-XML-1.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
    "detail": {
      "errorcode": "steps.json2xml.SourceUnavailable"
    }
  }
}

Esempio di regola di errore

<FaultRule name="JSON To XML Faults">
    <Step>
        <Name>AM-SourceUnavailableMessage</Name>
        <Condition>(fault.name Matches "SourceUnavailable") </Condition>
    </Step>
    <Step>
        <Name>AM-BadJSON</Name>
        <Condition>(fault.name = "ExecutionFailed")</Condition>
    </Step>
    <Condition>(jsontoxml.JSON-to-XML-1.failed = true) </Condition>
</FaultRule>

Norme KeyValueMapOperations

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.keyvaluemapoperations.UnsupportedOperationException 500

Questo errore si verifica se l'attributo mapIdentifier viene impostato sulla stringa vuota nel criterio KeyValueMapOperations.

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 KeyValueMapOperations è zero o un numero negativo, il deployment del proxy API non riesce. L'indice inizia da 1, pertanto un indice pari a zero o un numero intero negativo viene considerato non valido.
KeyIsMissing Questo errore si verifica se l'elemento <Key> è completamente mancante o se manca l'elemento <Parameter> all'interno dell'elemento <Key> sotto <Entry> dell'elemento <InitialEntries> del criterio KeyValueMapOperations.
ValueIsMissing Questo errore si verifica se l'elemento <Value> non è presente sotto l'elemento <Entry> dell'elemento <InitialEntries> del criterio KeyValueMapOperations.

Criterio di MessageLogging

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa
steps.messagelogging.StepDefinitionExecutionFailed 500 Vedi stringa di errore.
steps.messagelogging.InvalidGoogleCloudLogName 500 Questo errore viene generato quando LogName non restituisce il formato valido di projects/{project}/logs/{logid}.
steps.messagelogging.InvalidJsonMessage 500 Questo errore viene visualizzato quando il valore dell'attributo contentType è stato scelto come application/json, ma il valore effettivo del messaggio non è una stringa JSON valida.
steps.messagelogging.TooManyPendingLoggingRequest 500 Questo errore viene generato quando sono presenti più di 2500 richieste in attesa ancora da scritte in Cloud Logging. Il limite di 2500 è per ogni pod di runtime Apigee. Ad esempio, se il traffico viene distribuito su due istanze dei pod di runtime Apigee, il limite effettivo è di 5000 richieste.
-

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidProtocol Il deployment del criterio MessageLogging può non riuscire con questo errore se il protocollo specificato nell'elemento <Protocol> non è valido. I protocolli validi sono TCP e UDP. Per l'invio di messaggi syslog su TLS/SSL è supportato solo il protocollo TCP.
InvalidPort Il deployment del criterio MessageLogging può non riuscire con questo errore se il numero di porta non è specificato nell'elemento <Port> o se non è valido. Il numero di porta deve essere un numero intero maggiore di zero.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. messagelogging.ML-LogMessages.failed = true

Esempio di risposta di errore

{
   "fault":{
      "detail":{
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

Esempio di regola di errore

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>

Criteri di OASValidation

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa
steps.oasvalidation.Failed 400 Il corpo del messaggio della richiesta non può essere convalidato in base alla specifica OpenAPI fornita.
steps.oasvalidation.Failed 500 Il corpo del messaggio di risposta non può essere convalidato in base alla specifica OpenAPI fornita.
steps.oasvalidation.SourceMessageNotAvailable 500

La variabile specificata nell'elemento <Source> del criterio non rientra nell'ambito o non può essere risolta.

steps.oasvalidation.NonMessageVariable 500

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

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa
ResourceDoesNotExist La specifica OpenAPI a cui viene fatto riferimento nell'elemento <OASResource> non esiste.
ResourceCompileFailed La specifica OpenAPI inclusa nel deployment contiene errori che ne impediscono la compilazione. In genere, ciò indica che la specifica non è una specifica OpenAPI 3.0 ben strutturata.
BadResourceURL Impossibile elaborare la specifica OpenAPI a cui viene fatto riferimento nell'elemento <OASResource>. Questo può accadere se il file non è un file JSON o YAML oppure se l'URL del file non è specificato correttamente.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.

Variabile Descrizione Esempio
fault.category La categoria dell'errore. Quando il criterio rifiuta una richiesta, viene sempre conservato Step. fault.category = "Step"
fault.name Il nome dell'errore, indicato nella precedente tabella Errori di runtime. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "ResourceDoesNotExist"
fault.reason Il motivo dell'errore. Si tratta di una stringa leggibile che spiega il motivo dell'errore. OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]"
fault.subcategory La sottocategoria del guasto. Quando il criterio rifiuta una richiesta, viene sempre conservato OASValidationFailure. fault.subcategory = "OASValidationFailure"
OASValidation.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. OASValidation.myoaspolicy.failed = true

Criterio PopulateCache

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Si verifica quando
policies.populatecache.EntryCannotBeCached 500 Una voce non può essere memorizzata nella cache. L'oggetto del messaggio che viene memorizzato nella cache non è un'istanza di una classe Serializable.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidCacheResourceReference Questo errore si verifica se l'elemento <CacheResource> nel criterio PopulateCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. populatecache.POP-CACHE-1.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "[entry] can not be cached. Only serializable entries are cached.",
    "detail": {
      "errorcode": "steps.populatecache.EntryCannotBeCached"
    }
  }
}

Esempio di regola di errore

<FaultRule name="Populate Cache Fault">
    <Step>
        <Name>AM-EntryCannotBeCached</Name>
        <Condition>(fault.name Matches "EntryCannotBeCached") </Condition>
    </Step>
    <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition>
</FaultRule>

Criterio LookupCache

Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Prefisso codice di errore

N/A

Errori di runtime

Questo criterio non genera errori di runtime.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidCacheResourceReference Questo errore si verifica se l'elemento <CacheResource> è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
InvalidTimeout Se l'elemento <CacheLookupTimeoutInSeconds> è impostato su un numero negativo, il deployment del proxy API non va a buon fine.
CacheNotFound Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata su un componente specifico dell'processore di messaggi.

Variabili di errore

N/A

Esempio di risposta di errore

N/A

Criterio InvalidateCache

Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Prefisso codice di errore

N/A

Errori di runtime

Questo criterio non genera errori di runtime.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidCacheResourceReference Questo errore si verifica se l'elemento <CacheResource> nel criterio InvalidateCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
CacheNotFound Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata su un componente specifico dell'processore di messaggi.

Variabili di errore

N/A

Esempio di risposta di errore

N/A

Criterio ResponseCache

Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Prefisso codice di errore

N/A

Errori di runtime

Questo criterio non genera errori di runtime.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidTimeout Se l'elemento <CacheLookupTimeoutInSeconds> del criterio ResponseCache viene impostato su un numero negativo, il deployment del proxy API non va a buon fine.
InvalidCacheResourceReference Questo errore si verifica se l'elemento <CacheResource> in un criterio ResponseCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
ResponseCacheStepAttachmentNotAllowedReq Questo errore si verifica se lo stesso criterio ResponseCache è associato a più percorsi di richiesta all'interno di qualsiasi flusso di un proxy API.
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 un componente specifico dell'processore di messaggi.

Variabili di errore

N/A

Esempio di risposta di 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 Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Generata dalle operazioni
steps.oauth.v2.access_token_expired 401 Il token di accesso è scaduto.

VerifyAccessToken
InvalidateToken

steps.oauth.v2.access_token_not_approved 401 Il token di accesso è stato revocato. VerifyAccessToken
steps.oauth.v2.apiresource_doesnot_exist 401 La risorsa richiesta non esiste nessuno dei prodotti API associati al token di accesso. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 Il criterio dovrebbe trovare un token di accesso in una variabile specificata nell'elemento <AccessToken>, ma non è stato possibile risolvere la variabile. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 Il criterio dovrebbe trovare un codice di autorizzazione in una variabile specificata nell'elemento <Code>, ma non è stato possibile risolvere la variabile. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 Il criterio prevedeva di trovare l'ID client in una variabile specificata nell'elemento <ClientId>, ma non è stato possibile risolvere la variabile. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 Il criterio dovrebbe trovare un token di aggiornamento in una variabile specificata nell'elemento <RefreshToken>, ma non è stato possibile risolvere la variabile. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 Il criterio dovrebbe trovare un token in una variabile specificata nell'elemento <Tokens>, ma non è stato possibile risolvere la variabile.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 Il token di accesso presentato nella richiesta ha un ambito che non corrisponde a quello specificato nel criterio relativo alla verifica del token di accesso. Per ulteriori informazioni sull'ambito, vedi Utilizzo degli ambiti OAuth2. VerifyAccessToken
steps.oauth.v2.invalid_access_token 401 Il token di accesso inviato dal client non è valido. VerifyAccessToken
steps.oauth.v2.invalid_client 401

Questo nome di errore viene restituito quando la proprietà <GenerateResponse> del criterio viene impostata su true e l'ID client inviato nella richiesta non è valido. Assicurati di utilizzare la chiave client e i valori secret corretti per l'app per sviluppatori associata al tuo proxy. In genere, questi valori vengono inviati come intestazione di autorizzazione di base codificata in Base64.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.invalid_request 400 Questo nome di errore viene utilizzato per diversi tipi di errori, in genere per parametri mancanti o errati inviati nella richiesta. Se <GenerateResponse> è impostato su false, utilizza le variabili di errore (descritte di seguito) per recuperare i dettagli dell'errore, come il nome e la causa dell'errore. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 L'intestazione di autorizzazione non contiene la parola Bearer, che è obbligatoria. Ad esempio: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNo\
ApiProductMatchFound
401

L'operazione o il proxy API attualmente in esecuzione non si trova nel prodotto associato al token di accesso.

Suggerimenti: assicurati che il prodotto associato al token di accesso sia configurato correttamente. Ad esempio, se utilizzi caratteri jolly nei percorsi delle risorse, assicurati che vengano utilizzati correttamente. Per i dettagli, consulta la sezione Gestione dei prodotti basati su API.

Consulta anche La verifica del token di accesso Oauth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza apiproduct" per ulteriori indicazioni sulle cause di questo errore.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

Questo nome di errore viene restituito quando la proprietà <GenerateResponse> del criterio viene impostata su false e l'ID client inviato nella richiesta non è valido. Assicurati di utilizzare la chiave client e i valori secret corretti per l'app per sviluppatori associata al proxy. In genere, questi valori vengono inviati come intestazione di autorizzazione di base codificata in Base64.

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter 500 Il criterio deve specificare un token di accesso o un codice di autorizzazione, ma non entrambi. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 L'elemento <Tokens>/<Token> richiede di specificare il tipo di token (ad esempio, refreshtoken). Se il client trasmette il tipo sbagliato, viene visualizzato questo errore. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 Il tipo di risposta è token, ma non è specificato alcun tipo di autorizzazione. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

Il client ha specificato un tipo di autorizzazione non supportato dal criterio (non elencato nell'elemento <SupportedGrantTypes>).

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

Errori di runtime specifici del token JWT

I codici degli errori di runtime e le descrizioni per i flussi di token di autenticazione JWT dipendono dal contesto del flusso OAuth2:

Codici di errore per i flussi di aggiornamento e generazione di token JWT

Per i flussi OAuth2 che generano o aggiornano token JWT, le risposte di errore rispettano le risposte di errore specificate in RFC6749. Per maggiori dettagli, consulta la Sezione 5.2 Risposta all'errore.

Codici di errore per il flusso di verifica del token

I codici di errore elencati nella tabella seguente si applicano solo all'operazione VerificationAccessToken.

Codice di errore Stato HTTP Causa Generata dalle operazioni
oauth.v2.JWTSigningFailed 401 Il criterio non è stato in grado di firmare il JWT.

GenerateJWTAccessToken

oauth.v2.InvalidValueForJWTAlgorithm 401 Questo si verifica quando l'algoritmo non è presente nel token di accesso JWT o quando il valore non è supportato.

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.InsufficientKeyLength 401 In Generazione di JWT, per una chiave inferiore alla dimensione minima per gli algoritmi HS384 o HS512

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.JWTAlgorithmMismatch 401 L'algoritmo specificato nella norma Genera non corrisponde a quello previsto nel criterio di verifica. Gli algoritmi specificati devono corrispondere.

VerifyJWTAccessToken

oauth.v2.JWTDecodingFailed 401 Il criterio non è stato in grado di decodificare il JWT. Il JWT potrebbe essere danneggiato.

VerifyJWTAccessToken

oauth.v2.MissingMandatoryClaimsInJWT 401 Si verifica quando le attestazioni richieste non sono presenti nel token Jwt Access

VerifyJWTAccessToken

oauth.v2.InvalidJWTSignature 401 Questo accade quando non è stato possibile verificare la firma del token di accesso JWT o quando la firma non è valida.

VerifyJWTAccessToken

oauth.v2.InvalidTypeInJWTHeader 401 Si verifica quando il tipo di JWT non è at+Jwt

VerifyJWTAccessToken

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> è stato specificato un tipo di concessione non valido. Consulta il riferimento alle norme per un elenco dei tipi validi.
ExpiresInNotApplicableForOperation Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza. Ad esempio, l'operazione VerifyToken non esegue questa operazione.
RefreshTokenExpiresInNotApplicableForOperation Assicurati che le operazioni specificate nell'elemento <Operations> supportino la scadenza del token di aggiornamento. Ad esempio, l'operazione VerificationToken non esegue questa operazione.
GrantTypesNotApplicableForOperation Assicurati che i tipi di autorizzazione specificati in <SupportedGrantTypes> siano supportati per l'operazione specificata.
OperationRequired

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

InvalidOperation

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

TokenValueRequired Devi specificare un valore <Token> del token nell'elemento <Tokens>.

Errori di deployment specifici del token JWT

Questi errori di deployment sono specifici dei criteri che utilizzano le operazioni dei token JWT.

Nome errore Causa
InvalidValueForAlgorithm L'algoritmo specificato nell'elemento <Algorithm> non è nell'elenco degli algoritmi disponibili o non è presente.
MissingKeyConfiguration Mancano gli elementi obbligatori <SecretKey>, <PrivateKey> o <PublicKey>, a seconda dell'algoritmo utilizzato.
EmptyValueElementForKeyConfiguration L'elemento secondario obbligatorio <Value> non è definito negli elementi <PrivateKey>, <PublicKey> o <SecretKey>
InvalidKeyConfiguration L'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA oppure l'elemento <SecretKey> non viene utilizzato con gli algoritmi della famiglia HS.
EmptyRefAttributeForKeyconfiguration L'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey>, <PublicKey> o <SecretKey> è vuoto.
InvalidVariableNameForKey Il nome della variabile di flusso specificato nell'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey>, <PublicKey> o <SecretKey> non contiene il prefisso private.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "invalid_request"
oauthV2.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GenerateAccesstoken.fault.name = invalid_request
oauthV2.policy_name.fault.cause policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Esempio di risposta di errore

Queste risposte vengono rinviate al client se l'elemento <GenerateResponse> è true.

Se <GenerateResponse> è true, il criterio restituisce errori in questo formato per le operazioni che generano token e codici. Per un elenco completo, consulta il riferimento della risposta agli errori HTTP OAuth.

{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}

Se <GenerateResponse> è true, il criterio restituisce errori in questo formato per le operazioni di verifica e convalida. Per un elenco completo, consulta il riferimento sulla risposta agli errori HTTP OAuth.

{  
   {  
      "fault":{  
         "faultstring":"Invalid Access Token",
         "detail":{  
            "errorcode":"keymanagement.service.invalid_access_token"
         }
      }
   }

Esempio di regola di errore

<FaultRule name=OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientResponse</Name>
        <Condition>(fault.name = "invalid_client") OR (fault.name = "InvalidClientIdentifier")</Condition>
    </Step>
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Criterio GetOAuthV2Info

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito. I nomi di errore mostrati di seguito sono le stringhe assegnate alla variabile fault.name quando si verifica un errore. Consulta la sezione Variabili di errore riportata di seguito per ulteriori dettagli.

Codice di errore Stato HTTP Causa
steps.oauth.v2.access_token_expired 500 Il token di accesso inviato al criterio è scaduto.
steps.oauth.v2.authorization_code_expired 500 Il codice di autorizzazione inviato alle norme è scaduto.
steps.oauth.v2.invalid_access_token 500 Il token di accesso inviato al criterio non è valido.
steps.oauth.v2.invalid_client-invalid_client_id 500 L'ID client inviato alle norme non è valido.
steps.oauth.v2.invalid_refresh_token 500 Il token di aggiornamento inviato al criterio non è valido.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 Il codice di autorizzazione inviato al criterio non è valido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Per informazioni sulla risoluzione di questo errore, consulta La verifica del token di accesso Oauth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza apiproduct".
steps.oauth.v2.refresh_token_expired 500 Il token di aggiornamento inviato al criterio è scaduto.

Errori di deployment

Per informazioni sugli errori di deployment, consulta il messaggio riportato nell'interfaccia utente.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.GetTokenInfo.cause = ClientID is Invalid

Esempio di risposta di errore

{  
   "fault":{  
      "faultstring":"ClientId is Invalid",
      "detail":{  
         "errorcode":"keymanagement.service.invalid_client-invalid_client_id"
      }
   }
}

Esempio di regola di errore

<FaultRule name="OAuthV2 Faults">
    <Step>
        <Name>AM-InvalidClientIdResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>

Imposta criterio OAuthV2Info

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa
steps.oauth.v2.access_token_expired 500 Il token di accesso inviato al criterio è scaduto.
steps.oauth.v2.invalid_access_token 500 Il token di accesso inviato al criterio non è valido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Consulta La verifica del token di accesso Oauth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza apiproduct" per informazioni sulla risoluzione di questo errore.

Errori di deployment

Per informazioni sugli errori di deployment, consulta il messaggio riportato nell'interfaccia utente.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.SetTokenInfo.cause = Invalid Access Token

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Esempio di regola di errore

<FaultRule name=SetOAuthV2Info Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
        <Condition>(fault.name = "invalid_access_token")</Condition>
    </Step>
    <Condition>(oauthV2.failed = true) </Condition>
</FaultRule>

Elimina criterio OAuthV2Info

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa
steps.oauth.v2.invalid_access_token 401 Il token di accesso inviato al criterio non è valido.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 Il codice di autorizzazione inviato al criterio non è valido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Consulta La verifica del token di accesso Oauth2.0 genera l'errore "Chiamata API non valida perché non è stata trovata alcuna corrispondenza apiproduct" per informazioni sulla risoluzione di questo errore.

Errori di deployment

Per informazioni sugli errori di deployment, consulta il messaggio riportato nell'interfaccia utente.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "Invalid Access Token",
    "detail": {
      "errorcode": "keymanagement.service.invalid_access_token"
    }
  }
}

Esempio di regola di errore

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults">
    <Step>
        <Name>AM-InvalidTokenResponse</Name>
    </Step>
    <Condition>(fault.name = "invalid_access_token")</Condition>
</FaultRule>

Criterio PythonScript

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per la gestione degli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.script.ScriptEvaluationFailed 500 Il criterio PythonScript può generare diversi tipi di errori ScriptExecutionFailed non riusciti. I tipi di errori più comuni sono NameError e ZeroDivisionError.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidResourceUrlFormat Se il formato dell'URL della risorsa specificato nell'elemento <ResourceURL> o <IncludeURL> del criterio PythonScript non è valido, il deployment del proxy API non va a buon fine.
InvalidResourceUrlReference Se gli elementi <ResourceURL> o <IncludeURL> fanno riferimento a un file PythonScript che non esiste, il deployment del proxy API non va a buon fine. Il file di origine di riferimento deve esistere a livello di organizzazione, proxy API o ambiente.

Variabili di errore

Queste variabili vengono impostate quando questo criterio attiva un errore in fase di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori dei criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. pythonscript.PythonScript-1.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"",
    "detail": {
      "errorcode": "steps.script.ScriptExecutionFailed"
    }
  }
}

Esempio di regola di errore

<FaultRule name="PythonScript Policy Faults">
    <Step>
        <Name>AM-CustomErrorResponse</Name>
        <Condition>(fault.name Matches "ScriptExecutionFailed") </Condition>
    </Step>
    <Condition>(pythonscript.PythonScript-1.failed = true) </Condition>
</FaultRule>

Criteri per le quote

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 Si verifica se l'elemento <Interval> non è definito nel criterio Quota. Questo elemento è obbligatorio e utilizzato per specificare l'intervallo di tempo applicabile alla quota. L'intervallo di tempo può essere minuti, ore, giorni, settimane o mesi, come definito dall'elemento <TimeUnit>.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 Si verifica se l'elemento <TimeUnit> non è definito nel criterio Quota. Questo elemento è obbligatorio e utilizzato per specificare l'unità di tempo applicabile alla quota. L'intervallo di tempo può essere espresso in minuti, ore, giorni, settimane o mesi.
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 di quota è stato superato. N/A

Errori di deployment

Nome errore Causa Correggi
InvalidQuotaInterval Se l'intervallo di quota specificato nell'elemento <Interval> non è un numero intero, il deployment del proxy API non va a buon fine. Ad esempio, se l'intervallo di quota specificato è 0,1 nell'elemento <Interval>, il deployment del proxy API non riesce.
InvalidQuotaTimeUnit Se l'unità di tempo specificata nell'elemento <TimeUnit> non è supportata, il deployment del proxy API non va a buon fine. Le unità di tempo supportate sono minute, hour, day, week e month.
InvalidQuotaType Se il tipo di quota specificato dall'attributo type nell'elemento <Quota> non è valido, il deployment del proxy API non va a buon fine. I tipi di quota supportati sono default, calendar, flexi e rollingwindow.
InvalidStartTime Se il formato dell'ora specificato nell'elemento <StartTime> non è valido, il deployment del proxy API non va a buon fine. Il formato valido è yyyy-MM-dd HH:mm:ss, ovvero il formato di data e ora ISO 8601. Ad esempio, se il tempo specificato nell'elemento <StartTime> è 7-16-2017 12:00:00, il deployment del proxy API non va a buon fine.
StartTimeNotSupported Se viene specificato l'elemento <StartTime> il cui tipo di quota non è di tipo calendar, il deployment del proxy API non va a buon fine. L'elemento <StartTime> è supportato solo per il tipo di quota calendar. Ad esempio, se l'attributo type è impostato su flexi o rolling window nell'elemento <Quota>, il deployment del proxy API non va a buon fine.
InvalidTimeUnitForDistributedQuota Se l'elemento <Distributed> è impostato su true e l'elemento <TimeUnit> è impostato su second, il deployment del proxy API non va a buon fine. L'unità di tempo second non è valida per una quota distribuita.
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 in cui è definita anche la configurazione asincrona mediante 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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. ratelimit.QT-QuotaPolicy.failed = true

Esempio di risposta di errore

{  
   "fault":{  
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      },
      "faultstring":"Rate limit quota violation. Quota limit  exceeded. Identifier : _default"
   }
}

Esempio di regola di errore

<FaultRules>
    <FaultRule name="Quota Errors">
        <Step>
            <Name>JavaScript-1</Name>
            <Condition>(fault.name Matches "QuotaViolation") </Condition>
        </Step>
        <Condition>ratelimit.Quota-1.failed=true</Condition>
    </FaultRule>
</FaultRules>

Reimposta criterio per le quote

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
policies.resetquota.InvalidRLPolicy 500 Il criterio Quota specificato nell'elemento <Quota> del criterio ResetQuota non è definito nel proxy API e, di conseguenza, non è disponibile durante il flusso. L'elemento <Quota> è obbligatorio e identifica il criterio Quota di destinazione il cui contatore deve essere aggiornato tramite il criterio ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef N/A Il riferimento alla variabile contenente il conteggio di autorizzazioni nell'elemento <Allow> del criterio non può essere risolto in un valore. Questo elemento è obbligatorio e specifica la quantità per diminuire il contatore di quota.
policies.resetquota.FailedToResolveRLPolicy 500 La variabile a cui fa riferimento l'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 ResetQuota non è un numero intero, il deployment del proxy API non va a buon fine.

RaiseFaultpolicy

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa
steps.raisefault.RaiseFault 500 Vedi stringa di errore.

Errori di deployment

Nessuno.

Variabili di errore

Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la pagina Cosa devi sapere sugli errori relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome dell'errore è l'ultima parte del codice di errore. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. raisefault.RF-ThrowError.failed = true

Esempio di risposta di errore

{
   "fault":{
      "detail":{
         "errorcode":"steps.raisefault.RaiseFault"
      },
      "faultstring":"Raising fault. Fault name: [name]"
   }
}

Criterio RegularExpressionProtection

Questa sezione descrive i codici e i messaggi restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per la gestione degli errori. Per acquisire un errore e generare un errore personalizzato, imposta l'attributo continueOnError="true" nell'elemento principale del criterio. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Messaggio
ExecutionFailed Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1}
InstantiationFailed Failed to instantiate the RegularExpressionProtection StepDefinition {0}
NonMessageVariable Variable {0} does not resolve to a Message
SourceMessageNotAvailable {0} message is not available for RegularExpressionProtection StepDefinition {1}
ThreatDetected Regular Expression Threat Detected in {0}: regex: {1} input: {2}
VariableResolutionFailed Failed to resolve variable {0}

Errori di deployment

Codice di errore Messaggio Correggi
CannotBeConvertedToNodeset RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. Context {2}
DuplicatePrefix RegularExpressionProtection {0}: Duplicate prefix {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: No patterns to enforce in {1}
NothingToEnforce RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory
XPathCompilationFailed RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella precedente. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Criterio SAMLAssertion

Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
SourceNotConfigured Uno o più dei seguenti elementi del criterio ValidateSAMLAssertion non sono definiti o vuoti: <Source>, <XPath>, <Namespaces>, <Namespace>.
TrustStoreNotConfigured Se l'elemento <TrustStore> è vuoto o non specificato nel criterio ValidateSAMLAssertion, il deployment del proxy API non va a buon fine. È richiesto un archivio di attendibilità valido.
NullKeyStoreAlias Se l'elemento secondario <Alias> è vuoto o non è specificato nell'elemento <Keystore> del criterio GenerateSAMLAssertion, il deployment del proxy API non riesce. È richiesto un alias di archivio chiavi valido.
NullKeyStore Se l'elemento secondario <Name> è vuoto o non è specificato nell'elemento <Keystore> del criterio GenerateSAMLAssertion, 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 GenerateSAMLAssertion, il deployment del proxy API non va a buon fine. È obbligatorio 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 relativi ai criteri.

Variabili Dove Esempio
fault.name="fault_name" fault_name è il nome dell'errore. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed Per una configurazione di convalida del criterio di asserzione SAML, il prefisso dell'errore è ValidateSAMLAssertion. GenerateSAMLAssertion.failed = true

Esempio di risposta di errore

{
  "fault": {
    "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type",
    "detail": {
      "errorcode": "steps.saml.generate.InvalidMediaTpe"
    }
  }
}

Esempio di regola di errore

<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>

Norme di ServiceCallout

Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Errori di runtime

Questi errori possono verificarsi quando il criterio viene eseguito.

Codice di errore Stato HTTP Causa Correggi
steps.servicecallout.ExecutionFailed 500

Questo errore si può verificare quando:

  • Al criterio viene chiesto di gestire l'input non corretto o comunque non valido.
  • Il servizio di destinazione backend restituisce uno stato di errore (per impostazione predefinita, 4xx o 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 La variabile Request specificata nel criterio non è di tipo Message. Ad esempio, se si tratta di una stringa o di un altro tipo non di messaggio, visualizzerai questo errore.
steps.servicecallout.RequestVariableNotRequestMessageType 500 La variabile Request specificata nel criterio non è di tipo RequestMessage. Ad esempio, se si tratta di un tipo di risposta, visualizzerai questo errore.
googletoken.EmptyIDTokenAudience 500

<GoogleIDToken> è abilitato, ma useTargetUrl è impostato su false e non viene fornito alcun valore a <Audience> né direttamente né tramite riferimento al momento dell'errore.

messaging.adaptors.http.filter.GoogleTokenGenerationFailure 500 Questo errore può verificarsi se il proxy API è configurato con l'elemento <Autenticazione>. Le possibili cause includono:
  • L'account di servizio di cui è stato eseguito il deployment con il proxy:
    • non esiste nel progetto
    • è stato disattivato
    • (Solo Apigee hybrid) non ha concesso il ruolo roles/iam.serviceAccountTokenCreator per l'account di servizio apigee-runtime.
  • L'API IAMCredentials è disabilitata nel progetto di origine dell'account di servizio apigee-runtime.
  • Viene utilizzato l'elemento <GoogleAccessToken> e vengono forniti uno o più ambiti non validi. Ad esempio, cerca errori di battitura o ambiti vuoti.
  • Solo per Apigee hybrid, controlla il log del container di runtime e cerca GoogleTokenGenerationFailure per trovare messaggi di errore più dettagliati che potrebbero aiutarti a eseguire il debug del problema.

    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 di <Timeout> è negativo o pari a zero.
    FAILED_PRECONDITION Questo errore si verifica se l'account di servizio non è presente quando il proxy è configurato con il tag <Autenticazione>.

    Ad esempio:

    
    Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service
              account identity, but one was not provided with the request.
    PERMISSION_DENIED Questo errore si verifica se si verifica un problema di autorizzazione con l'account di servizio se il proxy è configurato con il tag <Autenticazione>. Possibili cause:
    • L'account di servizio non esiste.
    • L'account di servizio non è stato creato nello stesso progetto Google Cloud dell'organizzazione Apigee.
    • Il deployment ha l'autorizzazione iam.serviceAccounts.actAs per l'account di servizio. Per maggiori dettagli, vedi Informazioni sulle autorizzazioni degli account di servizio.

    Variabili di errore

    Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "RequestVariableNotMessageType"
    servicecallout.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. servicecallout.SC-GetUserData.failed = true

    Esempio di risposta di errore

    {
       "fault":{
          "detail":{
             "errorcode":"steps.servicecallout.RequestVariableNotMessageType"
          },
          "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]:
                request variable data_str value is not of type Message"
       }
    }
    

    Esempio di regola di errore

    <faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
        <Step>
            <Name>AM-RequestVariableNotMessageType</Name>
        </Step>
        <Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
    </FaultRule>
    

    Criterio di SOAPMessageValidation

    Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Causa Correggi
    steps.messagevalidation.SourceMessageNotAvailable 500

    Questo errore si verifica se una variabile specificata nell'elemento <Source> del criterio è:

    • fuori 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 non di tipo messaggio.

    Le variabili del tipo di messaggio rappresentano intere richieste e risposte HTTP. Le variabili di flusso Apigee integrate request, response e message sono di tipo messaggio. Per scoprire di più sulle variabili messaggio, consulta la documentazione di riferimento sulle variabili.

    steps.messagevalidation.Failed 500 Questo errore si verifica se il criterio SOAPMessageValidation non riesce a convalidare il payload dei messaggi di input in base allo schema XSD o alla definizione WSDL. Si verifica anche se il formato JSON o XML del messaggio del payload è in formato errato.

    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 della risorsa 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 dell'elemento principale che non ottempera alle regole XML per la denominazione di elementi validi.

    Norme di SpikeArrest

    Questa sezione descrive i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Causa Correggi
    policies.ratelimit.FailedToResolveSpikeArrestRate 500 Questo errore si verifica se il riferimento alla variabile contenente l'impostazione della tariffa nell'elemento <Rate> non può essere risolto in un valore all'interno del criterio SpikeArrest. Questo elemento è obbligatorio e utilizzato per specificare il tasso di arresto dei picchi di traffico nel formato 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 SpikeArrest non è un numero intero o se la frequenza non ha ps o pm come suffisso, il deployment del proxy API non va a buon fine.

    Variabili di errore

    Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome dell'errore è l'ultima parte del codice di errore. fault.name Matches "SpikeArrestViolation"
    ratelimit.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. ratelimit.SA-SpikeArrestPolicy.failed = true

    Esempio di risposta di errore

    Di seguito è riportato un esempio di risposta di errore:

    {  
       "fault":{  
          "detail":{  
             "errorcode":"policies.ratelimit.SpikeArrestViolation"
          },
          "faultstring":"Spike arrest violation. Allowed rate : 10ps"
       }
    }
    

    Esempio di regola di errore

    Di seguito è riportato un esempio di regola di errore per gestire un errore SpikeArrestViolation:

    <FaultRules>
        <FaultRule name="Spike Arrest Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
            </Step>
            <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

    Criterio VerificationAPIKey

    In questa sezione vengono descritti i codici e i messaggi di errore restituiti, nonché le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per gestirle. Per scoprire di più, consulta Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi durante l'esecuzione del criterio.

    Codice di errore Stato HTTP Causa
    keymanagement.service.consumer_key_missing_api_product_association 400

    Alla credenziale dell'applicazione manca un'associazione di prodotto API. Associa l'applicazione della chiave a un prodotto API. Tieni presente che questo vale per tutti i tipi di applicazioni, ad esempio le app per sviluppatori e le app AppGroup.

    keymanagement.service.DeveloperStatusNotActive 401

    Lo stato non attivo dello sviluppatore che ha creato l'app sviluppatore con la chiave API che stai utilizzando. Quando lo stato di uno sviluppatore di app è impostato su inattivo, tutte le app sviluppatore create da tale sviluppatore vengono disattivate. Un utente amministratore con le autorizzazioni appropriate (ad esempio Amministratore dell'organizzazione) può modificare lo stato di uno sviluppatore nei seguenti modi:

    keymanagement.service.invalid_client-app_not_approved 401 L'app sviluppatore associata alla chiave API è stata revocata. Un'app revocata non può accedere a nessun prodotto API e non può richiamare un'API gestita da Apigee. Un amministratore dell'organizzazione può modificare lo stato di un'app sviluppatore utilizzando l'API Apigee. Consulta la pagina Generare una coppia di chiavi o Aggiornare lo stato dell'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 Apigee, ma non è valida. Quando Apigee cerca la chiave nel suo database, deve corrispondere esattamente a quella inviata nella richiesta. Se l'API funzionava in precedenza, assicurati che la chiave non sia stata rigenerata. Se la chiave è stata rigenerata, riceverai questo errore se tenti di utilizzare la chiave precedente. Per maggiori dettagli, consulta Controllare l'accesso alle API registrando le app.
    oauth.v2.InvalidApiKeyForGivenResource 401 Una chiave API è stata ricevuta da Apigee ed è valida; tuttavia, non corrisponde a una chiave approvata nell'app per sviluppatori associata al proxy API tramite un prodotto.

    Errori di deployment

    Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

    Nome errore Causa
    SpecifyValueOrRefApiKey Per l'elemento <APIKey> non è stato specificato un valore o una chiave.

    Variabili di errore

    Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta l'articolo Cosa devi sapere sugli errori dei criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, indicato nella tabella Errori di runtime sopra. Il nome dell'errore è l'ultima parte del codice dell'errore. fault.name Matches "FailedToResolveAPIKey"
    oauthV2.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. oauthV2.VK-VerifyAPIKey.failed = true

    Esempi di risposte di errore

    {
       "fault":{
          "faultstring":"Invalid ApiKey",
          "detail":{
             "errorcode":"oauth.v2.InvalidApiKey"
          }
       }
    }
    
    {
       "fault":{
          "detail":{
             "errorcode":"keymanagement.service.DeveloperStatusNotActive"
          },
          "faultstring":"Developer Status is not Active"
       }
    }
    

    Esempio di regola di errore

    <FaultRule name="FailedToResolveAPIKey">
        <Step>
            <Name>AM-FailedToResolveAPIKey</Name>
        </Step>
        <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
    </FaultRule>
    

    Criterio VerificationJWS

    Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Si verifica quando
    steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Si verifica quando il criterio di verifica ha più algoritmi
    steps.jws.AlgorithmMismatch 401 L'algoritmo specificato nell'intestazione dal criterio Generate non corrisponde a quello previsto nel criterio Verify. Gli algoritmi specificati devono corrispondere.
    steps.jws.ContentIsNotDetached 401 <DetachedContent> viene specificato quando il JWS non contiene un payload di contenuti scollegati.
    steps.jws.FailedToDecode 401 Il criterio non è stato in grado di decodificare il JWS. Il JWS potrebbe essere danneggiato.
    steps.jws.InsufficientKeyLength 401 Per una chiave di dimensioni inferiori a 32 byte per l'algoritmo HS256
    steps.jws.InvalidClaim 401 Per una rivendicazione mancante o mancata corrispondenza di una rivendicazione oppure una mancata corrispondenza di intestazione o intestazione.
    steps.jws.InvalidCurve 401 La curva specificata dalla chiave non è valida per l'algoritmo Curva ellittica.
    steps.jws.InvalidJsonFormat 401 JSON non valido trovato nell'intestazione JWS.
    steps.jws.InvalidJws 401 Questo errore si verifica quando la verifica della firma JWS non va a buon fine.
    steps.jws.InvalidPayload 401 Il payload JWS non è valido.
    steps.jws.InvalidSignature 401 <DetachedContent> viene omesso e il JWS ha un payload di contenuti scollegato.
    steps.jws.KeyIdMissing 401 Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il JWS firmato non include una proprietà kid nell'intestazione.
    steps.jws.KeyParsingFailed 401 Impossibile analizzare la chiave pubblica a partire dalle informazioni sulla chiave specificate.
    steps.jws.MissingPayload 401 Payload JWS mancante.
    steps.jws.NoAlgorithmFoundInHeader 401 Si verifica quando il JWS omette l'intestazione dell'algoritmo.
    steps.jws.NoMatchingPublicKey 401 Il criterio Verify utilizza un JWKS come origine per le chiavi pubbliche, ma il kid nel JWS firmato non è elencato nel JWKS.
    steps.jws.UnhandledCriticalHeader 401 Un'intestazione trovata dal criterio Verification JWS nell'intestazione crit non è elencata in KnownHeaders.
    steps.jws.UnknownException 401 Si è verificata un'eccezione sconosciuta.
    steps.jws.WrongKeyType 401 Tipo di chiave specificato errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave curva per un algoritmo RSA.

    Errori di deployment

    Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

    Nome errore Si verifica quando
    InvalidAlgorithm Gli unici valori validi sono: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

    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 relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "TokenExpired"
    JWS.failed Tutti i criteri JWS impostano la stessa variabile in caso di errore. jws.JWS-Policy.failed = true

    Esempio di risposta di errore

    Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

    Esempio di regola di errore

    <FaultRules>
        <FaultRule name="JWS Policy Errors">
            <Step>
                <Name>JavaScript-1</Name>
                <Condition>(fault.name Matches "TokenExpired")</Condition>
            </Step>
            <Condition>JWS.failed=true</Condition>
        </FaultRule>
    </FaultRules>
    

    Criterio di VerificationJWT

    In questa sezione vengono descritti i codici e i messaggi di errore restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Questa informazione è importante per sapere se stai sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta le Informazioni sugli errori dei criteri e la gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Si verifica quando
    steps.jwt.AlgorithmInTokenNotPresentInConfiguration 401 Si verifica quando il criterio di verifica contiene più algoritmi.
    steps.jwt.AlgorithmMismatch 401 L'algoritmo specificato nel criterio Generate non corrisponde a quello previsto nel criterio Verify. Gli algoritmi specificati devono corrispondere.
    steps.jwt.FailedToDecode 401 Il criterio non è stato in grado di decodificare il JWT. Il JWT potrebbe essere danneggiato.
    steps.jwt.GenerationFailed 401 Il criterio non è stato in grado di generare il JWT.
    steps.jwt.InsufficientKeyLength 401 Per una chiave inferiore a 32 byte per l'algoritmo HS256, a meno di 48 byte per l'algoritmo HS386 e a meno di 64 byte per l'algoritmo HS512.
    steps.jwt.InvalidClaim 401 Mancata corrispondenza a livello di rivendicazione o di mancata corrispondenza oppure intestazione o intestazione 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 ha esito negativo.
    steps.jwt.JwtAudienceMismatch 401 La rivendicazione del pubblico non è riuscita al momento della verifica del token.
    steps.jwt.JwtIssuerMismatch 401 La richiesta dell'emittente non è riuscita durante la verifica del token.
    steps.jwt.JwtSubjectMismatch 401 La rivendicazione dell'oggetto non è riuscita durante la verifica del token.
    steps.jwt.KeyIdMissing 401 Il criterio Verify utilizza un JWK come origine per le chiavi pubbliche, ma quest'ultimo non include una proprietà kid nell'intestazione.
    steps.jwt.KeyParsingFailed 401 Impossibile analizzare la chiave pubblica dalle informazioni sulla chiave fornite.
    steps.jwt.NoAlgorithmFoundInHeader 401 Si verifica quando il JWT non contiene un'intestazione dell'algoritmo.
    steps.jwt.NoMatchingPublicKey 401 Il criterio Verify utilizza un JWK come origine per le chiavi pubbliche, ma il kid nel JWT firmato non è elencato nel JWKS.
    steps.jwt.SigningFailed 401 In GenerateJWT, per una chiave di dimensioni inferiori alla dimensione minima per gli algoritmi HS384 o HS512
    steps.jwt.TokenExpired 401 Il criterio tenta di verificare un token scaduto.
    steps.jwt.TokenNotYetValid 401 Il token non è ancora valido.
    steps.jwt.UnhandledCriticalHeader 401 Un'intestazione trovata dal criterio Verifica JWT nell'intestazione crit non è elencata in KnownHeaders.
    steps.jwt.UnknownException 401 Si è verificata un'eccezione sconosciuta.
    steps.jwt.WrongKeyType 401 Il tipo di chiave specificato è errato. Ad esempio, se specifichi una chiave RSA per un algoritmo Elliptic Curve o una chiave curva per un algoritmo RSA.

    Errori di deployment

    Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

    Nome errore Causa Correggi
    InvalidNameForAdditionalClaim Il deployment non andrà a buon fine se la 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 rivendicazione non è specificato nell'elemento secondario <Claim> dell'elemento <AdditionalClaims>, il deployment non andrà a buon fine.
    InvalidNameForAdditionalHeader Questo errore viene restituito quando il nome della dichiarazione utilizzata 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 riuscirà.
    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 è un valore supportato, il deployment non riuscirà.
    MissingConfigurationElement Questo errore si verifica se l'elemento <PrivateKey> non viene utilizzato con gli algoritmi della famiglia RSA o con l'elemento <SecretKey> non con gli algoritmi della famiglia HS.
    InvalidKeyConfiguration Se l'elemento secondario <Value> non è definito negli elementi <PrivateKey> o <SecretKey>, il deployment non riuscirà.
    EmptyElementForKeyConfiguration Se l'attributo ref dell'elemento secondario <Value> degli elementi <PrivateKey> o <SecretKey> è vuoto o non specificato, il deployment non riuscirà.
    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 Verification JWT è vuoto. Se presente, deve essere definito con un nome di variabile di flusso Apigee.
    InvalidPublicKeyValue Se il valore utilizzato nell'elemento secondario <JWKS> dell'elemento <PublicKey> non utilizza un formato valido, come specificato in RFC 7517, il deployment non andrà a buon fine.
    InvalidConfigurationForActionAndAlgorithm Se l'elemento <PrivateKey> viene utilizzato con gli algoritmi HS Family o l'elemento <SecretKey> con gli algoritmi RSA Family, il deployment non andrà a buon fine.

    Variabili di errore

    Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "InvalidToken"
    JWT.failed Tutti i criteri JWT impostano la stessa variabile in caso di errore. JWT.failed = true

    Esempio di risposta di errore

    Codici di errore dei criteri JWT

    Per la gestione degli errori, la best practice prevede il trap della parte errorcode della risposta di errore. Non fare affidamento sul testo nel faultstring, perché potrebbe cambiare.

    Esempio di regola di errore

        <FaultRules>
            <FaultRule name="JWT Policy Errors">
                <Step>
                    <Name>JavaScript-1</Name>
                    <Condition>(fault.name Matches "InvalidToken")</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 Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Causa Correggi
    steps.xmlthreatprotection.ExecutionFailed 500 Il criterio XMLThreatProtection può generare molti tipi diversi di errori ExecutionFailed. La maggior parte di questi errori si verifica quando viene superata una soglia specifica impostata nel criterio. Questi tipi di errore includono: lunghezza del nome dell'elemento, conteggio figlio, profondità del nodo, conteggio attributi, lunghezza del nome dell'attributo e molti altri. Puoi visualizzare l'elenco completo nell'argomento Risoluzione degli errori di runtime dei criteri XMLThreatProtection.
    steps.xmlthreatprotection.InvalidXMLPayload 500 Questo errore si verifica se il payload dei messaggi di input specificato dall'elemento <Source> del criterio XMLThreatProtection non è un documento XML valido.
    steps.xmlthreatprotection.SourceUnavailable 500 Questo errore si verifica se la variabile message 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 non di tipo message.

    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 relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name Matches "SourceUnavailable"
    xmlattack.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. xmlattack.XPT-SecureRequest.failed = true

    Esempio di risposta di errore

    {
      "fault": {
        "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2",
        "detail": {
          "errorcode": "steps.xmlthreatprotection.ExecutionFailed"
        }
      }
    }
    

    Esempio di regola di errore

    <FaultRule name="XML Threat Protection Policy Faults">
        <Step>
            <Name>AM-CustomErrorResponse</Name>
            <Condition>(fault.name Matches "ExecutionFailed") </Condition>
        </Step>
        <Condition>(xmlattack.XPT-SecureRequest.failed = true) </Condition>
    </FaultRule>
    

    Norme relative a XMLtoJSON

    Questa sezione descrive i codici e i messaggi di errore che vengono restituiti e le variabili di errore impostate da Apigee quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se si stanno sviluppando regole di errore per gestire gli errori. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Causa Correggi
    steps.xmltojson.ExecutionFailed ExecutionFailed Questo errore si verifica quando il payload di input (XML) è vuoto o l'XML di input non è valido o è in un formato non corretto.
    steps.xmltojson.InCompatibleTypes ExecutionFailed Questo errore si verifica se il tipo della variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> non corrispondono. È obbligatorio che il tipo di variabili contenute all'interno dell'elemento <Source> e dell'elemento <OutputVariable> corrisponda.
    steps.xmltojson.InvalidSourceType ExecutionFailed Questo errore si verifica se il tipo di variabile utilizzata per definire l'elemento <Source> non è valido.I tipi di variabile validi sono messaggio e stringa.
    steps.xmltojson.OutputVariableIsNotAvailable ExecutionFailed 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 ExecutionFailed Questo errore si verifica se la variabile message specificata nell'elemento <Source> del criterio da XML a JSON è:
    • Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito 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 viene dichiarato nel criterio da XML a JSON, il deployment del proxy API non va a buon fine.
    UnknownFormat Se per l'elemento <Format> all'interno del criterio da XML a JSON è stato definito un formato sconosciuto, il deployment del proxy API non riesce. I formati predefiniti includono: xml.com, yahoo, google e badgerFish.

    Variabili di errore

    Queste variabili vengono impostate quando si verifica un errore di runtime. Per maggiori informazioni, consulta la sezione Cosa devi sapere sugli errori relativi ai criteri.

    Variabili Dove Esempio
    fault.name="fault_name" fault_name è il nome dell'errore, come indicato nella tabella Errori di runtime riportata sopra. Il nome del guasto è l'ultima parte del codice di errore. fault.name = "SourceUnavailable"
    xmltojson.policy_name.failed policy_name è il nome specificato dall'utente del criterio che ha generato l'errore. xmltojson.XMLtoJSON-1.failed = true

    Esempio di risposta di errore

    {
      "fault": {
        "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available",
        "detail": {
          "errorcode": "steps.xml2json.SourceUnavailable"
        }
      }
    }
    

    Esempio di regola di errore

    <faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="XML to JSON Faults">
        <Step>
            <Name>AM-SourceUnavailableMessage</Name>
            <Condition>(fault.name Matches "SourceUnavailable") </Condition>
        </Step>
        <Step>
            <Name>AM-BadXML</Name>
            <Condition>(fault.name = "ExecutionFailed")</Condition>
        </Step>
        <Condition>(xmltojson.XMLtoJSON-1.failed = true) </Condition>
    </FaultRule>
    

    Norme XSLTransform

    Errori di runtime

    Questi errori possono verificarsi quando il criterio viene eseguito.

    Codice di errore Stato HTTP Causa Correggi
    steps.xsl.XSLSourceMessageNotAvailable 500 Questo errore si verifica se il messaggio o la variabile di stringa specificata nell'elemento <Source> del criterio XSLTransform non rientra nell'ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio) o se non può essere risolto (non è definito).
    steps.xsl.XSLEvaluationFailed 500 Questo errore si verifica se il payload XML di input non è disponibile/non è in formato corretto oppure se il criterio XSLTransform ha esito negativo o non è in grado di trasformare il file XML di input in base alle regole di trasformazione fornite nel file XSL. L'errore del criterio XSLTransform può essere causato da molte cause diverse. Il motivo dell'errore nel messaggio di errore fornirà ulteriori informazioni sulla causa.

    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 XSLTransform è vuoto, il deployment del proxy API non va a buon fine.
    XSLInvalidResourceType Se il tipo di risorsa specificato nell'elemento <ResourceURL> del criterio XSLTransform non è di tipo xsl, il deployment del proxy API non riesce.