Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
Política AccessControl
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 |
O endereço IP do cliente, ou um endereço IP transmitido
na solicitação de API, corresponde a um endereço IP especificado no elemento <SourceAddress> dentro
do elemento <MatchRule> da política de controle de acesso e o atributo action do elemento
<MatchRule> está definido como DENY . |
build |
accesscontrol.InvalidIPAddressInVariable |
500 |
A variável de fluxo em <ClientIPVariable> contém um endereço IP inválido. |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte Variáveis específicas para erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "IPDeniedAccess" |
acl.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | acl.AC-AllowAccess.failed = true |
Exemplo de resposta com falha
{ "fault":{ "faultstring":"Access Denied for client ip : 52.211.243.3" "detail":{ "errorcode":"steps.accesscontrol.IPDeniedAccess" } } }
Exemplo de regra de falha
<FaultRule name="IPDeniedAccess"> <Step> <Name>AM-IPDeniedAccess</Name> <Condition>(fault.name Matches "IPDeniedAccess") </Condition> </Step> <Condition>(acl.failed = true) </Condition> </FaultRule>
Política de AccessEntity
Para informações relacionadas, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Nenhum.
Erros de implantação
Nome do erro | String de falha | Status HTTP | Ocorre quando |
---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/A | O tipo de entidade usado precisa ser um dos tipos compatíveis. |
Política AssignMessage
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 |
Não foi possível definir uma variável na política. Veja a string de falha para o nome da variável não resolvida. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Esse erro ocorrerá se o atributo As variáveis do tipo Message representam solicitações e respostas HTTP completas. As variáveis integradas do
fluxo da Apigee |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Esse erro ocorrerá se uma variável especificada na política AssignMessage:
|
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidIndex |
Se o índice especificado nos elementos <Copy> e/ou <Remove> da política AssignMessage for 0 ou um número negativo, a implantação do proxy da API falhará.
|
build |
InvalidVariableName |
Se o elemento filho <Name> estiver vazio ou não for especificado no elemento <AssignVariable> ,
a implantação do proxy de API falhará porque não há um nome de variável válido para
atribuir um valor. Um nome de variável válido é obrigatório.
|
build |
InvalidPayload |
Um payload especificado na política é inválido. |
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" |
assignmessage.POLICY_NAME.failed |
POLICY_NAME é o nome especificado pelo usuário da política que causou a falha. | assignmessage.AM-SetResponse.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Exemplo de regra de falha
<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>
Política BasicAuthentication
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com erros. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 |
Em um decodificação quando a string codificada Base64 recebida não contém um valor válido ou o cabeçalho é inválido (por exemplo, não começa com Basic ). |
build |
steps.basicauthentication.UnresolvedVariable |
500 |
As variáveis de origem necessárias para decodificar ou codificar não estão presentes. Este erro só
poderá ocorrer se IgnoreUnresolvedVariables for falso. |
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Ocorre quando | Correção |
---|---|---|
UserNameRequired |
O elemento <User> precisa estar presente na operação nomeada. |
build |
PasswordRequired |
O elemento <Password> precisa estar presente na operação nomeada. |
build |
AssignToRequired |
O elemento <AssignTo> precisa estar presente na operação nomeada. |
build |
SourceRequired |
O elemento <Source> precisa estar presente na operação nomeada. |
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | BasicAuthentication.BA-Authenticate.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Exemplo de regra de falha
<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>
Política DecodeJWS
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Ocorre quando |
---|---|---|
steps.jws.FailedToDecode |
401 |
A política não conseguiu decodificar o JWS. A JWS está possivelmente corrompida. |
steps.jws.FailedToResolveVariable |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da
política não existe. |
steps.jws.InvalidClaim |
401 |
Uma falta de reivindicação ou incompatibilidade de reivindicação ou falta de cabeçalho ou cabeçalho incompatível. |
steps.jws.InvalidJsonFormat |
401 |
JSON inválido encontrado no cabeçalho JWS. |
steps.jws.InvalidJws |
401 |
Esse erro ocorre quando a verificação de assinatura do JWS falha. |
steps.jws.InvalidPayload |
401 |
O payload do JWS é inválido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.MissingPayload |
401 |
O payload do JWS está ausente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando a JWS omite o cabeçalho do algoritmo. |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros erros de implantação possíveis. |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas de JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política chamada de retorno
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falhas para lidar com elas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.jwt.FailedToDecode |
401 |
Ocorre quando a política não pode decodificar o JWT. O JWT pode estar incorreto, inválido ou não descodificável. | build |
steps.jwt.FailedToResolveVariable |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da
política não existe. |
|
steps.jwt.InvalidToken |
401 |
Ocorre quando a variável de fluxo especificada no elemento <Source> da
política está fora do escopo ou não pode ser resolvida. |
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidEmptyElement |
Ocorre quando a variável do fluxo que contém o JWT a ser decodificada não é especificada no
elemento <Source> da política.
|
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas do JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política ExtractVariables
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
steps.extractvariables.ExecutionFailed |
500 |
This error occurs when:
|
build |
steps.extractvariables.ImmutableVariable |
500 |
A variable used in the policy is immutable. The policy was unable to set this variable. | N/A |
steps.extractvariables.InvalidJSONPath |
500 |
This error occurs if an invalid JSON path is used in the JSONPath element of the
policy. For example, if a JSON payload does not have the object Name ,
but you specify Name as the path in the policy, then this error occurs. |
build |
steps.extractvariables.JsonPathParsingFailure |
500 |
This error occurs when the policy is unable to parse a JSON path and
extract data from the flow variable specified in Source element. Typically this
happens if the flow variable specified in the Source element does not exist in the current
flow. |
build |
steps.extractvariables.SetVariableFailed |
500 |
This error occurs if the policy could not set the value to a variable. The error generally happens if you try to assign values to multiple variables whose names start with the same words in a nested dot-separated format. | build |
steps.extractvariables.SourceMessageNotAvailable |
500 |
This error occurs if the message
variable specified in the Source element of the policy
is either:
|
build |
steps.extractvariables.UnableToCast |
500 |
This error occurs if the policy was unable to cast the extracted value to a variable. Typically this happens if you attempt to set the value of one data type to a variable of another data type. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
NothingToExtract |
If the policy does not have any of the elements URIPath , QueryParam ,
Header , FormParam , XMLPayload , or JSONPayload ,
the deployment of the API Proxy fails, because there's nothing to extract. |
build |
NONEmptyPrefixMappedToEmptyURI |
This error occurs if the policy has a prefix defined in the
Namespace element under the XMLPayload element, but no URI is
defined. |
build |
DuplicatePrefix |
This error occurs if the policy has the same prefix defined more than
once in the Namespace element under the XMLPayload element. |
build |
NoXPathsToEvaluate |
If the policy does not have the XPath element within the
XMLPayload element, then the deployment of the API proxy fails with this error.
|
build |
EmptyXPathExpression |
If the policy has an empty XPath expression within the XMLPayload
element, then the deployment of the API proxy fails. |
build |
NoJSONPathsToEvaluate |
If the policy does not have the JSONPath element within the
JSONPayload element, then the deployment of the API proxy fails with this error. |
build |
EmptyJSONPathExpression |
If the policy has an empty XPath expression within the
XMLPayload element, then the deployment of the API proxy fails. |
build |
MissingName |
If the policy does not have the name attribute in any of the policy
elements like QueryParam , Header , FormParam or
Variable , where it is required, then the deployment of the API proxy fails. |
build |
PatternWithoutVariable |
If the policy does not have a variable specified within the Pattern element,
then the deployment of the API proxy fails. The Pattern element requires the name of
the variable in which extracted data will be stored. |
build |
CannotBeConvertedToNodeset |
If the policy has an XPath expression where the Variable type
is defined as nodeset,
but the expression cannot be converted to nodeset, then the deployment of the API proxy fails. |
build |
JSONPathCompilationFailed |
The policy could not compile a specified JSON Path. | N/A |
InstantiationFailed |
The policy could not be instantiated. | N/A |
XPathCompilationFailed |
If the prefix or the value used in the XPath element is not part of any of the
declared namespaces in the policy, then the deployment of the API proxy
fails. |
build |
InvalidPattern |
If the Pattern element definition is invalid in any of the elements like URIPath ,
QueryParam , Header , FormParam , XMLPayload
or JSONPayload within the policy, then the deployment of the
API proxy fails.
|
build |
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "SourceMessageNotAvailable" |
extractvariables.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | extractvariables.EV-ParseJsonResponse.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.extractvariables.SourceMessageNotAvailable" }, "faultstring":"request message is not available for ExtractVariable: EV-ParseJsonResponse" } }
Example fault rule
<FaultRule name="Extract Variable Faults"> <Step> <Name>AM-CustomErrorMessage</Name> <Condition>(fault.name = "SourceMessageNotAvailable") </Condition> </Step> <Condition>(extractvariables.EM-ParseJsonResponse.failed = true) </Condition> </FaultRule>
Política GenerateJWS
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Ocorre quando |
---|---|---|
steps.jws.GenerationFailed |
401 |
A política não pôde gerar o JWS. |
steps.jws.InsufficientKeyLength |
401 |
Para uma chave menor que 32 bytes para o algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Uma falta de reivindicação ou incompatibilidade de reivindicação ou falta de cabeçalho ou cabeçalho incompatível. |
steps.jws.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jws.InvalidJsonFormat |
401 |
JSON inválido encontrado no cabeçalho JWS. |
steps.jws.InvalidPayload |
401 |
O payload do JWS é inválido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.KeyIdMissing |
401 |
A política de verificação usa um JWKS como fonte para chaves públicas, mas a JWS assinada não
inclui uma propriedade kid no cabeçalho. |
steps.jws.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública com as informações de chave fornecidas. |
steps.jws.MissingPayload |
401 |
O payload do JWS está ausente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando a JWS omite o cabeçalho do algoritmo. |
steps.jws.SigningFailed |
401 |
Em GenerateJWS, para uma chave menor que o tamanho mínimo dos algoritmos HS384 ou HS512 |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jws.WrongKeyType |
401 |
Tipo incorreto de chave especificado. Por exemplo, se você especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros erros de implantação possíveis. |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas de JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política GenerateJWT
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falhas para lidar com elas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Ocorre quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de verificação tem vários algoritmos. |
steps.jwt.AlgorithmMismatch |
401 |
O algoritmo especificado na política de geração não corresponde ao esperado na política de verificação. Os algoritmos especificados precisam corresponder. |
steps.jwt.EncryptionFailed |
401 |
Falha na criação de um JWT criptografado por um motivo não específico |
steps.jwt.FailedToDecode |
401 |
A política não conseguiu decodificar o JWT. É possível que o JWT esteja corrompido. |
steps.jwt.GenerationFailed |
401 |
A política não pôde gerar o JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Para uma chave com menos de 32 bytes para o algoritmo HS256, menos de 48 bytes para o algoritmo HS386 e menos de 64 bytes para o algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Uma falta de reivindicação ou incompatibilidade de reivindicação ou falta de cabeçalho ou cabeçalho incompatível. |
steps.jwt.InvalidConfiguration |
401 |
Os elementos <Algorithm> e <Algorithms>
estão presentes. |
steps.jwt.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jwt.InvalidJsonFormat |
401 |
JSON inválido encontrado no cabeçalho ou payload. |
steps.jwt.InvalidPasswordKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidPrivateKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidPublicKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidSecretKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidToken |
401 |
Esse erro ocorre quando a verificação de assinatura do JWT falha. |
steps.jwt.JwtAudienceMismatch |
401 |
A declaração de público falhou na verificação do token. |
steps.jwt.JwtIssuerMismatch |
401 |
A declaração do emissor falhou na verificação do token. |
steps.jwt.JwtSubjectMismatch |
401 |
A declaração do assunto falhou na verificação do token. |
steps.jwt.KeyIdMissing |
401 |
A política de verificação usa um JWKS como fonte para chaves públicas, mas o JWT assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jwt.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública com as informações de chave fornecidas. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWT não contém cabeçalho de algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
A política de verificação usa uma JWKS como fonte para chaves públicas, mas o kid no JWT assinado não está listado na JWKS. |
steps.jwt.SigningFailed |
401 |
Em GenerateJWT , para uma chave menor que o tamanho mínimo para os algoritmos HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
A política tenta verificar um token expirado. |
steps.jwt.TokenNotYetValid |
401 |
O token ainda não é válido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política de verificação de JWT no cabeçalho crit não está listado em KnownHeaders . |
steps.jwt.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jwt.WrongKeyType |
401 |
Tipo incorreto de chave especificado. Por exemplo, se você especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidNameForAdditionalClaim |
A implantação falhará se a reivindicação usada no elemento filho <Claim>
do elemento <AdditionalClaims> é um dos seguintes nomes registrados:
kid , iss , sub , aud , iat ,
exp , nbf ou jti . |
build |
InvalidTypeForAdditionalClaim |
Se a declaração usada no elemento filho <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implantação falhará.
|
build |
MissingNameForAdditionalClaim |
Se o nome da declaração não for especificado no elemento filho <Claim>
do elemento <AdditionalClaims> , a implantação falhará.
|
build |
InvalidNameForAdditionalHeader |
Esse erro ocorre quando o nome da declaração usado no elemento filho <Claim>
do elemento <AdditionalClaims> é alg ou typ .
|
build |
InvalidTypeForAdditionalHeader |
Se o tipo de declaração usado no elemento filho <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implantação falhará.
|
build |
InvalidValueOfArrayAttribute |
Este erro ocorre quando o valor do atributo de matriz no elemento filho <Claim>
do elemento <AdditionalClaims> não está definido como true ou false .
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se o elemento <PrivateKey> é usado com os algoritmos da família HS ou
o elemento <SecretKey> é usado com os algoritmos da família RSA, a
implantação falhará.
|
build |
InvalidValueForElement |
Se o valor especificado no elemento <Algorithm> não for um valor compatível,
a implantação falhará.
|
build |
MissingConfigurationElement |
Esse erro ocorrerá se o elemento <PrivateKey> não for usado com
algoritmos de família RSA ou se o elemento <SecretKey> não for usado com algoritmos da
família HS.
|
build |
InvalidKeyConfiguration |
Se o elemento filho <Value> não estiver definido nos elementos <PrivateKey>
ou <SecretKey> , a implantação falhará.
|
build |
EmptyElementForKeyConfiguration |
Se o atributo de referência do elemento filho <Value> dos elementos <PrivateKey>
ou <SecretKey> estiver vazio ou não especificado, a implantação falhará.
|
build |
InvalidVariableNameForSecret |
Esse erro ocorrerá se o nome da variável de fluxo especificado no atributo ref do elemento
filho <Value> dos elementos <PrivateKey>
ou <SecretKey> não incluir o prefixo privado ((private.) ).
|
build |
InvalidSecretInConfig |
Esse erro ocorrerá se o elemento filho <Value> dos elementos <PrivateKey>
ou <SecretKey> não contiver o prefixo privado (private.) .
|
build |
InvalidTimeFormat |
Se o valor especificado no elemento <NotBefore> não usar um
formato compatível, a implantação falhará.
|
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas do JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política de destaque de Java
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.javacallout.ExecutionError |
500 |
Ocorre quando o código Java gera uma exceção ou retorna nulo durante a execução de um JavaCallout policy . |
build |
Erros na implantação
Esses erros podem ocorrer quando o proxy que contém a política é implantado.
Nome do erro | String de falha | Status HTTP | Ocorre quando |
---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | O arquivo especificado no elemento <ResourceURL> não existe. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | O arquivo de classe especificado no elemento <ClassName> não está no jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Consulte string de falha. As versões Java compatíveis incluem: Oracle JDK 7/8 e OpenJDK 7/8 |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Consulte string de falha. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Consulte string de falha. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Consulte string de falha. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Consulte string de falha. |
Variáveis de falha
Essas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | javacallout.JC-GetUserData.failed = true |
Exemplo de resposta de erro
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Exemplo de regra de falha
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Política de JavaScript
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas e as variáveis com falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 |
A política JavaScript pode gerar vários tipos diferentes de erros ScriptExecutionFailed . Os tipos de erros
vistos com mais frequência incluem RangeError,
ReferenceError,
SyntaxError,
TypeError, e
URIError. |
build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 |
Ocorreu um erro no código JavaScript . Veja a string de falha para mais detalhes. |
N/A |
steps.javascript.ScriptSecurityError |
500 |
Ocorreu um erro de segurança quando o JavaScript foi executado. Consulte a string de falha para
mais detalhes. |
N/A |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidResourceUrlFormat |
Se o formato do URL do recurso especificado no <ResourceURL> ou
no elemento <IncludeURL> da política JavaScript for inválido, a implantação do proxy da API falhará. |
build |
InvalidResourceUrlReference |
Se os elementos <ResourceURL> ou <IncludeURL>
fizerem referência a um arquivo JavaScript que não existe, a implantação do proxy da API falhará.
O arquivo de origem referenciado precisa existir no proxy, no ambiente ou no nível da organização da API. |
build |
WrongResourceType |
Esse erro ocorrerá durante a implantação se os elementos <ResourceURL> ou <IncludeURL>
da política JavaScript se referirem a qualquer tipo de recurso diferente de jsc (arquivo JavaScript ). |
build |
NoResourceURLOrSource |
A implantação da política JavaScript pode falhar com esse erro se o elemento
<ResourceURL> não for declarado ou se o URL do recurso não estiver definido nesse elemento.
O elemento <ResourceURL> é obrigatório. Ou o elemento <IncludeURL> é declarado,
mas o URL do recurso não está definido nesse elemento. O elemento <IncludeURL> é opcional,
mas, se declarado, o URL do recurso precisa ser especificado no elemento <IncludeURL> . |
build |
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | javascript.JavaScript-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Exemplo de regra de falha
<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>
Política JSONThreatProtection
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas e as variáveis com falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 |
A política JSONThreatProtection pode gerar vários tipos diferentes de erros ExecutionFailed .
A maioria desses erros ocorre quando um limite específico definido na política é excedido. Esses tipos de erros incluem: tamanho do nome de entrada do objeto, contagem de entradas de objetos, contagem de elementos da matriz,
profundidade do contêiner e
tamanho do valor da string.
Esse erro também ocorre quando o payload contém um objeto JSON inválido.
|
build |
steps.jsonthreatprotection.SourceUnavailable |
500 |
Esse erro ocorrerá se a variável message especificada no elemento <Source> for:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 |
Esse erro ocorrerá se o elemento <Source> estiver definido como uma variável que não é do tipo message. |
build |
Erros na implantação
Nenhum.
Variáveis de falha
Essas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | jsonattack.JTP-SecureRequest.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.jsonthreatprotection.ExecutionFailed" } } }
Exemplo de regra de falha
<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>
Os tipos de políticas JSONThreatProtection definem os seguintes códigos de erro:
Política JSONtoXML
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas e as variáveis com falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 |
O payload de entrada (JSON) está vazio ou a entrada (JSON) transmitida para a política JSON para XML é inválida ou está malformada. | build |
steps.jsontoxml.InCompatibleTypes |
500 |
Esse erro ocorrerá se o tipo da variável definido no elemento <Source> e o
elemento <OutputVariable> não forem os mesmos. É obrigatório que o tipo das
variáveis contidas no elemento <Source> e no elemento <OutputVariable> seja
igual. Os tipos válidos são message e string . |
build |
steps.jsontoxml.InvalidSourceType |
500 |
Este erro ocorrerá se o tipo da variável usado para definir o elemento <Source>
for inválido. Os tipos válidos de variável são message e string . |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 |
Esse erro ocorrerá se a variável especificada no elemento <Source> da política JSON para
XML for do tipo string e o elemento <OutputVariable> não for definido.
O elemento <OutputVariable> é obrigatório quando a variável definida no elemento <Source>
é do tipo string. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Esse erro ocorrerá se a variável message
especificada no elemento <Source> da política JSON para XML se enquadrar em uma destas situações:
|
build |
Erros na implantação
Nenhum.
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | jsontoxml.JSON-to-XML-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Exemplo de regra de falha
<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>
Política KeyValueMapOperations
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas e as variáveis com falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Corrigir |
---|---|---|---|
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
Esse erro ocorrerá se o atributo |
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidIndex |
Se o atributo index especificado no elemento <Get> da política KeyValueMapOperations for zero ou um número negativo, a implantação do proxy da API falhará. O índice começa em
1 , portanto, um índice de zero ou inteiro negativo é considerado inválido.
|
build |
KeyIsMissing |
Esse erro ocorrerá se o elemento <Key> estiver completamente ausente ou o elemento <Parameter> estiver ausente no elemento <Key> abaixo do <Entry> do elemento <InitialEntries> de KeyValueMapOperations .
|
build |
ValueIsMissing |
Esse erro ocorrerá se o elemento <Value> estiver ausente do elemento <Entry> do elemento <InitialEntries> da política KeyValueMapOperations . |
build |
Política MessageLogging
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 |
Consulte string de falha. |
steps.messagelogging.InvalidGoogleCloudLogName |
500 |
Esse erro é gerado quando o LogName não é avaliado para o formato válido de
projects/{project}/logs/{logid}. |
steps.messagelogging.InvalidJsonMessage |
500 |
Esse erro é gerado quando o valor dos atributos contentType é
selecionado como application/json , mas o valor da mensagem real não é uma string
JSON válida. |
steps.messagelogging.TooManyPendingLoggingRequest |
500 |
Esse erro é gerado quando há mais de 2.500 solicitações pendentes que ainda não foram gravadas no Cloud Logging. O limite de 2.500 é para cada pod de ambiente de execução da Apigee. Por exemplo, se o tráfego for distribuído em duas instâncias de pods do ambiente de execução da Apigee, o limite efetivo será de 5.000 solicitações. |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidProtocol |
A implantação da política MessageLogging poderá falhar com este erro se o protocolo
especificado no elemento <Protocol> não for válido. Os protocolos válidos são TCP e UDP.
Para enviar mensagens syslog por TLS/SSL, apenas TCP é aceito. |
build |
InvalidPort |
A implantação da política MessageLogging poderá falhar com este erro se o número de porta
não for especificado no elemento <Port> ou se ele não for válido. O número da porta precisa ser
um número inteiro maior que zero. |
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | messagelogging.ML-LogMessages.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed" }, "faultstring":"Execution failed" } }
Exemplo de regra de falha
<FaultRule name="MessageLogging"> <Step> <Name>ML-LogMessages</Name> <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition> </Step> <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition> </FaultRule>
Política OASValidation
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.oasvalidation.Failed |
400 |
O corpo da mensagem da solicitação não pode ser validado de acordo com a especificação OpenAPI fornecida. |
steps.oasvalidation.Failed |
500 |
Não é possível validar o corpo da mensagem de resposta em relação à especificação OpenAPI fornecida. |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
A variável especificada no elemento |
steps.oasvalidation.NonMessageVariable |
500 |
O elemento |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | |
---|---|---|
ResourceDoesNotExist |
A especificação OpenAPI referenciada no elemento <OASResource> não existe.
|
|
ResourceCompileFailed |
A especificação OpenAPI incluída na implantação contém erros que impedem que ela seja compilada. Geralmente, isso indica que a especificação não é uma Especificação OpenAPI 3.0 bem formada. | |
BadResourceURL |
A especificação OpenAPI referenciada no elemento <OASResource> não pode ser processada. Isso poderá ocorrer se o arquivo não for JSON ou YAML ou se o
URL do arquivo não estiver especificado corretamente.
|
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variável | Descrição | Exemplo |
---|---|---|
fault.category |
A categoria da falha. Quando a política rejeita uma solicitação, ela sempre conterá Step . |
fault.category = "Step" |
fault.name |
O nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "ResourceDoesNotExist" |
fault.reason |
O motivo da falha. É uma string legível que explica o motivo da falha. | OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]" |
fault.subcategory |
A subcategoria da falha. Quando a política rejeita uma solicitação, ela sempre conterá OASValidationFailure . |
fault.subcategory = "OASValidationFailure" |
OASValidation.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | OASValidation.myoaspolicy.failed = true |
Política PopulateCache
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status do HTTP | Ocorre quando |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 |
Uma entrada não pode ser armazenada em cache. O objeto de mensagem em cache não é uma instância de uma classe que é serializável. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidCacheResourceReference |
Esse erro ocorrerá se o elemento <CacheResource> na política PopulateCache for definido como
um nome que não existe no ambiente em que o proxy de API está sendo implantado. |
build |
CacheNotFound |
O cache especificado no elemento <CacheResource> não existe. |
build |
Variáveis de falha
Essas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | populatecache.POP-CACHE-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Exemplo de regra de falha
<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>
Política LookupCache
Nesta seção, descrevemos as mensagens de erro e as variáveis de fluxo que são definidas quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para um proxy. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Prefixo do código de erro
N/A
Erros de execução
Essa política não gera erros de ambiente de execução.
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidCacheResourceReference |
Esse erro ocorrerá se o elemento <CacheResource> estiver definido como um
nome que não existe no ambiente em que o proxy de API está sendo implantado. |
build |
InvalidTimeout |
Se o elemento <CacheLookupTimeoutInSeconds> estiver definido como
um número negativo, a implantação do proxy de API falhará. |
build |
CacheNotFound |
Esse erro ocorre quando o cache específico mencionado na mensagem de erro não tiver sido criado em um componente de processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política InvalidateCache
Nesta seção, descrevemos as mensagens de erro e as variáveis de fluxo que são definidas quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para um proxy. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Prefixo do código de erro
N/A
Erros de execução
Essa política não gera erros de ambiente de execução.
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidCacheResourceReference |
Esse erro ocorrerá se o elemento <CacheResource> na política InvalidateCache estiver definido como um nome que não exista no ambiente em que o proxy de API está sendo implantado. |
build |
CacheNotFound |
Esse erro ocorre quando o cache específico mencionado na mensagem de erro não tiver sido criado em um componente de processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política ResponseCache
Nesta seção, descrevemos as mensagens de erro e as variáveis de fluxo que são definidas quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para um proxy. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Prefixo do código de erro
N/A
Erros de execução
Essa política não gera erros de ambiente de execução.
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidTimeout |
Se o elemento <CacheLookupTimeoutInSeconds> de uma política ResponseCache estiver definida como um número negativo, a implantação do proxy da API falhará. |
build |
InvalidCacheResourceReference |
Esse erro ocorrerá se o elemento <CacheResource> na política ResponseCache estiver definido como um nome que não exista no ambiente em que o proxy de API está sendo implantado. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Este erro ocorre quando a mesma política ResponseCache está anexada a vários caminhos de solicitação em qualquer fluxo de um proxy de API. |
build |
ResponseCacheStepAttachmentNotAllowedResp |
Esse erro ocorre quando a mesma política ResponseCache está anexada a vários caminhos de resposta em qualquer fluxo de um proxy de API. |
build |
InvalidMessagePatternForErrorCode |
Esse erro ocorre quando o elemento <SkipCacheLookup> ou <SkipCachePopulation>
em uma política ResponseCache tem uma condição inválida. |
build |
CacheNotFound |
Esse erro ocorre quando o cache específico mencionado na mensagem de erro não tiver sido criado em um componente de processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A
Política do OAuthV2
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Lançada por operações |
---|---|---|---|
steps.oauth.v2.access_token_expired |
401 |
O token de acesso expirou. |
|
steps.oauth.v2.access_token_not_approved |
401 |
O token de acesso foi revogado. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 |
O recurso solicitado não existe nos produtos de API associados ao token de acesso. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 |
A política esperada encontrou um token de acesso em uma variável especificada no elemento
<AccessToken> , mas não foi possível resolver a variável. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 |
A política esperada encontrou um código de autorização em uma variável especificada no elemento
<Code> , mas não foi possível resolver a variável. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 |
A política esperada encontra o ID do cliente em uma variável especificada no elemento
<ClientId> , mas não foi possível resolver a variável. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 |
A política esperada encontrou um token de atualização em uma variável especificada no elemento
<RefreshToken> , mas não foi possível resolver a variável. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 |
A política esperada encontrou um token em uma variável especificada no elemento
<Tokens> , mas não foi possível resolver a variável. |
|
steps.oauth.v2.InsufficientScope |
403 | O token de acesso apresentado na solicitação tem um escopo que não corresponde ao escopo especificado na política de verificação de tokens de acesso. Para saber mais sobre o escopo, consulte Como trabalhar com escopos do OAuth2. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 |
O token de acesso enviado do cliente é inválido. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
Esse nome de erro é retornado quando a propriedade |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.invalid_request |
400 | Esse nome é usado para vários tipos diferentes de erro, geralmente para parâmetros ausentes
ou incorretos enviados na solicitação. Se <GenerateResponse> estiver
definido como false , use variáveis de falha (descritas abaixo) para recuperar detalhes sobre
o erro, como o nome e a causa da falha. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 |
O cabeçalho de autorização não tem a palavra Bearer , que é obrigatória. Por
exemplo: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNo\ |
401 |
O proxy ou operação de API em execução no momento não está no produto associado ao token de acesso. Dicas: verifique se o produto associado ao token de acesso está configurado corretamente. Por exemplo, se você usar caracteres curinga em caminhos de recursos, verifique se os caracteres curinga estão sendo usados corretamente. Consulte os detalhes em Como gerenciar produtos da API. Consulte também Verificação do token de acesso do Oauth2.0 gera um erro "Chamada de API inválida como nenhuma correspondência de apiproduct encontrada" para ver detalhes sobre as causas desse erro. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
Esse nome de erro é retornado quando a propriedade |
|
steps.oauth.v2.InvalidParameter |
500 |
A política precisa especificar um token de acesso ou um código de autorização, mas não ambos. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 |
O elemento <Tokens>/<Token> requer que você especifique o tipo de
token (por exemplo, refreshtoken ). Se o cliente transmitir o tipo errado, esse
erro será gerado. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 |
O tipo de resposta é token , mas nenhum tipo de concessão é especificado. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
O cliente especificou um tipo de concessão que não é compatível com a política (não listada no
elemento |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Erros de ambiente de execução específicos do token JWT
Os códigos de erro do ambiente de execução e as descrições dos fluxos de token de autenticação do JWT dependem do contexto do fluxo OAuth2:
- Se o contexto de fluxo for geração ou atualização de token, consulte Códigos de erro para fluxos de geração e atualização de tokens JWT abaixo.
- Para o fluxo de verificação de token, consulte Códigos de erro para fluxos de verificação de token abaixo.
Códigos de erro para fluxos de geração e atualização de tokens JWT
Para fluxos do OAuth2 que geram ou atualizam tokens JWT, as respostas de erro obedecem às respostas de erro especificadas em RFC6749. Para mais detalhes, consulte a Seção 5.2 Erro de resposta.
Códigos de erro para o fluxo de verificação de token
Os códigos de erro listados na tabela a seguir se aplicam apenas à operação VerifyAccessToken.
Código de falha | Status HTTP | Causa | Lançada por operações |
---|---|---|---|
oauth.v2.JWTSigningFailed |
401 |
A política não conseguiu assinar o JWT. |
|
oauth.v2.InvalidValueForJWTAlgorithm |
401 |
Isso ocorre quando o algoritmo não está presente no token de acesso JWT ou quando o valor não é compatível. |
|
oauth.v2.InsufficientKeyLength |
401 |
Na geração do JWT, para uma chave menor que o tamanho mínimo dos algoritmos HS384 ou HS512; |
|
oauth.v2.JWTAlgorithmMismatch |
401 |
O algoritmo especificado na política de geração não corresponde ao esperado na política de verificação. Os algoritmos especificados precisam corresponder. |
|
oauth.v2.JWTDecodingFailed |
401 |
A política não conseguiu decodificar o JWT. É possível que o JWT esteja corrompido. |
|
oauth.v2.MissingMandatoryClaimsInJWT |
401 |
Ocorre quando as reivindicações obrigatórias não estão presentes no token de acesso do Jwt. |
|
oauth.v2.InvalidJWTSignature |
401 |
Isso ocorre quando não é possível verificar a assinatura do token de acesso JWT ou quando a assinatura é inválida. |
|
oauth.v2.InvalidTypeInJWTHeader |
401 |
Ocorre quando o tipo do JWT não é at+Jwt |
|
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa |
---|---|
InvalidValueForExpiresIn |
Para o elemento |
InvalidValueForRefreshTokenExpiresIn |
Para o elemento <RefreshTokenExpiresIn> , os valores válidos são números inteiros
positivos e -1 . |
InvalidGrantType |
Um tipo de concessão inválido é especificado no elemento
<SupportedGrantTypes> . Consulte a referência da política para ver uma lista de tipos válidos. |
ExpiresInNotApplicableForOperation |
Verifique se as operações especificadas no elemento <Operations> são compatíveis com a
expiração. Por exemplo, a operação VerifyToken não é. |
RefreshTokenExpiresInNotApplicableForOperation |
Verifique se as operações especificadas no elemento <Operations> são compatíveis com a
expiração do token de atualização. Por exemplo, a operação VerifyToken não. |
GrantTypesNotApplicableForOperation |
Verifique se os tipos de concessão especificados em <SupportedGrantTypes> são compatíveis com
a operação especificada. |
OperationRequired |
Especifique uma operação nessa política usando o elemento
|
InvalidOperation |
Especifique uma operação válida nesta política usando o
elemento |
TokenValueRequired |
Especifique um valor de token <Token> no
elemento <Tokens> . |
Erros de implantação específicos do token JWT
Esses erros de implantação são específicos às políticas que usam operações de token JWT.
Nome do erro | Causa |
---|---|
InvalidValueForAlgorithm |
O algoritmo especificado no elemento <Algorithm> não está
entre a lista de algoritmos disponíveis ou não está presente. |
MissingKeyConfiguration |
Os elementos necessários <SecretKey> , <PrivateKey> ou <PublicKey> estão ausentes, dependendo do algoritmo usado. |
EmptyValueElementForKeyConfiguration |
O elemento filho obrigatório <Value> não está definido nos elementos <PrivateKey> , <PublicKey> ou <SecretKey> |
InvalidKeyConfiguration |
O elemento <PrivateKey> não é usado com algoritmos da família RSA ou o elemento <SecretKey>
não é usado com algoritmos da família HS. |
EmptyRefAttributeForKeyconfiguration |
O atributo ref do elemento filho <Value> dos
elementos <PrivateKey> , <PublicKey> ou <SecretKey> está vazio. |
InvalidVariableNameForKey |
O nome da variável de fluxo especificada no atributo ref do elemento filho <Value> dos elementos <PrivateKey> , <PublicKey> ou <SecretKey> não contém os Prefixo private . |
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "invalid_request" |
oauthV2.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GenerateAccesstoken.fault.name = invalid_request
|
oauthV2.policy_name.fault.cause |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Exemplo de resposta de erro
Essas respostas serão enviadas de volta ao cliente se o elemento <GenerateResponse>
for true.
Se <GenerateResponse>
for true, a política retornará erros
nesse formato para operações que geram tokens e códigos. Para uma lista completa, consulte a
Referência de resposta
de erro HTTP do OAuth.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}
Se <GenerateResponse>
for true, a política retornará erros
nesse formato para verificar e validar operações. Para uma lista completa, consulte a Referência de resposta
de erro HTTP do OAuth.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Exemplo de regra de falha
<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>
Política GetOAuthV2Info
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada. Os nomes de erro mostrados abaixo são as strings atribuídas à variável fault.name
quando ocorre um erro. Consulte a seção "Variáveis de falha" abaixo para mais detalhes.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
O token de acesso enviado para a política expirou. |
steps.oauth.v2.authorization_code_expired |
500 |
O código de autorização enviado para a política expirou. |
steps.oauth.v2.invalid_access_token |
500 |
O token de acesso enviado para a política é inválido. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 |
O ID do cliente enviado para a política é inválido. |
steps.oauth.v2.invalid_refresh_token |
500 |
O token de atualização enviado para a política é inválido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 |
O código de autorização enviado para a política é inválido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Consulte A verificação do token de acesso do Oauth2.0 gera um erro "Chamada de API inválida como nenhuma correspondência de apiproduct foi encontrada" para mais informações sobre como solucionar este erro. |
steps.oauth.v2.refresh_token_expired |
500 |
O token de atualização enviado para a política expirou. |
Erros de implantação
Consulte a mensagem relatada na IU para informações sobre erros de implantação.
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Exemplo de resposta de erro
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Exemplo de regra de falha
<FaultRule name="OAuthV2 Faults"> <Step> <Name>AM-InvalidClientIdResponse</Name> </Step> <Condition>(fault.name = "invalid_client-invalid_client_id")</Condition> </FaultRule>
Política SetOAuthV2Info
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
steps.oauth.v2.access_token_expired |
500 |
The access token sent to the policy is expired. |
steps.oauth.v2.invalid_access_token |
500 |
The access token sent to the policy is invalid. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Please see Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error for information about troubleshooting this error. |
Deployment errors
Refer to the message reported in the UI for information about deployment errors.
Fault variables
These variables are set when this policy triggers an error at runtime.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Example error response
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Example fault rule
<FaultRule name=SetOAuthV2Info Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> <Condition>(fault.name = "invalid_access_token")</Condition> </Step> <Condition>(oauthV2.failed = true) </Condition> </FaultRule>
Política DeleteOAuthV2Info
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
steps.oauth.v2.invalid_access_token |
401 |
The access token sent to the policy is invalid. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
401 |
The authorization code sent to the policy is invalid. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
Please see Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error for information about troubleshooting this error. |
Deployment errors
Refer to the message reported in the UI for information about deployment errors.
Fault variables
These variables are set when this policy triggers an error at runtime.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.DeleteTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.DeleteTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.DeleteTokenInfo.cause = Invalid Access Token |
Example error response
{ "fault": { "faultstring": "Invalid Access Token", "detail": { "errorcode": "keymanagement.service.invalid_access_token" } } }
Example fault rule
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="DeleteOAuthV2Info_Faults"> <Step> <Name>AM-InvalidTokenResponse</Name> </Step> <Condition>(fault.name = "invalid_access_token")</Condition> </FaultRule>
Política PythonScript
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 |
The PythonScript policy can throw several different types of ScriptExecutionFailed errors. Commonly seen types of errors include NameError and ZeroDivisionError. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidResourceUrlFormat |
If the format of the resource URL specified within the <ResourceURL> or
the <IncludeURL> element of the PythonScript policy is invalid, then the deployment of the API proxy fails. |
build |
InvalidResourceUrlReference |
If the <ResourceURL> or the <IncludeURL> elements
refer to a PythonScript file that does not exist, then the deployment of the API proxy fails.
The referenced source file must exist either the API proxy, environment, or organization level. |
build |
Fault variables
These variables are set when this policy triggers an error at runtime. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | pythonscript.PythonScript-1.failed = true |
Example error response
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Example fault rule
<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>
Política de cotas
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 |
Ocorre se o elemento <Interval> não estiver definido na política Quota . Esse elemento
é obrigatório e usado para especificar o intervalo de tempo aplicável à cota. O intervalo de tempo
pode ser minutos, horas, dias, semanas ou meses, conforme definido com o elemento <TimeUnit> . |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 |
Ocorre se o elemento <TimeUnit> não estiver definido na política Quota . Esse elemento
é obrigatório e é usado para especificar a unidade de tempo aplicável à cota. O intervalo de tempo
pode ser de minutos, horas, dias, semanas ou meses. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Ocorre se o valor do elemento <MessageWeight> especificado por meio de uma variável de fluxo for
inválido (um valor não inteiro). |
build |
policies.ratelimit.QuotaViolation |
500 |
O limite de cota foi excedido. | N/A |
Erros na implantação
Nome do erro | Causa | Correção |
---|---|---|
InvalidQuotaInterval |
Se o intervalo de cota especificado no elemento <Interval> não
for um número inteiro, a implantação do proxy de API falhará. Por exemplo, se o intervalo de cota
especificado for 0.1 no elemento <Interval> , a implantação do
proxy de API falhará.
|
build |
InvalidQuotaTimeUnit |
Se a unidade de tempo especificada no elemento <TimeUnit> não for compatível,
a implantação do proxy de API falhará. As unidades de tempo compatíveis são minute ,
hour , day , week e month .
|
build |
InvalidQuotaType |
Se o tipo de cota especificado pelo atributo type no elemento <Quota>
for inválido, a implantação do proxy da API falhará. Os
tipos de cota compatíveis são default , calendar , flexi e rollingwindow .
|
build |
InvalidStartTime |
Se o formato do tempo especificado no elemento <StartTime> for
inválido, a implantação do proxy de API falhará. O formato válido é yyyy-MM-dd HH:mm:ss ,
que é o formato de data e hora ISO 8601. Por
exemplo, se o tempo especificado no elemento <StartTime> for
7-16-2017 12:00:00 , a implantação do proxy da API falhará.
|
build |
StartTimeNotSupported |
Se o elemento <StartTime> for especificado e tem um tipo de cota que não é
calendar , a implantação do proxy da API falhará. O elemento <StartTime> é
compatível apenas com o tipo de cota calendar . Por exemplo, se o atributo type estiver definido
como flexi ou rolling window no elemento <Quota> , a
implantação do proxy da API falhará.
|
build |
InvalidTimeUnitForDistributedQuota |
Se o elemento <Distributed> estiver definido como true e o elemento <TimeUnit> estiver definido como
second , a implantação do proxy de API falhará. A unidade de tempo second é inválida para
uma cota distribuída. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Se o valor especificado para o elemento <SyncIntervalInSeconds> dentro do elemento
<AsynchronousConfiguration> em uma política Quota for menor que zero, a
implantação do proxy de API falhará. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Se o valor do elemento <AsynchronousConfiguration> estiver definido como true em uma política Quota , que também tem uma configuração assíncrona definida usando o elemento <AsynchronousConfiguration> , a implantação do proxy de API falhará. |
build |
Variáveis de falha
Essas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | ratelimit.QT-QuotaPolicy.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Exemplo de regra de falha
<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>
Política ResetQuota
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 |
A política Quota especificada no elemento <Quota> da política ResetQuota não é definida no proxy da API e, portanto, não está disponível durante o fluxo. O elemento <Quota> é obrigatório e identifica a política de destino Quota cujo contador deve ser atualizado por meio da política ResetQuota . |
build |
policies.resetquota.FailedToResolveAllowCountRef |
N/A | Não é possível resolver o valor da referência na variável que contém a contagem de permissões no elemento <Allow>
da política. Esse elemento é obrigatório e especifica o valor
para diminuir o contador de cotas. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 |
A variável referenciada pelo atributo ref no elemento <Quota> não pode
ser resolvida. |
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidCount |
Se o valor de contagem especificado no elemento <Allow> da política ResetQuota não for um número inteiro, a implantação do proxy da API falhará.
|
build |
RaiseFaultpolicy
Nesta seção, descrevemos os códigos de falha e as mensagens de erro retornadas e as variáveis com falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.raisefault.RaiseFault |
500 |
Consulte string de falha. |
Erros de implantação
Nenhum.
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "RaiseFault" |
raisefault.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | raisefault.RF-ThrowError.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Política RegularExpressionProtection
Nesta seção, descrevemos os códigos de erro e as mensagens retornadas, bem como as variáveis de falha
definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se
você está desenvolvendo regras de falha para lidar com falhas. Se você quiser capturar um erro e criar seu próprio
erro personalizado, defina o atributo continueOnError="true"
no elemento raiz da política.
Para mais informações, consulte
O que você precisa saber sobre erros de política e Como lidar
com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de erro | Mensagem |
---|---|
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} |
Erros na implantação
Código de erro | Mensagem | Correção |
---|---|---|
CannotBeConvertedToNodeset |
RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset.
Context {2} |
build |
DuplicatePrefix |
RegularExpressionProtection {0}: Duplicate prefix {1} |
build |
EmptyJSONPathExpression |
RegularExpressionProtection {0}: Empty JSONPath expression |
build |
EmptyXPathExpression |
RegularExpressionProtection {0}: Empty XPath expression |
build |
InvalidRegularExpression |
RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2} |
build |
JSONPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2} |
build |
NONEmptyPrefixMappedToEmptyURI |
RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty
uri |
build |
NoPatternsToEnforce |
RegularExpressionProtection {0}: No patterns to enforce in {1} |
build |
NothingToEnforce |
RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header,
FormParam, XMLPayload, JSONPayload is mandatory |
build |
XPathCompilationFailed |
RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2} |
build |
Variáveis de falha
Essas variáveis são definidas quando esta política aciona um erro. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela acima. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Política SAMLAssertion
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
SourceNotConfigured |
Um ou mais dos seguintes elementos da política ValidateSAMLAssertion não está definido ou está vazio: <Source> , <XPath> , <Namespaces> , <Namespace> .
|
build |
TrustStoreNotConfigured |
Se o elemento <TrustStore> estiver vazio ou não for especificado na política ValidateSAMLAssertion , a implantação do proxy de API falhará.
Uma truststore válido é obrigatório.
|
build |
NullKeyStoreAlias |
Se o elemento filho <Alias> estiver vazio ou não especificado no elemento <Keystore> da política GenerateSAMLAssertion , a implantação do proxy de API falhará. Um alias de keystore válido é obrigatório.
|
build |
NullKeyStore |
Se o elemento filho <Name> estiver vazio ou não especificado no elemento <Keystore> da política GenerateSAMLAssertion , a implantação do proxy de API falhará. Um nome válido de keystore é obrigatório.
|
build |
NullIssuer |
Se o elemento <Issuer> estiver vazio ou não for especificado na política GenerateSAMLAssertion , a implantação do proxy de API falhará. Um valor de <Issuer> válido é necessário.
|
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha. O nome da falha é a última parte do código de falha. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Para uma configuração de política de declaração SAML válida, o prefixo do erro é
ValidateSAMLAssertion . |
GenerateSAMLAssertion.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Exemplo de regra de falha
<FaultRules> <FaultRule name="invalid_saml_rule"> <Step> <Name>invalid-saml</Name> </Step> <Condition>(GenerateSAMLAssertion.failed = "true")</Condition> </FaultRule> </FaultRules>
Política ServiceCallout
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Corrigir |
---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Esse erro pode ocorrer quando:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 |
A variável Request especificada na política não é do tipo Message . Por exemplo, no caso de uma string ou outro tipo de mensagem que não é uma mensagem, você vê esse erro. |
build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 |
A variável Request especificada na política não é do tipo RequestMessage . Por exemplo, se for um tipo de resposta, você verá esse erro. |
build |
googletoken.EmptyIDTokenAudience |
500 |
|
|
messaging.adaptors.http.filter.GoogleTokenGenerationFailure |
500 |
Esse erro pode acontecer se o proxy de API estiver configurado com o elemento <Authentication>. Estas são as possíveis causas:
<GoogleAccessToken> é usado e um ou mais escopos inválidos são fornecidos. Por exemplo, procure erros de digitação ou escopos vazios.
Somente para a Apigee híbrida, verifique o registro do contêiner de ambiente de execução e procure
|
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
URLMissing |
O elemento <URL> dentro de <HTTPTargetConnection> está ausente ou vazio. |
build |
ConnectionInfoMissing |
Esse erro ocorrerá se a política não tiver um elemento <HTTPTargetConnection> ou <LocalTargetConnection> . |
build |
InvalidTimeoutValue |
Este erro ocorrerá se o valor <Timeout> for negativo ou zero. |
build |
FAILED_PRECONDITION |
Esse erro ocorrerá se a conta de serviço estiver ausente quando o proxy estiver configurado com a tag <Authentication>.
Exemplo: Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service account identity, but one was not provided with the request. |
|
PERMISSION_DENIED |
Esse erro ocorrerá se houver um problema de permissão com a conta de serviço se o proxy estiver configurado com a tag <Authentication>. Causas possíveis:
|
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | servicecallout.SC-GetUserData.failed = true |
Exemplo de resposta de erro
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Exemplo de regra de falha
<FaultRule name="RequestVariableNotMessageType"> <Step> <Name>AM-RequestVariableNotMessageType</Name> </Step> <Condition>(fault.name = "RequestVariableNotMessageType")</Condition> </FaultRule>
Política SOAPMessageValidation
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Esse erro ocorre se uma variável especificada no elemento
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Esse erro ocorrerá se o elemento As variáveis do tipo Message representam solicitações e respostas HTTP completas. As variáveis integradas do
fluxo da Apigee |
build |
steps.messagevalidation.Failed |
500 | Esse erro ocorrerá se a política SOAPMessageValidation não validar o payload da mensagem de entrada no esquema XSD ou na definição WSDL. Isso também ocorrerá se houver JSON ou XML malformado na mensagem de payload. | build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém essa política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidResourceType |
O elemento <ResourceURL> na política SOAPMessageValidation é definido como um tipo de recurso
não compatível com a política.
|
build |
ResourceCompileFailed |
O script de recurso referenciado no elemento <ResourceURL> da política
SOAPMessageValidation contém um erro que o impede de compilar.
|
build |
RootElementNameUnspecified |
O elemento <Element> na política SOAPMessageValidation não contém o nome do elemento raiz. |
build |
InvalidRootElementName |
O elemento <Element> na política SOAPMessageValidation contém um nome de elemento raiz
que não adere a regras XML para nomeação de elemento válida. |
build |
Política de Detenção de pico
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
This error occurs if the reference to the variable containing the rate setting
within the <Rate> element cannot be resolved to a value within the SpikeArrest
policy. This element is mandatory and used to specify the spike arrest rate in
the form of intpm or intps . |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
This error occurs if the value specified for the <MessageWeight> element through
a flow variable is invalid (a non-integer value). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
The rate limit is exceeded. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidAllowedRate |
If the spike arrest rate specified in the <Rate> element of the SpikeArrest
policy is not an integer or if the rate does not have ps or pm as a suffix,
then the deployment of the API proxy fails. |
build |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Example error response
Shown below is an example error response:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Example fault rule
Shown below is an example fault rule to handle a SpikeArrestViolation
fault:
<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>
Política VerifyAPIKey
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause |
---|---|---|
keymanagement.service.consumer_key_missing_api_product_association |
400 |
The application credential is missing an API product association. Please associate the key's application with an API product. Note that this applies for all application types, such as developer apps and AppGroup apps. |
keymanagement.service.DeveloperStatusNotActive |
401 |
The developer who created the Developer App that has the API key you are using has an inactive status. When an App Developer's status is set to inactive, any Developer Apps created by that developer are deactivated. An admin user with appropriate permissions (such as Organization Administrator) can change a developer's status in the following ways:
|
keymanagement.service.invalid_client-app_not_approved |
401 |
The Developer App associated with the API key is revoked. A revoked app cannot access any API products and cannot invoke any API managed by Apigee. An org admin can change the status of a Developer App using the Apigee API. See Generate Key Pair or Update Developer App Status. |
oauth.v2.FailedToResolveAPIKey |
401 |
The policy expects to find the API key in a variable that is specified in the policy's <APIKey> element. This error arises when the expected variable does not exist (it cannot be resolved). |
oauth.v2.InvalidApiKey |
401 |
An API key was received by Apigee, but it is invalid. When Apigee looks up the key in its database, it must exactly match the one that was sent in the request. If the API worked previously, make sure the key was not regenerated. If the key was regenerated, you will see this error if you try to use the old key. For details, see Controlling access to your APIs by registering apps. |
oauth.v2.InvalidApiKeyForGivenResource |
401 |
An API key was received by Apigee, and it is valid; however, it does not match an approved key in the Developer App associated with your API proxy through a Product. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause |
---|---|
SpecifyValueOrRefApiKey |
The <APIKey> element does not have a value or key specified. |
Fault variables
These variables are set when a runtime error occurs. For more information, see What you need to know about policy errors.
Variables | Where | Example |
---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.VK-VerifyAPIKey.failed = true |
Example error responses
{ "fault":{ "faultstring":"Invalid ApiKey", "detail":{ "errorcode":"oauth.v2.InvalidApiKey" } } }
{ "fault":{ "detail":{ "errorcode":"keymanagement.service.DeveloperStatusNotActive" }, "faultstring":"Developer Status is not Active" } }
Example fault rule
<FaultRule name="FailedToResolveAPIKey"> <Step> <Name>AM-FailedToResolveAPIKey</Name> </Step> <Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition> </FaultRule>
Política VerifyIAM
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Não foi possível resolver a variável de fluxo fornecida na origem de credenciais. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Credencial não encontrada. Se a referência da origem da credencial não for fornecida, vamos analisar o local padrão, como o cabeçalho de autorização. |
steps.verifyiam.Forbidden |
403 |
Não foi possível encaminhar a solicitação devido à falta de permissões suficientes ou à falta de escopos de acesso ou a outros problemas relacionados. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Um problema com a solicitação de autenticação para o IAM. O produtor da API precisa corrigir esse erro com base nos detalhes na resposta de erro. |
steps.verifyiam.Unauthorized |
401 |
Problema com a credencial, como o valor inválido ou expirado. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Erro interno. |
Erros de implantação
Essa política não retorna erros de implantação específicos da política.
Variáveis de falha
Essas variáveis são definidas quando essa política aciona um erro no ambiente de execução.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name é o nome da política especificada pelo usuário que gerou a falha. | verifyiam.Verify-IAMToken.failed = true |
Política VerifyJWS
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Ocorre quando |
---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de verificação tem vários algoritmos |
steps.jws.AlgorithmMismatch |
401 |
O algoritmo especificado no cabeçalho pela política Generate não correspondia ao esperado na
política Verify . Os algoritmos especificados precisam corresponder. |
steps.jws.ContentIsNotDetached |
401 |
<DetachedContent> é especificado quando o JWS não contém um
payload de conteúdo separado. |
steps.jws.FailedToDecode |
401 |
A política não conseguiu decodificar o JWS. A JWS está possivelmente corrompida. |
steps.jws.InsufficientKeyLength |
401 |
Para uma chave menor que 32 bytes para o algoritmo HS256 |
steps.jws.InvalidClaim |
401 |
Uma falta de reivindicação ou incompatibilidade de reivindicação ou falta de cabeçalho ou cabeçalho incompatível. |
steps.jws.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jws.InvalidJsonFormat |
401 |
JSON inválido encontrado no cabeçalho JWS. |
steps.jws.InvalidJws |
401 |
Esse erro ocorre quando a verificação de assinatura do JWS falha. |
steps.jws.InvalidPayload |
401 |
O payload do JWS é inválido. |
steps.jws.InvalidSignature |
401 |
<DetachedContent> é omitido e o JWS tem um payload de conteúdo separado. |
steps.jws.KeyIdMissing |
401 |
A política de Verify usa um JWKS como fonte para chaves públicas, mas o JWS assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jws.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública com as informações de chave fornecidas. |
steps.jws.MissingPayload |
401 |
O payload do JWS está ausente. |
steps.jws.NoAlgorithmFoundInHeader |
401 |
Ocorre quando a JWS omite o cabeçalho do algoritmo. |
steps.jws.NoMatchingPublicKey |
401 |
A política de Verify usa um JWKS como fonte para chaves públicas, mas o kid
no JWS assinado não está listado no JWKS. |
steps.jws.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política Verify JWS no cabeçalho crit não
está listado em KnownHeaders . |
steps.jws.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jws.WrongKeyType |
401 |
Tipo incorreto de chave especificado. Por exemplo, se você especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Ocorre quando |
---|---|
InvalidAlgorithm |
Os únicos valores válidos são: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512,
HS256, HS384, HS512 . |
|
Outros erros de implantação possíveis. |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "TokenExpired" |
JWS.failed |
Todas as políticas de JWS definem a mesma variável em caso de falha. | jws.JWS-Policy.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política VerifyJWT
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falhas para lidar com elas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Ocorre quando |
---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 |
Ocorre quando a política de verificação tem vários algoritmos. |
steps.jwt.AlgorithmMismatch |
401 |
O algoritmo especificado na política Generate não correspondeu ao esperado na
política Verify . Os algoritmos especificados precisam corresponder. |
steps.jwt.FailedToDecode |
401 |
A política não conseguiu decodificar o JWT. É possível que o JWT esteja corrompido. |
steps.jwt.GenerationFailed |
401 |
A política não pôde gerar o JWT. |
steps.jwt.InsufficientKeyLength |
401 |
Para uma chave com menos de 32 bytes para o algoritmo HS256, menos de 48 bytes para o algoritmo HS386 e menos de 64 bytes para o algoritmo HS512. |
steps.jwt.InvalidClaim |
401 |
Uma falta de reivindicação ou incompatibilidade de reivindicação ou falta de cabeçalho ou cabeçalho incompatível. |
steps.jwt.InvalidConfiguration |
401 |
Os elementos <Algorithm> e <Algorithms>
estão presentes. |
steps.jwt.InvalidCurve |
401 |
A curva especificada pela chave não é válida para o algoritmo de curva elíptica. |
steps.jwt.InvalidIterationCount |
401 |
A contagem de iterações usada no JWT criptografado não é igual à contagem de iteração especificada na configuração da política "Verificar JWT". Isso se aplica apenas ao JWT que
usa <PasswordKey> . |
steps.jwt.InvalidJsonFormat |
401 |
JSON inválido encontrado no cabeçalho ou payload. |
steps.jwt.InvalidKeyConfiguration |
401 |
JWKS no elemento <PublicKey> é inválido. O motivo
pode ser que o endpoint do URI JWKS não pode ser acessado pela instância da Apigee. Teste
a conectividade com o endpoint criando um proxy de passagem e usando o endpoint JWKS
como destino. |
steps.jwt.InvalidSaltLength |
401 |
O comprimento de sal usado no JWT criptografado não é igual ao comprimento de sal especificado na configuração da política "VerifyJWT". Isso se aplica apenas ao JWT que
usa <PasswordKey> . |
steps.jwt.InvalidPasswordKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidPrivateKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidPublicKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidSecretKey |
401 |
A chave especificada não atendeu aos requisitos. |
steps.jwt.InvalidToken |
401 |
Esse erro ocorre quando a verificação de assinatura do JWT falha. |
steps.jwt.JwtAudienceMismatch |
401 |
A declaração de público falhou na verificação do token. |
steps.jwt.JwtIssuerMismatch |
401 |
A declaração do emissor falhou na verificação do token. |
steps.jwt.JwtSubjectMismatch |
401 |
A declaração do assunto falhou na verificação do token. |
steps.jwt.KeyIdMissing |
401 |
A política Verify usa um JWKS como fonte para chaves públicas, mas o JWT assinado não
inclui uma propriedade kid no cabeçalho. |
steps.jwt.KeyParsingFailed |
401 |
Não foi possível analisar a chave pública com as informações de chave fornecidas. |
steps.jwt.NoAlgorithmFoundInHeader |
401 |
Ocorre quando o JWT não contém cabeçalho de algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 |
A política Verify usa um JWKS como fonte para chaves públicas, mas o kid
no JWT assinado não está listado no JWKS. |
steps.jwt.SigningFailed |
401 |
Em GenerateJWT, para uma chave menor que o tamanho mínimo para os algoritmos HS384 ou HS512 |
steps.jwt.TokenExpired |
401 |
A política tenta verificar um token expirado. |
steps.jwt.TokenNotYetValid |
401 |
O token ainda não é válido. |
steps.jwt.UnhandledCriticalHeader |
401 |
Um cabeçalho encontrado pela política de verificação de JWT no cabeçalho crit não está listado em KnownHeaders . |
steps.jwt.UnknownException |
401 |
Ocorreu uma exceção desconhecida. |
steps.jwt.WrongKeyType |
401 |
Tipo incorreto de chave especificado. Por exemplo, se você especificar uma chave RSA para um algoritmo de curva elíptica ou uma chave de curva para um algoritmo RSA. |
Erros de implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Correção |
---|---|---|
InvalidNameForAdditionalClaim |
A implantação falhará se a reivindicação usada no elemento filho <Claim>
do elemento <AdditionalClaims> é um dos seguintes nomes registrados:
kid , iss , sub , aud , iat ,
exp , nbf ou jti . |
build |
InvalidTypeForAdditionalClaim |
Se a declaração usada no elemento filho <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implantação falhará.
|
build |
MissingNameForAdditionalClaim |
Se o nome da declaração não for especificado no elemento filho <Claim>
do elemento <AdditionalClaims> , a implantação falhará.
|
build |
InvalidNameForAdditionalHeader |
Esse erro ocorre quando o nome da declaração usado no elemento filho <Claim>
do elemento <AdditionalClaims> é alg ou typ .
|
build |
InvalidTypeForAdditionalHeader |
Se o tipo de declaração usado no elemento filho <Claim>
do elemento <AdditionalClaims> não for do tipo string , number ,
boolean ou map , a implantação falhará.
|
build |
InvalidValueOfArrayAttribute |
Este erro ocorre quando o valor do atributo de matriz no elemento filho <Claim>
do elemento <AdditionalClaims> não está definido como true ou false .
|
build |
InvalidValueForElement |
Se o valor especificado no elemento <Algorithm> não for um valor compatível,
a implantação falhará.
|
build |
MissingConfigurationElement |
Esse erro ocorrerá se o elemento <PrivateKey> não for usado com
algoritmos de família RSA ou se o elemento <SecretKey> não for usado com algoritmos da
família HS.
|
build |
InvalidKeyConfiguration |
Se o elemento filho <Value> não estiver definido nos elementos <PrivateKey>
ou <SecretKey> , a implantação falhará.
|
build |
EmptyElementForKeyConfiguration |
Se o atributo de referência do elemento filho <Value> dos elementos <PrivateKey>
ou <SecretKey> estiver vazio ou não especificado, a implantação falhará.
|
build |
InvalidConfigurationForVerify |
Esse erro ocorrerá se o elemento <Id> estiver definido no
elemento <SecretKey> .
|
build |
InvalidEmptyElement |
Este erro ocorre se o elemento <Source> da política de verificação JWT
estiver vazio. Se presente, precisa ser definida com um nome de variável de fluxo da Apigee.
|
build |
InvalidPublicKeyValue |
Se o valor usado no elemento filho <JWKS> do elemento <PublicKey>
não usa um formato válido, conforme especificado no RFC 7517,
a implantação falhará.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Se o elemento <PrivateKey> é usado com os algoritmos da família HS ou
o elemento <SecretKey> é usado com os algoritmos da família RSA, a
implantação falhará.
|
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "InvalidToken" |
JWT.failed |
Todas as políticas do JWT definem a mesma variável em caso de falha. | JWT.failed = true |
Exemplo de resposta de erro
Para gerenciar erros, a prática recomendada é interceptar a parte errorcode
da resposta de erro. Não confie no texto em faultstring
, porque ele pode mudar.
Exemplo de regra de falha
<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>
Política XMLThreatProtection
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 |
A política XMLThreatProtection pode gerar vários tipos diferentes de erros ExecutionFailed .
A maioria desses erros ocorre quando um limite específico definido na política é excedido. Esses tipos de erros incluem: comprimento do nome do elemento, contagem de filhos, profundidade do nó, contagem de atributos, comprimento do nome do atributo e muitos outros. Veja a lista completa no tópico Solução de problemas da política XMLThreatProtection.
|
build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 |
Esse erro ocorre se o payload da mensagem de entrada especificado pelo elemento XMLThreatProtection da política <Source> não for um documento XML válido. |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 |
Esse erro ocorrerá se a variável message especificada no elemento <Source> for:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 |
Esse erro ocorrerá se o elemento <Source> estiver definido como uma variável que não é do tipo message. |
build |
Erros na implantação
Nenhum.
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | xmlattack.XPT-SecureRequest.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Exemplo de regra de falha
<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>
Política XMLtoJSON
Esta seção descreve os códigos de falha e as mensagens de erro que são retornadas e as variáveis de falha definidas pela Apigee quando essa política aciona um erro. Essas informações são importantes para saber se você está desenvolvendo regras de falha para lidar com falhas. Para saber mais, consulte O que você precisa saber sobre erros de política e Como lidar com falhas.
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Corrigir |
---|---|---|---|
steps.xmltojson.ExecutionFailed |
ExecutionFailed |
Este erro ocorre quando o payload de entrada (XML) está vazio ou o XML de entrada é inválido ou está malformado. | build |
steps.xmltojson.InCompatibleTypes |
ExecutionFailed |
Esse erro ocorrerá se o tipo da variável definido no elemento <Source> e o elemento
<OutputVariable> não forem os mesmos. É obrigatório que o tipo das variáveis
contidas no elemento <Source> e no elemento <OutputVariable> sejam iguais.
|
build |
steps.xmltojson.InvalidSourceType |
ExecutionFailed |
Esse erro ocorre se o tipo da variável usada para definir o elemento <Source> é
inválida. Os tipos válidos de variável são mensagem e string. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
ExecutionFailed |
Esse erro ocorre se a variável especificada no elemento <Source> da política XML para
JSON é do tipo string e o elemento <OutputVariable> não é definido.
O elemento <OutputVariable> é obrigatório quando a variável definida no elemento <Source>
é do tipo string. |
build |
steps.xmltojson.SourceUnavailable |
ExecutionFailed |
Esse erro ocorre se a variável message
especificada no elemento <Source> da política XML para JSON for:
|
build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
EitherOptionOrFormat |
Se um dos elementos <Options> ou <Format> não for
declarado na política XML para JSON, a implantação do proxy da API falhará.
|
build |
UnknownFormat |
Se o elemento <Format> na política XML para JSON tiver um formato desconhecido
definido, a implantação do proxy de API falhará. Os formatos predefinidos incluem:
xml.com , yahoo , google e badgerFish .
|
build |
Variáveis de falha
Essas variáveis são definidas quando ocorre um erro de tempo de execução. Para mais informações, consulte O que você precisa saber sobre erros de política.
Variáveis | Onde | Exemplo |
---|---|---|
fault.name="fault_name" |
fault_name é o nome da falha, conforme listado na tabela Erros de ambiente de execução acima. O nome da falha é a última parte do código de falha. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name é o nome especificado pelo usuário da política que causou a falha. | xmltojson.XMLtoJSON-1.failed = true |
Exemplo de resposta de erro
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Exemplo de regra de falha
<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>
Política de XSLTransform
Erros de execução
Esses erros podem ocorrer quando a política é executada.
Código de falha | Status HTTP | Causa | Correção |
---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
Esse erro ocorrerá se a variável da mensagem ou da string especificada no elemento <Source> da política XSLTransform estiver fora do escopo (não disponível no fluxo específico em que a política estiver sendo executada) ou não pode ser resolvido (não foi definido).
|
build |
steps.xsl.XSLEvaluationFailed |
500 |
Esse erro ocorrerá se o payload XML de entrada estiver indisponível/malformado ou se a política XSLTransform falhar/não puder transformar o arquivo XML de entrada com base nas regras de transformação fornecidas no arquivo XSL. Pode haver muitas causas diferentes para a falha da política XSLTransform. O motivo da falha na mensagem de erro fornecerá mais informações sobre a causa. | build |
Erros na implantação
Esses erros podem ocorrer quando você implanta um proxy que contém essa política.
Nome do erro | Causa | Correção |
---|---|---|
XSLEmptyResourceUrl |
Se o elemento <ResourceURL> na política XSLTransform estiver vazio, a implantação do proxy da API falhará. |
build |
XSLInvalidResourceType |
Se o tipo de recurso especificado no elemento <ResourceURL> da política XSLTransform não for do tipo xsl , a implantação do proxy de API falhará. |
build |