Estás viendo la documentación de Apigee Edge.
Ve a la
documentación de Apigee X. info
Política AccessControl
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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 |
|---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | The client IP address, or an IP address passed
in the API request, matches an IP address specified in the <SourceAddress> element within
the <MatchRule> element of the Access Control Policy, and the action attribute of the
<MatchRule> element is set to DENY. |
build |
Fault variables
These variables are set when a runtime error occurs. For more information, see Variables specific to 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 "IPDeniedAccess" |
acl.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | acl.AC-AllowAccess.failed = true |
Example fault response
{
"fault":{
"faultstring":"Access Denied for client ip : 52.211.243.3"
"detail":{
"errorcode":"accesscontrol.IPDeniedAccess"
}
}
}Example fault rule
<FaultRule name="IPDeniedAccess">
<Step>
<Name>AM-IPDeniedAccess</Name>
<Condition>(fault.name Matches "IPDeniedAccess") </Condition>
</Step>
<Condition>(acl.failed = true) </Condition>
</FaultRule>Política AccessEntity
Para obtener información relacionada, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Ninguno
Errores en la implementación
| Nombre del error | String de error | Estado de HTTP | Ocurre cuando |
|---|---|---|---|
InvalidEntityType |
Invalid type [entity_type] in ACCESSENTITYStepDefinition
[policy_name] |
N/A | El tipo de entidad que se use debe ser uno de los tipos compatibles. |
Política AssignMessage
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.assignmessage.SetVariableFailed |
500 | La política no pudo establecer una variable. Consulta la string con error para el nombre de la variable sin resolver. | |
steps.assignmessage.VariableOfNonMsgType |
500 |
Este error ocurre si el atributo Las variables del tipo de mensaje representan respuestas y solicitudes HTTP completas. El Edge integrado
Las variables de flujo |
build |
steps.assignmessage.UnresolvedVariable |
500 |
Este error ocurre si una variable especificada en la política de asignación de mensajes es una de las siguientes:
|
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidIndex |
Si el índice especificado en los elementos <Copy> o <Remove> del mensaje de asignación
sea 0 o un número negativo, la implementación del proxy de API fallará.
|
build |
InvalidVariableName |
Si el elemento secundario <Name> está vacío o no se especificó en el elemento <AssignVariable>, la implementación del proxy de API fallará porque no hay un nombre de variable válido al que asignarle un valor. Se requiere un nombre de variable válido.
|
build |
InvalidPayload |
Una carga útil especificada en la política no es válida. |
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "UnresolvedVariable" |
assignmessage.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | assignmessage.AM-SetResponse.failed = true |
Ejemplo de respuesta de error
{ "fault":{ "detail":{ "errorcode":"steps.assignmessage.VariableOfNonMsgType" }, "faultstring":"AssignMessage[AM-SetResponse]: value of variable is not of type Message" } }
Ejemplo de regla de falla
<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 de BasicAuthentication
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de controlar errores. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.basicauthentication.InvalidBasicAuthenticationSource |
500 | En una decodificación cuando la cadena codificada en Base64 entrante no contiene un valor o El encabezado tiene un formato incorrecto (p.ej., no comienza con "Básico"). | build |
steps.basicauthentication.UnresolvedVariable |
500 | Las variables de origen necesarias para la decodificación o codificación no están presentes. Este error solo puede ocurrir si IgnoreUnresolvedVariables es falso. |
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Ocurre cuando | Corregir |
|---|---|---|
UserNameRequired |
El elemento <User> debe estar presente para la operación con nombre. |
build |
PasswordRequired |
El elemento <Password> debe estar presente para la operación con nombre. |
build |
AssignToRequired |
El elemento <AssignTo> debe estar presente para la operación con nombre. |
build |
SourceRequired |
El elemento <Source> debe estar presente para la operación con nombre. |
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "UnresolvedVariable" |
BasicAuthentication.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | BasicAuthentication.BA-Authenticate.failed = true |
Ejemplo de respuesta de error
{ "fault":{ "detail":{ "errorcode":"steps.basicauthentication.UnresolvedVariable" }, "faultstring":"Unresolved variable : request.queryparam.password" } }
Ejemplo de regla de falla
<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 de ConcurrentRateLimit
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle errors. 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 | Occurs when |
|---|---|---|
policies.concurrentratelimit.ConcurrentRatelimtViolation |
503 |
ConcurrentRatelimit connection exceeded. Connection limit : {0} Note: The Fault code shown on the left is correct, although it contains a misspelling ("limt"). Be sure to use the code exactly as shown here when creating fault rules to trap this error. |
Deployment errors
| Error name | Occurs when |
|---|---|
InvalidCountValue |
ConcurrentRatelimit invalid count value specified. |
ConcurrentRatelimitStepAttachment\ |
Concurrent Ratelimit policy {0} attachment is not allowed at proxy request/response/fault paths. This policy must be placed on the Target Endpoint. |
ConcurrentRatelimitStepAttachment\ |
Concurrent Ratelimit policy {0} attachment is missing at target request/response/fault paths. This policy must be placed in the Target Request Preflow, Target Response Postflow, and DefaultFaultRule. |
InvalidTTLForMessageTimeOut |
ConcurrentRatelimit invalid ttl value specified for message timeout. It must be a positive integer. |
Fault variables
These variables are set when this policy triggers an error. 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 "ConcurrentRatelimtViolation"
Note: The Error code shown in the example is correct, although it contains a misspelling ("limt"). Please be sure to use the code exactly as shown here when creating fault rules to trap this error. |
concurrentratelimit.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | concurrentratelimit.CRL-RateLimitPolicy.failed = true |
Example error response
If the rate limit is exceeded, the policy returns only an HTTP status 503 to the client.
Example fault rule
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRules>
<FaultRule name="Quota Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "ConcurrentRatelimtViolation") </Condition>
</Step>
<Condition>concurrentratelimit.CRL-RateLimitPolicy.failed=true</Condition>
</FaultRule>
</FaultRules>Política DecodeJWS
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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 | Occurs when |
|---|---|---|
steps.jws.FailedToDecode |
401 | The policy was unable to decode the JWS. The JWS is possibly corrupted. |
steps.jws.FailedToResolveVariable |
401 | Occurs when the flow variable specified in the <Source> element of
the policy does not exist. |
steps.jws.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jws.InvalidJsonFormat |
401 | Invalid JSON found in the JWS header. |
steps.jws.InvalidJws |
401 | This error occurs when the JWS signature verification fails. |
steps.jws.InvalidPayload |
401 | The JWS payload is invalid. |
steps.jws.InvalidSignature |
401 | <DetachedContent> is omitted and the JWS has a detached content payload. |
steps.jws.MissingPayload |
401 | The JWS payload is missing. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Occurs when the JWS omits the algorithm header. |
steps.jws.UnknownException |
401 | An unknown exception occurred. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Occurs when |
|---|---|
InvalidAlgorithm |
The only valid values are: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Other possible deployment errors. |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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 DecodeJWT
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.jwt.FailedToDecode |
401 | Ocurre cuando la política no puede decodificar el JWT. El JWT puede tener un formato incorrecto, no ser válido o no se puede decodificar. | build |
steps.jwt.FailedToResolveVariable |
401 | Ocurre cuando la variable de flujo especificada en el elemento <Source> de la política no existe. |
|
steps.jwt.InvalidToken |
401 | Ocurre cuando la variable de flujo especificada en el elemento <Source> de la política está fuera del alcance o no se puede resolver. |
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidEmptyElement |
Ocurre cuando la variable de flujo que contiene el JWT que se decodificará no se especifica en el elemento <Source> de la política.
|
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "TokenExpired" |
JWT.failed |
Todas las políticas de JWT establecen la misma variable en caso de falla. | JWT.failed = true |
Ejemplo de respuesta de error
Para controlar errores, se recomienda capturar la parte errorcode de la respuesta de error. No dependas del texto en la faultstring, ya que podría cambiar.
Ejemplo de regla de falla
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
Política ExtractVariables
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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. | |
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. | |
InstantiationFailed |
The policy could not be instantiated. | |
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
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Ocurre cuando |
|---|---|---|
steps.jws.GenerationFailed |
401 | La política no pudo generar el JWS. |
steps.jws.InsufficientKeyLength |
401 | En el caso de una clave de menos de 32 bytes para el algoritmo HS256 |
steps.jws.InvalidClaim |
401 | Porque falta un reclamo o un reclamo, o bien el encabezado o el encabezado no coinciden. |
steps.jws.InvalidCurve |
401 | La curva especificada por la clave no es válida para el algoritmo de curva elíptica. |
steps.jws.InvalidJsonFormat |
401 | Se encontró un JSON no válido en el encabezado JWS. |
steps.jws.InvalidPayload |
401 | La carga útil de JWS no es válida. |
steps.jws.InvalidSignature |
401 | <DetachedContent> se omite y la JWS tiene una carga útil de contenido desconectada. |
steps.jws.KeyIdMissing |
401 | La política Verificar usa un JWKS como fuente para las claves públicas, pero el JWS firmado no incluye una propiedad kid en el encabezado. |
steps.jws.KeyParsingFailed |
401 | No se pudo analizar la clave pública a partir de la información clave proporcionada. |
steps.jws.MissingPayload |
401 | Falta la carga útil de JWS. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Ocurre cuando el JWS omite el encabezado del algoritmo. |
steps.jws.SigningFailed |
401 | En GenerateJWS, ocurre en el caso de una clave que es menor que el tamaño mínimo para los algoritmos HS384 o HS512. |
steps.jws.UnknownException |
401 | Se produjo una excepción desconocida. |
steps.jws.WrongKeyType |
401 | El tipo de clave especificado es incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo de RSA. |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Ocurre cuando |
|---|---|
InvalidAlgorithm |
Los únicos valores válidos son RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Otros posibles errores de implementación |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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>Genera GenerateJWT
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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 | Occurs when |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Occurs when the verification policy has multiple algorithms. |
steps.jwt.AlgorithmMismatch |
401 | The algorithm specified in the Generate policy did not match the one expected in the Verify policy. The algorithms specified must match. |
steps.jwt.FailedToDecode |
401 | The policy was unable to decode the JWT. The JWT is possibly corrupted. |
steps.jwt.GenerationFailed |
401 | The policy was unable to generate the JWT. |
steps.jwt.InsufficientKeyLength |
401 | For a key less than 32 bytes for the HS256 algorithm, less than 48 bytes for the HS386 algortithm, and less than 64 bytes for the HS512 algorithm. |
steps.jwt.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jwt.InvalidCurve |
401 | The curve specified by the key is not valid for the Elliptic Curve algorithm. |
steps.jwt.InvalidJsonFormat |
401 | Invalid JSON found in the header or payload. |
steps.jwt.InvalidToken |
401 | This error occurs when the JWT signature verification fails. |
steps.jwt.JwtAudienceMismatch |
401 | The audience claim failed on token verification. |
steps.jwt.JwtIssuerMismatch |
401 | The issuer claim failed on token verification. |
steps.jwt.JwtSubjectMismatch |
401 | The subject claim failed on token verification. |
steps.jwt.KeyIdMissing |
401 | The Verify policy uses a JWKS as a source for public keys, but the signed JWT does not
include a kid property in the header. |
steps.jwt.KeyParsingFailed |
401 | The public key could not be parsed from the given key information. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Occurs when the JWT contains no algorithm header. |
steps.jwt.NoMatchingPublicKey |
401 | The Verify policy uses a JWKS as a source for public keys, but the kid
in the signed JWT is not listed in the JWKS. |
steps.jwt.SigningFailed |
401 | In GenerateJWT, for a key less than the minimum size for the HS384 or HS512 algorithms |
steps.jwt.TokenExpired |
401 | The policy attempts to verify an expired token. |
steps.jwt.TokenNotYetValid |
401 | The token is not yet valid. |
steps.jwt.UnhandledCriticalHeader |
401 | A header found by the Verify JWT policy in the crit header is not
listed in KnownHeaders. |
steps.jwt.UnknownException |
401 | An unknown exception occurred. |
steps.jwt.WrongKeyType |
401 | Wrong type of key specified. For example, if you specify an RSA key for an Elliptic Curve algorithm, or a curve key for an RSA algorithm. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidNameForAdditionalClaim |
The deployment will fail if the claim used in the child element <Claim>
of the <AdditionalClaims> element is one of the following registered names:
kid, iss, sub, aud, iat,
exp, nbf, or jti.
|
build |
InvalidTypeForAdditionalClaim |
If the claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
MissingNameForAdditionalClaim |
If the name of the claim is not specified in the child element <Claim>
of the <AdditionalClaims> element, the deployment will fail.
|
build |
InvalidNameForAdditionalHeader |
This error ccurs when the name of the claim used in the child element <Claim>
of the <AdditionalClaims> element is either alg or typ.
|
build |
InvalidTypeForAdditionalHeader |
If the type of claim used in the child element <Claim>
of the <AdditionalClaims> element is not of type string, number,
boolean, or map, the deployment will fail.
|
build |
InvalidValueOfArrayAttribute |
This error occurs when the value of the array attribute in the child element <Claim>
of the <AdditionalClaims> element is not set to true or false.
|
build |
InvalidConfigurationForActionAndAlgorithm |
If the <PrivateKey> element is used with HS Family algorithms or
the <SecretKey> element is used with RSA Family algorithms, the
deployment will fail.
|
build |
InvalidValueForElement |
If the value specified in the <Algorithm> element is not a supported value,
the deployment will fail.
|
build |
MissingConfigurationElement |
This error will occur if the <PrivateKey> element is not used with
RSA family algorithms or the <SecretKey> element is not used with HS Family
algorithms.
|
build |
InvalidKeyConfiguration |
If the child element <Value> is not defined in the <PrivateKey>
or <SecretKey> elements, the deployment will fail.
|
build |
EmptyElementForKeyConfiguration |
If the ref attribute of the child element <Value> of the <PrivateKey>
or <SecretKey> elements is empty or unspecified, the deployment will fail.
|
build |
InvalidVariableNameForSecret |
This error occurs if the flow variable name specified in the ref attribute of the child
element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidSecretInConfig |
This error occurs if the child element <Value> of the <PrivateKey>
or <SecretKey> elements does not contain the private prefix (private.).
|
build |
InvalidTimeFormat |
If the value specified in the<NotBefore> element does not use a
supported format, the deployment will fail.
|
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "TokenExpired" |
JWT.failed |
Todas las políticas de JWT establecen la misma variable en caso de falla. | JWT.failed = true |
Ejemplo de respuesta de error
Para controlar errores, se recomienda capturar la parte errorcode de la respuesta de error. No dependas del texto en la faultstring, ya que podría cambiar.
Ejemplo de regla de falla
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
Política JavaCallout
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.javacallout.ExecutionError |
500 | Ocurre cuando el código Java arroja una excepción o muestra un resultado nulo durante la ejecución de una política JavaCallout. | build |
Errores en la implementación
Estos errores se pueden generar cuando se implementa el proxy que contiene la política.
| Nombre del error | String de error | Estado de HTTP | Ocurre cuando |
|---|---|---|---|
ResourceDoesNotExist |
Resource with name
[name] and type [type] does not exist |
N/A | No existe el archivo especificado en el elemento <ResourceURL>. |
JavaCalloutInstantiationFailed |
Failed to instantiate the JavaCallout Class [classname] |
N/A | El archivo de clase especificado en el elemento <ClassName> no está en el archivo jar. |
IncompatibleJavaVersion |
Failed to load java class [classname] definition due to - [reason] |
N/A | Consulta la cadena de errores. Consulta también Funciones admitidas y versiones compatibles. |
JavaClassNotFoundInJavaResource |
Failed to find the ClassName in java resource [jar_name] -
[class_name] |
N/A | Consulta la cadena de errores. |
JavaClassDefinitionNotFound |
Failed to load java class [class_name] definition due to - [reason] |
N/A | Consulta la cadena de errores. |
NoAppropriateConstructor |
No appropriate constructor found in JavaCallout class [class_name] |
N/A | Consulta la cadena de errores. |
NoResourceForURL |
Could not locate a resource with URL [string] |
N/A | Consulta la cadena de errores. |
Variables con fallas
Estas variables se establecen cuando esta política activa un error. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "ExecutionError" |
javacallout.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | javacallout.JC-GetUserData.failed = true |
Ejemplo de respuesta de error
{ "fault":{ "faultstring":"Failed to execute JavaCallout. [policy_name]", "detail":{ "errorcode":"javacallout.ExecutionError" } } }
Ejemplo de regla de falla
<FaultRule name="JavaCalloutFailed"> <Step> <Name>AM-JavaCalloutError</Name> </Step> <Condition>(fault.name Matches "ExecutionError") </Condition> </FaultRule>
Política JavaScript
En esta sección, se describen los códigos y mensajes de error que se muestran, así como las variables de falla. que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.javascript.ScriptExecutionFailed |
500 | La política de JavaScript puede arrojar muchos tipos diferentes de errores de ScriptExecutionFailed. Comúnmente tipos de errores detectados son RangeError, ReferenceError, SyntaxError, TypeError y URIError. | build |
steps.javascript.ScriptExecutionFailedLineNumber |
500 | Se produjo un error en el código JavaScript. Consulta la string con error para obtener más detalles. | N/A |
steps.javascript.ScriptSecurityError |
500 | Se produjo un error de seguridad cuando se ejecutó JavaScript. Consulta la string con error para obtener más detalles. | N/A |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidResourceUrlFormat |
Si el formato de la URL del recurso especificado en elemento <ResourceURL> o <IncludeURL> de la política de JavaScript no es válida, la implementación del proxy de la API falla. |
build |
InvalidResourceUrlReference |
Si los elementos <ResourceURL> o <IncludeURL>
hacer referencia a un archivo JavaScript que no existe, la implementación del proxy de API fallará.
El archivo de origen al que se hace referencia debe existir a nivel de proxy de API, entorno u organización. |
build |
WrongResourceType |
Este error se produce durante la implementación si <ResourceURL> o <IncludeURL>
los elementos de la política de JavaScript hacen referencia a cualquier tipo de recurso que no sea jsc (archivo JavaScript). |
build |
NoResourceURLOrSource |
La implementación de la política de JavaScript puede fallar con este error si el <ResourceURL>
no se declaró el elemento o si la URL del recurso no está definida dentro de este elemento.
El elemento <ResourceURL> es obligatorio. O bien, se declara el elemento <IncludeURL>
pero la URL del recurso no está definida en este elemento. El elemento <IncludeURL> es opcional.
pero, si se declara, la URL del recurso debe especificarse en el elemento <IncludeURL>. |
build |
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "ScriptExecutionFailed" |
javascript.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | javascript.JavaScript-1.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Javascript runtime error: "ReferenceError: "status" is not defined. (setresponse.js:6)\"", "detail": { "errorcode": "steps.javascript.ScriptExecutionFailed" } } }
Ejemplo de regla de falla
<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
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.jsonthreatprotection.ExecutionFailed |
500 | La política JSONThreatProtection puede arrojar varios tipos de errores ExecutionFailed. La mayoría de estos errores se generan cuando se supera un límite específico establecido en la política. Estos tipos de errores incluyen: longitud del nombre de la entrada del objeto, recuento de entradas de objetos recuento de elementos de array profundidad del contenedor, Longitud del valor de la cadena. Este error también ocurre cuando la carga útil contiene un objeto JSON no válido. | build |
steps.jsonthreatprotection.SourceUnavailable |
500 | Este error se genera si la variable mensaje especificada en el elemento <Source>:
|
build |
steps.jsonthreatprotection.NonMessageVariable |
500 | Este error se genera si el elemento <Source> se configura como una variable que no es del tipo mensaje. |
build |
Errores en la implementación
Ninguno
Variables con fallas
Estas variables se establecen cuando esta política activa un error. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "SourceUnavailable" |
jsonattack.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | jsonattack.JTP-SecureRequest.failed = true |
Ejemplo de respuesta de error
{
"fault": {
"faultstring": "JSONThreatProtection[JPT-SecureRequest]: Execution failed. reason: JSONThreatProtection[JTP-SecureRequest]: Exceeded object entry name length at line 2",
"detail": {
"errorcode": "steps.jsonthreatprotection.ExecutionFailed"
}
}
}Ejemplo de regla de falla
<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>
Los tipos de políticas JSONThreatProtection definen los siguientes códigos de error:
Política JSONtoXML
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.jsontoxml.ExecutionFailed |
500 | La carga útil de entrada (JSON) está vacía o la entrada (JSON) que se pasó a la política JSON to XML no es válida o presenta errores de formato. | build |
steps.jsontoxml.InCompatibleTypes |
500 | Este error se genera si el tipo de variable definida en el elemento <Source> y el elemento <OutputVariable> no son iguales. Es obligatorio que el tipo de variables incluidas dentro del elemento <Source> y el elemento <OutputVariable> coincidan. Los tipos válidos son message y string. |
build |
steps.jsontoxml.InvalidSourceType |
500 | Este error se genera si el tipo de variable que se usa para definir el elemento <Source> no es válido. Los tipos de variable válidos son message y string. |
build |
steps.jsontoxml.OutputVariableIsNotAvailable |
500 | Este error se produce si la variable especificada en el elemento <Source> de la política JSON a XML es de string de tipo y el elemento <OutputVariable> no está definido.
El elemento <OutputVariable> es obligatorio cuando la variable definida en el elemento <Source> es de tipo de string. |
build |
steps.jsontoxml.SourceUnavailable |
500 |
Este error ocurre si la variable message especificada en el elemento <Source> de la política JSON a XML tiene una de las siguientes características:
|
build |
Errores en la implementación
Ninguno
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "SourceUnavailable" |
jsontoxml.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | jsontoxml.JSON-to-XML-1.failed = true |
Ejemplo de respuesta de error
{
"fault": {
"faultstring": "JSONToXML[JSON-to-XML-1]: Source xyz is not available",
"detail": {
"errorcode": "steps.json2xml.SourceUnavailable"
}
}
}Ejemplo de regla de falla
<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 de operaciones de mapas de clave-valor
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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.keyvaluemapoperations.SetVariableFailed |
500 |
This error occurs if you try to retrieve a value from an encrypted key value map and set
the value to a variable whose name does not have the prefix |
build |
steps.keyvaluemapoperations.UnsupportedOperationException |
500 |
This error occurs if the |
build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidIndex |
If the index attribute specified in the <Get> element of Key Value Map Operations policy is
zero or a negative number, then the deployment of the API proxy fails. The index starts from
1, so an index of zero or negative integer is considered as invalid.
|
build |
KeyIsMissing |
This error occurs if the <Key> element is completely missing or <Parameter> element is
missing within <Key> element underneath the <Entry> of the <InitialEntries> element
of the Key Value Map Operations policy.
|
build |
ValueIsMissing |
This error occurs if the <Value> element is missing underneath the <Entry> element of
the <InitialEntries> element of the Key Value Map Operations policy. |
build |
Política de LDAP
This policy uses the following error codes:
| Error Code | Message |
|---|---|
InvalidAttributeName |
Invalid attribute name {0}. |
InvalidSearchBase |
Search base can not be empty. |
InvalidValueForPassword |
Invalid value for password field. It can not be empty. |
InvalidSearchScope |
Invalid scope {0}. Allowed scopes are {1}. |
InvalidUserCredentials |
Invalid user credentials. |
InvalidExternalLdapReference |
Invalid external ldap reference {0}. |
LdapResourceNotFound |
Ldap resource {0} not found. |
BaseDNRequired |
Base DN required. |
OnlyReferenceOrValueIsAllowed |
Only value or reference is allowed for {0}. |
AttributesRequired |
At least one attribute required for search action. |
UserNameIsNull |
User name is null. |
SearchQueryAndUserNameCannotBePresent |
Both search query and username can not be present in the authentication action.
Please specify either one of them. |
Política MessageLogging
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa |
|---|---|---|
steps.messagelogging.StepDefinitionExecutionFailed |
500 | Consulta la cadena de errores. |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidProtocol |
La implementación de la política MessageLogging puede fallar si el protocolo
especificado en el elemento <Protocol> no es válido. Los protocolos válidos son TCP y UDP.
Para enviar mensajes de syslog a través de TLS y SSL, solo se admite TCP. |
build |
InvalidPort |
La implementación de la política MessageLogging puede fallar con este error si el número de puerto
no se especifica en el elemento <Port> o si no es válido. El número de puerto debe ser un número entero mayor que cero. |
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "StepDefinitionExecutionFailed" |
messagelogging.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | messagelogging.ML-LogMessages.failed = true |
Ejemplo de respuesta de error
{
"fault":{
"detail":{
"errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
},
"faultstring":"Execution failed"
}
}Ejemplo de regla de falla
<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
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | |
|---|---|---|---|
steps.oasvalidation.Failed |
500 | El cuerpo del mensaje de solicitud no se puede validar en la especificación de OpenAPI proporcionada. | |
steps.oasvalidation.SourceMessageNotAvailable |
500 |
La variable especificada en el elemento |
|
steps.oasvalidation.NotMessageVariable |
500 |
El elemento |
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | |
|---|---|---|
ResourceDoesNotExist |
La especificación de OpenAPI a la que se hace referencia en el elemento <OASResource> no existe.
|
|
ResourceCompileFailed |
La especificación de OpenAPI que se incluye en la implementación contiene errores que evitan que se compile. Por lo general, esto indica que la especificación no es una especificación 3.0 de OpenAPI con el formato correcto. | |
BadResourceURL |
No se puede procesar la especificación de OpenAPI a la que se hace referencia en el elemento <OASResource>. Esto puede ocurrir si el archivo no es un archivo JSON o YAML, o si la URL del archivo no se especificó de forma correcta.
|
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "ResourceDoesNotExist" |
oasvalidation.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oasvalidation.myoaspolicy.failed = true |
Política PopulateCache
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Ocurre cuando |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Una entrada no se puede almacenar en caché. El objeto del mensaje que se almacena en caché no es una instancia de una clase que se pueda serializar. |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidCacheResourceReference |
Este error se genera si el elemento <CacheResource> en la política PropagateCache se configura como un nombre que no existe en el entorno en el que se implementa el proxy de API. |
build |
CacheNotFound |
No existe la caché especificada en el elemento <CacheResource>. |
build |
Variables con fallas
Estas variables se establecen cuando esta política activa un error. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | populatecache.POP-CACHE-1.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Ejemplo de regla de falla
<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
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Error code prefix
N/A
Runtime errors
This policy does not throw any runtime errors.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element is set to a
name which does not exist in the environment where the API proxy is being deployed. |
build |
InvalidTimeout |
If the <CacheLookupTimeoutInSeconds> element is set to
a negative number, then the deployment of the API proxy fails. |
build |
CacheNotFound |
This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component. | build |
Fault variables
N/A
Example error response
N/A
Política InvalidateCache
En esta sección, se describen los mensajes de error y las variables de flujo que se configuran cuando esta política activa un error. Esta información es importante si deseas saber si desarrollas reglas de fallas para un proxy. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Prefijo del código de error
No disponible
Errores de entorno de ejecución
Esta política no arroja ningún error de entorno de ejecución.
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidCacheResourceReference |
Este error se genera si el elemento <CacheResource> en la política InvalidateCache está configurado en un nombre que no existe en el entorno en el que se implementa el proxy de API. |
build |
CacheNotFound |
Este error se genera si la caché específica que se menciona en el mensaje de error no se creó en un componente específico del procesador de mensajes. | build |
Variables con fallas
N/A
Ejemplo de respuesta de error
No disponible
Política ResponseCache
En esta sección, se describen los mensajes de error y las variables de flujo que se configuran cuando esta política activa un error. Esta información es importante si deseas saber si desarrollas reglas de fallas para un proxy. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Prefijo del código de error
No disponible
Errores de entorno de ejecución
Esta política no arroja ningún error de entorno de ejecución.
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidTimeout |
Si el elemento <CacheLookupTimeoutInSeconds> de la política ResponseCache se establece en un número negativo, fallará la implementación del proxy de API. |
build |
InvalidCacheResourceReference |
Este error se produce si el elemento <CacheResource> de una política ResponseCache se establece con un nombre que no existe en el entorno en el que se implementa el proxy de la API. |
build |
ResponseCacheStepAttachmentNotAllowedReq |
Este error se produce si la misma política ResponseCache se adjunta a varias rutas de acceso de solicitud dentro de cualquier flujo de un proxy de API. | build |
ResponseCacheStepAttachmentNotAllowedResp |
Este error se produce si la misma política ResponseCache se adjunta a varias rutas de respuesta dentro de cualquier flujo de un proxy de API. | build |
InvalidMessagePatternForErrorCode |
Este error se produce si los elementos <SkipCacheLookup> o <SkipCachePopulation> de una política ResponseCache contienen una condición no válida. |
build |
CacheNotFound |
Este error se genera si la caché específica que se menciona en el mensaje de error no se creó en un componente específico del procesador de mensajes. | build |
Variables con fallas
N/A
Ejemplo de respuesta de error
No disponible
Política de OAuthV2
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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 | Thrown by operations |
|---|---|---|---|
steps.oauth.v2.access_token_expired |
401 | The access token is expired. |
VerifyAccessToken |
steps.oauth.v2.access_token_not_approved |
401 | The access token was revoked. | VerifyAccessToken |
steps.oauth.v2.apiresource_doesnot_exist |
401 | The requested resource does not exist any of the API products associated with the access token. | VerifyAccessToken |
steps.oauth.v2.FailedToResolveAccessToken |
500 | The policy expected to find an access token in a variable specified in the
<AccessToken> element, but the variable could not be resolved. |
GenerateAccessToken |
steps.oauth.v2.FailedToResolveAuthorizationCode |
500 | The policy expected to find an authorization code in a variable specified in the
<Code> element, but the variable could not be resolved. |
GenerateAuthorizationCode |
steps.oauth.v2.FailedToResolveClientId |
500 | The policy expected to find the Client ID in a variable specified in the
<ClientId> element, but the variable could not be resolved. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.FailedToResolveRefreshToken |
500 | The policy expected to find a refresh token in a variable specified in the
<RefreshToken> element, but the variable could not be resolved. |
RefreshAccessToken |
steps.oauth.v2.FailedToResolveToken |
500 | The policy expected to find a token in a variable specified in the
<Tokens> element, but the variable could not be resolved. |
ValidateToken |
steps.oauth.v2.InsufficientScope |
403 | The access token presented in the request has a scope that does not match the scope specified in the verify access token policy. To learn about scope, see Working with OAuth2 scopes. | VerifyAccessToken |
steps.oauth.v2.invalid_access_token |
401 | The access token sent from the client is invalid. | VerifyAccessToken |
steps.oauth.v2.invalid_client |
401 |
This error name is returned when the Note: It is recommended that you change existing fault rule
conditions to catch both the |
GenerateAccessToken RefreshAccessToken |
steps.oauth.v2.InvalidRequest |
400 | This error name is used for multiple different kinds of errors, typically for missing
or incorrect parameters sent in the request. If <GenerateResponse> is
set to false, use fault variables (described below) to retrieve details about
the error, such as the fault name and cause. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
steps.oauth.v2.InvalidAccessToken |
401 | The authorization header does not have the word "Bearer", which is required. For
example: Authorization: Bearer your_access_token |
VerifyAccessToken |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 |
The API proxy is not in the Product associated with the access token. Tips: Be sure that the product associated with the access token is configured correctly. For example, if you use wildcards in resource paths, be sure the wildcards are being used correctly. See Create API products for details. See also this Apigee Community post for more guidance on causes for this error. |
VerifyAccessToken |
steps.oauth.v2.InvalidClientIdentifier |
500 |
This error name is returned when the |
GenerateAccessToken |
steps.oauth.v2.InvalidParameter |
500 | The policy must specify either an access token or an authorization code, but not both. | GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.InvalidTokenType |
500 | The <Tokens>/<Token> element requires you to specify the token
type (for example, refreshtoken). If the client passes the wrong type, this
error is thrown. |
ValidateToken InvalidateToken |
steps.oauth.v2.MissingParameter |
500 | The response type is token, but no grant types are specified. |
GenerateAuthorizationCode GenerateAccessTokenImplicitGrant |
steps.oauth.v2.UnSupportedGrantType |
500 |
The client specified a grant type that is unsupported by the policy (not listed in the <SupportedGrantTypes> element). Note: There is currently a bug where unsupported grant type errors are not thrown correctly. If an unsupported grant type error occurs, the proxy does not enter the Error Flow, as expected. |
GenerateAccessToken GenerateAuthorizationCode GenerateAccessTokenImplicitGrant RefreshAccessToken |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause |
|---|---|
InvalidValueForExpiresIn |
For the |
InvalidValueForRefreshTokenExpiresIn |
For the <RefreshTokenExpiresIn> element, valid values are positive
integers and -1. |
InvalidGrantType |
An invalid grant type is specified in the <SupportedGrantTypes>
element. See the policy reference for a list of valid types. |
ExpiresInNotApplicableForOperation |
Be sure that the operations specified in the <Operations> element support expiration. For example, the VerifyToken operation does not. |
RefreshTokenExpiresInNotApplicableForOperation |
Be sure that the operations specified in the <Operations> element support refresh token expiration. For example, the VerifyToken operation does not. |
GrantTypesNotApplicableForOperation |
Be sure that the grant types specified in <SupportedGrantTypes> are supported for the specified operation. |
OperationRequired |
You must specify an operation in this policy using the Note: If the |
InvalidOperation |
You must specify a valid operation in this policy using the
Note: If the |
TokenValueRequired |
You must specify a token <Token> value in the
<Tokens> element. |
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 = "InvalidRequest" |
oauthV2.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GenerateAccesstoken.failed = true |
oauthV2.policy_name.fault.name |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
Note: For the VerifyAccessToken operation, the fault name includes this suffix: |
oauthV2.policy_name.fault.cause |
policy_name is the user-specified name of the policy that threw the fault. | oauthV2.GenerateAccesstoken.cause = Required param : grant_type |
Example error response
These responses are sent back to the client if the <GenerateResponse>
element is true.
If <GenerateResponse> is true, the policy returns errors
in this format for operations that generate tokens and codes. For a complete list, see see
OAuth HTTP error
response reference.
{"ErrorCode" : "invalid_client", "Error" :"ClientId is Invalid"}If <GenerateResponse> is true, the policy returns errors
in this format for verify and validate operations. For a complete list, see see OAuth HTTP error
response reference.
{ { "fault":{ "faultstring":"Invalid Access Token", "detail":{ "errorcode":"keymanagement.service.invalid_access_token" } } }
Example fault rule
<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 de GetOAuthV2Info
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de error que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política. Los nombres de error que se muestran a continuación son las strings que se asignan a la variable fault.name cuando se produce un error. Consulta la sección Variables de falla a continuación para obtener más información.
| Código de falla | Estado de HTTP | Causa |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | El token de acceso que se envió a la política venció. |
steps.oauth.v2.authorization_code_expired |
500 | El código de autorización enviado a la política venció. |
steps.oauth.v2.invalid_access_token |
500 | El token de acceso enviado a la política no es válido. |
steps.oauth.v2.invalid_client-invalid_client_id |
500 | El ID de cliente que se envió a la política no es válido. |
steps.oauth.v2.invalid_refresh_token |
500 | El token de actualización que se envió a la política no es válido. |
steps.oauth.v2.invalid_request-authorization_code_invalid |
500 | El código de autorización que se envió a la política no es válido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Consulta esta publicación de la comunidad de Apigee para obtener información sobre cómo solucionar este error. |
steps.oauth.v2.refresh_token_expired |
500 | El token de actualización que se envió a la política venció. |
Errores en la implementación
Consulta el mensaje reportado en la IU para obtener información sobre los errores de implementación.
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "IPDeniedAccess" |
oauthV2.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.GetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id |
oauthV2.policy_name.fault.cause |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.GetTokenInfo.cause = ClientID is Invalid |
Ejemplo de respuesta de error
{ "fault":{ "faultstring":"ClientId is Invalid", "detail":{ "errorcode":"keymanagement.service.invalid_client-invalid_client_id" } } }
Ejemplo de regla de falla
<FaultRule name="OAuthV2 Faults">
<Step>
<Name>AM-InvalidClientIdResponse</Name>
</Step>
<Condition>(fault.name = "invalid_client-invalid_client_id")</Condition>
</FaultRule>Política SetOAuthV2Info
En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa |
|---|---|---|
steps.oauth.v2.access_token_expired |
500 | El token de acceso que se envió a la política venció. |
steps.oauth.v2.invalid_access_token |
500 | El token de acceso enviado a la política no es válido. |
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound |
401 | Consulta esta publicación de la comunidad de Apigee para obtener información sobre cómo solucionar este error. |
Errores en la implementación
Consulta el mensaje reportado en la IU para obtener información sobre los errores de implementación.
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name = "invalid_access_token" |
oauthV2.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.SetTokenInfo.failed = true |
oauthV2.policy_name.fault.name |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.SetTokenInfo.fault.name = invalid_access_token |
oauthv2.policy_name.fault.cause |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.SetTokenInfo.cause = Invalid Access Token |
Ejemplo de respuesta de error
{
"fault": {
"faultstring": "Invalid Access Token",
"detail": {
"errorcode": "keymanagement.service.invalid_access_token"
}
}
}Ejemplo de regla de falla
<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 Edge 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 this Apigee Community post 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 de OAuthv1.0a
The OAuthV1 Policy type defines the following error codes.
For OAuth-related HTTP error codes, see OAuth HTTP error response reference.
| Error Code | Message |
|---|---|
AppKeyNotResolved |
Could not resolve the app key with variable {0} |
ConsumerKeyNotResolved |
Could not resolve the consumer key with variable {0} |
RequestTokenNotResolved |
Could not resolve the request token with the variable {0} |
AccessTokenNotResolved |
Could not resolve the access token with the variable {0} |
ResponseGenerationError |
Error while generating response : {0} |
UnableToDetermineOperation |
Unable to determine an operation for stepDefinition {0} |
UnableToResolveOAuthConfig |
Unable to resolve the OAuth configuration for {0} |
AtLeastOneParamRequired |
At least one of AccessToken, RequestToken or ConsumerKey must be specified in
stepDefinition {0} |
SpecifyValueOrRefReqToken |
Specify Request Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefAccToken |
Specify Access Token as value or ref in stepDefinition {0} |
SpecifyValueOrRefConKey |
Specify Consumer Key as value or ref in stepDefinition {0} |
SpecifyValueOrRefAppKey |
Specify App Key as value or ref in stepDefinition {0} |
ExpiresInNotApplicableForOperation |
ExpiresIn element is not valid for operation {0} |
InvalidValueForExpiresIn |
Invalid value for ExpiresIn element for operation {0} |
FailedToFetchApiProduct |
Failed to fetch api product for key {0} |
InvalidTokenType |
Valid token types : {0}, Invalid toke type {1} in stepDefinition {2} |
TokenValueRequired |
Token value is required in stepDefinition {0} |
FailedToResolveRealm |
Failed to resolve realm {0} |
Política de GetOAuthV1Info
No error codes are specified for the Get OAuth v1.0a Info policy.
Política DeleteOAuthV1Info
Si la operación se realiza correctamente, la política muestra un estado 200.
En caso de error, la política muestra un error 404 y un resultado similar al siguiente (según si estás borrando un token de acceso, un token de solicitud o un verificador):
HTTP/1.1 404 Not Found Content-Type: application/json Content-Length: 144 Connection: keep-alive {"fault":{"faultstring":"Invalid Access Token","detail":{"errorcode":"keymanagement.service.invalid_request-access_token_invalid"}}}
Política PythonScript
En esta sección, se describen los códigos y mensajes de error que se muestran, así como las variables de falla. que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.script.ScriptEvaluationFailed |
500 | La política de PythonScript puede arrojar varios tipos diferentes de errores de ScriptExecutionFailed. Los tipos de errores más comunes que aparecen son NameError y ZeroDivisionError. | build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidResourceUrlFormat |
Si el formato de la URL del recurso especificado en elemento <ResourceURL> o <IncludeURL> de la política de PythonScript no es válida, la implementación del proxy de la API falla. |
build |
InvalidResourceUrlReference |
Si los elementos <ResourceURL> o <IncludeURL> hacen referencia a un archivo de PythonScript que no existe, la implementación del proxy de API falla.
El archivo de origen al que se hace referencia debe existir a nivel de proxy de API, entorno u organización. |
build |
Variables con fallas
Estas variables se configuran cuando esta política activa un error en el entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "ScriptExecutionFailed" |
pythonscript.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | pythonscript.PythonScript-1.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "Execution of SetResponse failed with error: Pythonscript runtime error: "ReferenceError: "status" is not defined.\"", "detail": { "errorcode": "steps.script.ScriptExecutionFailed" } } }
Ejemplo de regla de falla
<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 cuotas
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
policies.ratelimit.FailedToResolveQuotaIntervalReference |
500 | Ocurre si el elemento <Interval> no está definido dentro de la política de cuotas. Este elemento es obligatorio y se usa para especificar el intervalo de tiempo aplicable a la cuota. El intervalo de tiempo pueden ser minutos, horas, días, semanas o meses, según se defina con el elemento <TimeUnit>. |
build |
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference |
500 | Ocurre si el elemento <TimeUnit> no está definido dentro de la política de cuotas. Este elemento es obligatorio y se usa para especificar la unidad de tiempo aplicable a la cuota. El intervalo de tiempo puede ser en minutos, horas, días, semanas o meses. |
build |
policies.ratelimit.InvalidMessageWeight |
500 | Este error se produce si el valor del elemento <MessageWeight> que se especificó a través de una variable de flujo no es válido (un número que no es entero). |
build |
policies.ratelimit.QuotaViolation |
500 | Se superó el límite de la cuota. | N/A |
Errores en la implementación
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidQuotaInterval |
Si el intervalo de cuota especificado en el elemento <Interval> no es un número entero, fallará la implementación del proxy de la API. Por ejemplo, si el intervalo de cuota especificado es 0.1 en el elemento <Interval>, fallará la implementación del proxy de API.
|
build |
InvalidQuotaTimeUnit |
Si la unidad de tiempo especificada en el elemento <TimeUnit> no es compatible, fallará la implementación del proxy de API. Las unidades de tiempo admitidas son minute, hour, day, week y month.
|
build |
InvalidQuotaType |
Si el tipo de cuota especificado por el atributo type en el elemento <Quota> no es válido, fallará la implementación del proxy de la API. Los tipos de cuota admitidos son default, calendar, flexi y rollingwindow.
|
build |
InvalidStartTime |
Si el formato del tiempo especificado en el elemento <StartTime> no es válido, fallará la implementación del proxy de la API. El formato válido es yyyy-MM-dd HH:mm:ss, que es el formato de fecha y hora ISO 8601. Por ejemplo, si la hora especificada en el elemento <StartTime> es 7-16-2017 12:00:00, fallará la implementación del proxy de API.
|
build |
StartTimeNotSupported |
Si se especifica el elemento <StartTime> cuyo tipo de cuota no es calendar, fallará la implementación del proxy de API. El elemento <StartTime> solo es compatible con el tipo de cuota calendar. Por ejemplo, si el atributo type se establece en flexi o rolling window en el elemento <Quota>, fallará la implementación del proxy de la API.
|
build |
InvalidTimeUnitForDistributedQuota |
Si el elemento <Distributed> se configura como true y el elemento <TimeUnit> se configura como second, fallará la implementación del proxy de la API. La unidad de tiempo second no es válida para una cuota distribuida. |
build |
InvalidSynchronizeIntervalForAsyncConfiguration |
Si el valor especificado para el elemento <SyncIntervalInSeconds> dentro del elemento <AsynchronousConfiguration> en una política de cuota es inferior a cero, fallará la implementación del proxy de la API. |
build |
InvalidAsynchronizeConfigurationForSynchronousQuota |
Si el valor del elemento <AsynchronousConfiguration> se establece en true en una política de cuotas, que también tiene una configuración asíncrona definida con el elemento <AsynchronousConfiguration>, fallará la implementación del proxy de la API. |
build |
Variables con fallas
Estas variables se establecen cuando esta política activa un error. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "QuotaViolation" |
ratelimit.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | ratelimit.QT-QuotaPolicy.failed = true |
Ejemplo de respuesta de error
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.QuotaViolation" }, "faultstring":"Rate limit quota violation. Quota limit exceeded. Identifier : _default" } }
Ejemplo de regla de falla
<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
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | La política de cuotas especificada en el elemento <Quota> de la política de Restablecer cuota no está definida en el proxy de API y, por lo tanto, no está disponible durante el flujo. El elemento <Quota> es obligatorio y, además, identifica la política de cuotas de destino cuyo contador se debe actualizar mediante la política de Restablecer cuota. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
No disponible | La referencia a la variable que contiene el recuento permitido en el elemento <Allow> de la política no se puede resolver en un valor. Este elemento es obligatorio y especifica el importe para reducir el recuento de cuotas. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | No se puede resolver la variable a la que hace referencia el atributo ref en el elemento <Quota>. |
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidCount |
Si el valor de recuento especificado en el elemento <Allow> de la política de restablecimiento de cuotas no es un número entero, la implementación del proxy de API falla.
|
build |
Política RaiseFault
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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.raisefault.RaiseFault |
500 | See fault string. |
Deployment errors
None.
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 = "RaiseFault" |
raisefault.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | raisefault.RF-ThrowError.failed = true |
Example error response
{ "fault":{ "detail":{ "errorcode":"steps.raisefault.RaiseFault" }, "faultstring":"Raising fault. Fault name: [name]" } }
Política RegularExpressionProtection
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas
que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas para manejarlas. Si deseas capturar un error y generar tu propio error personalizado, configura el atributo continueOnError="true" en el elemento raíz de la política.
Para obtener más información, consulta
Lo que debes saber sobre los errores de políticas y Cómo controlar las fallas.
Los errores que muestran las políticas de Edge siguen un formato coherente, como se describe en la Referencia de códigos de error.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de error | Mensaje |
|---|---|
| ExecutionFailed | No se pudo ejecutar laRegularExpressionProtection StepDefinition {0}. Motivo: {1} |
| InstantiationFailed | No se pudo crear una instancia de RegularExpressionProtection StepDefinition {0} |
| NonMessageVariable | La variable {0} no se resuelve en un mensaje. |
| SourceMessageNotAvailable | El mensaje {0} no está disponible para RegularExpressionProtection StepDefinition {1} |
| ThreatDetected | Se detectó una expresión regular de amenazas en {0}: regex: {1} entrada: {2} |
| VariableResolutionFailed | No se pudo resolver la variable {0} |
Errores en la implementación
| Código de error | Mensaje | Corregir |
|---|---|---|
| CannotBeConvertedToNodeset | RegularExpressionProtection {0}: el resultado de xpath {1} no se puede convertir al nodeset. Contexto {2} | build |
| DuplicatePrefix | RegularExpressionProtection {0}: prefijo duplicado {1} | build |
| EmptyJSONPathExpression | RegularExpressionProtection {0}: Expresión JSONPath vacía | build |
| EmptyXPathExpression | RegularExpressionProtection {0}: expresión XPath vacía | build |
| InvalidRegularExpression | RegularExpressionProtection {0}: expresión regular no válida {1}, contexto {2} | build |
| JSONPathCompilationFailed | RegularExpressionProtection{0}: No se pudo compilar jsonpath {1}. Contexto {2} | build |
| NONEmptyPrefixMappedToEmptyURI | RegularExpressionProtection {0}: el prefijo no vacío {1} no se puede asignar al URI vacío | build |
| NoPatternsToEnforce | RegularExpressionProtection {0}: sin patrones para aplicar en {1} | build |
| NothingToEnforce | RegularExpressionProtection {0}: al menos uno de URIPath, QueryParam, Header, FormParam, XMLPayload y JSONPayload es obligatorio | build |
| XPathCompilationFailed | RegularExpressionProtection {0}: no se pudo compilar xpath {1}. Contexto {2} | build |
Variables con fallas
Estas variables se establecen cuando esta política activa un error. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla anterior. | fault.name Matches "ThreatDetected" |
regularexpressionprotection.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | regularexpressionprotection.Regular-Expressions-Protection-1.failed = true |
Política SOAPMessageValidation
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
Este error se produce si una variable especificada en el elemento
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
Este error ocurre si el elemento Las variables del tipo de mensaje representan respuestas y solicitudes HTTP completas. Las variables de flujo de Edge integradas |
build |
steps.messagevalidation.Failed |
500 | Este error se produce si la política SOAPMessageValidation no valida la carga útil del mensaje de entrada en función del esquema XSD o la definición WSDL. También ocurrirá si hay JSON o XML de formato incorrecto en el mensaje de carga útil. | build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidResourceType |
El elemento <ResourceURL> en la política SOAPMessageValidation se establece en un tipo de recurso que no es compatible con la política.
|
build |
ResourceCompileFailed |
La secuencia de comandos de recursos a la que se hace referencia en el elemento <ResourceURL> de la política SOAPMessageValidation contiene un error que impide que se compile.
|
build |
RootElementNameUnspecified |
El elemento <Element> en la política SOAPMessageValidation no contiene el nombre del elemento raíz. |
build |
InvalidRootElementName |
El elemento <Element> en la política SOAPMessageValidation contiene un nombre de elemento raíz que no cumple con las reglas XML para nombrar nombres de elementos válidos. |
build |
Política de SAMLAssertion
En esta sección, se describen los códigos de falla y los mensajes de error que se muestran y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
SourceNotConfigured |
Uno o más de los siguientes elementos de la política de validación de aserción de SAML no está definida o vacía: <Source>, <XPath>, <Namespaces>, <Namespace>. |
build |
TrustStoreNotConfigured |
Si el elemento <TrustStore> está vacío o no se especifica en la política ValidateSAMLAssertion, falla la implementación del proxy de API.
Se requiere un almacenamiento de confianza válido.
|
build |
NullKeyStoreAlias |
Si el elemento secundario <Alias> está vacío o no se especifica en el <Keystore>
de la política de generación de aserción de SAML y, luego, la implementación de la API
y el proxy falla. Se requiere un alias del almacén de claves válido.
|
build |
NullKeyStore |
Si el elemento secundario <Name> está vacío o no se especifica en el <Keystore>
de la política GenerateSAMLAssertion y, luego, la implementación de la API
y el proxy falla. Se requiere el nombre de almacén de claves válido.
|
build |
NullIssuer |
Si el elemento <Issuer> está vacío o no se especifica en la política de generación de aserción de SAML, la implementación del proxy de API falla. Se requiere un valor válido de <Issuer>
|
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla . El nombre de la falla es la última parte del código de la falla. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Para la configuración de una política de confirmación de SAML validada, el prefijo de error es ValidateSAMLAssertion. |
GenerateSAMLAssertion.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Ejemplo de regla de falla
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>Política ServiceCallout
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.servicecallout.ExecutionFailed |
500 |
Este error puede ocurrir en las siguientes situaciones:
|
build |
steps.servicecallout.RequestVariableNotMessageType |
500 | La variable Request especificada en la política no es del tipo Message. Por ejemplo, si es una string o algún otro tipo que no sea de mensaje, verás este error. | build |
steps.servicecallout.RequestVariableNotRequestMessageType |
500 | La variable Request especificada en la política no es del tipo Request Message. Por ejemplo, si es un tipo de respuesta, verás este error. | build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
URLMissing |
Falta el elemento <URL> dentro de <HTTPTargetConnection> o está vacío. |
build |
ConnectionInfoMissing |
Este error se produce si la política no tiene un elemento <HTTPTargetConnection> o <LocalTargetConnection>. |
build |
InvalidTimeoutValue |
Este error ocurre si el valor de <Timeout> es negativo o cero. |
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name = "RequestVariableNotMessageType" |
servicecallout.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | servicecallout.SC-GetUserData.failed = true |
Ejemplo de respuesta de error
{ "fault":{ "detail":{ "errorcode":"steps.servicecallout.RequestVariableNotMessageType" }, "faultstring":"ServiceCallout[ServiceCalloutGetMockResponse]: request variable data_str value is not of type Message" } }
Ejemplo de regla de falla
<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="RequestVariableNotMessageType">
<Step>
<Name>AM-RequestVariableNotMessageType</Name>
</Step>
<Condition>(fault.name = "RequestVariableNotMessageType")</Condition>
</FaultRule>Política de SpikeArrest
En esta sección, se describen los códigos y mensajes de error que se muestran, así como las variables de falla. que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
Este error se produce si la referencia a la variable que contiene la configuración de tarifa dentro del elemento <Rate> no se puede resolver en un valor dentro de la política de protección contra aumentos de tráfico. Este elemento es obligatorio y se usa para especificar el índice de protección contra aumentos de tráfico en el formato de intpm o intps. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
Este error se produce si el valor especificado para el elemento <MessageWeight> a través de una variable de flujo no es válido (un número no entero). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
Se superó el límite del porcentaje. . |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidAllowedRate |
Si la tasa de protección contra aumentos de tráfico especificada en el elemento <Rate> de la política no es un número entero o si la tasa no tiene ps ni pm como sufijo, la implementación del proxy de API falla. |
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | ratelimit.SA-SpikeArrestPolicy.failed = true |
Ejemplo de respuesta de error
A continuación, se muestra un ejemplo de respuesta de error:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
Ejemplo de regla de falla
A continuación, se muestra un ejemplo de regla de falla para manejar una falla de SpikeArrestViolation:
<FaultRules>
<FaultRule name="Spike Arrest Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "SpikeArrestViolation") </Condition>
</Step>
<Condition>ratelimit.Spike-Arrest-1.failed=true</Condition>
</FaultRule>
</FaultRules>Política de StatisticsCollector
En esta sección, se describen los mensajes de error y las variables de flujo que se configuran cuando esta política activa un error. Esta información es importante si deseas saber si desarrollas reglas de fallas para un proxy. Para obtener más información, consulta Lo que necesitas saber sobre errores de políticas y Controla fallas.
Errores de entorno de ejecución
Ninguno
Errores en la implementación
| Nombre del error | Causa | Corregir |
|---|---|---|
UnsupportedDatatype |
Si el tipo de variable especificado por el atributo ref en el elemento <Statistic> de la política de recopilador de estadísticas no es compatible, la implementación del proxy de API falla. Los tipos de datos admitidos son string, integer, float, long, double y boolean. |
build |
InvalidName |
Si el nombre utilizado para hacer referencia a los datos recopilados para la variable especificada definida en el elemento <Statistic> de la política de recopilador de estadísticas entra en conflicto con una variable definida por el sistema, la implementación del proxy de API falla. Algunas de las variables definidas por el sistema conocidas son organization y environment. |
build |
DatatypeMissing |
Si falta el tipo de variable especificada por el atributo ref en el elemento <Statistic> de la política de recopilador de estadísticas, la implementación del proxy de API falla. |
build |
Variables con fallas
Ninguno
Política de VerifyAPIKey
En esta sección, se describen los códigos de falla y los mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa |
|---|---|---|
keymanagement.service.CompanyStatusNotActive |
401 | La empresa asociada con la app de desarrollador que tiene la clave de API que usas tiene un estado inactivo. Cuando el estado de una empresa se establece como inactivo, no puedes acceder a los desarrolladores ni a las apps asociados con esa empresa. Un administrador de la organización puede cambiar el estado de una empresa con la API de administración. Consulta Cómo establecer el estado de una empresa. |
keymanagement.service.DeveloperStatusNotActive |
401 |
El desarrollador que creó la app de desarrollador que tiene la clave de API que usas tiene un estado inactivo. Cuando el estado del desarrollador de una app se establece como inactivo, se desactivan todas las apps para desarrolladores que creó ese desarrollador. Un usuario administrador con los permisos adecuados (como administrador de la organización) puede cambiar el estado de un desarrollador de las siguientes maneras:
|
keymanagement.service.invalid_client-app_not_approved |
401 | Se revoca la app de desarrollador asociada con la clave de API. Una app revocada no puede acceder a ningún producto de API ni invocar ninguna API administrada por Apigee Edge. Un administrador de la organización puede cambiar el estado de una app para desarrolladores con la API de administración. Consulta Cómo aprobar o revocar una app para desarrolladores. |
oauth.v2.FailedToResolveAPIKey |
401 | La política espera encontrar la clave de API en una variable que se especifica en el elemento <APIKey> de la política. Este error surge cuando la variable esperada no existe (no se puede resolver). |
oauth.v2.InvalidApiKey |
401 | Edge recibió una clave de API, pero no es válida. Cuando Edge busca la clave en su base de datos, debe coincidir de forma exacta con la que se envió en la solicitud. Si la API funcionó antes, asegúrate de que no se haya vuelto a generar la clave. Si se volvió a generar la clave, verás este error si intentas usar la clave antigua. Para obtener más información, consulta Registra apps y administra claves de API. |
oauth.v2.InvalidApiKeyForGivenResource |
401 | Edge recibió una clave de API y es válida, pero no coincide con una clave aprobada en la app para desarrolladores asociada con el proxy de API a través de un producto. |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa |
|---|---|
SpecifyValueOrRefApiKey |
El elemento <APIKey> no tiene un valor ni una clave especificados. |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "FailedToResolveAPIKey" |
oauthV2.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | oauthV2.VK-VerifyAPIKey.failed = true |
Ejemplos de respuesta de errores
{
"fault":{
"faultstring":"Invalid ApiKey",
"detail":{
"errorcode":"oauth.v2.InvalidApiKey"
}
}
}{
"fault":{
"detail":{
"errorcode":"keymanagement.service.DeveloperStatusNotActive"
},
"faultstring":"Developer Status is not Active"
}
}Ejemplo de regla de falla
<FaultRule name="FailedToResolveAPIKey">
<Step>
<Name>AM-FailedToResolveAPIKey</Name>
</Step>
<Condition>(fault.name Matches "FailedToResolveAPIKey") </Condition>
</FaultRule>Política VerifyJWS
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge 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 | Occurs when |
|---|---|---|
steps.jws.AlgorithmInTokenNotPresentInConfiguration |
401 | Occurs when the verification policy has multiple algorithms |
steps.jws.AlgorithmMismatch |
401 | The algorithm specified in the header by the Generate policy did not match the one expected in the Verify policy. The algorithms specified must match. |
steps.jws.ContentIsNotDetached |
401 | <DetachedContent> is specified when the JWS does not contain a
detached content payload. |
steps.jws.FailedToDecode |
401 | The policy was unable to decode the JWS. The JWS is possibly corrupted. |
steps.jws.InsufficientKeyLength |
401 | For a key less than 32 bytes for the HS256 algorithm |
steps.jws.InvalidClaim |
401 | For a missing claim or claim mismatch, or a missing header or header mismatch. |
steps.jws.InvalidCurve |
401 | The curve specified by the key is not valid for the Elliptic Curve algorithm. |
steps.jws.InvalidJsonFormat |
401 | Invalid JSON found in the JWS header. |
steps.jws.InvalidJws |
401 | This error occurs when the JWS signature verification fails. |
steps.jws.InvalidPayload |
401 | The JWS payload is invalid. |
steps.jws.InvalidSignature |
401 | <DetachedContent> is omitted and the JWS has a detached content payload. |
steps.jws.KeyIdMissing |
401 | The Verify policy uses a JWKS as a source for public keys, but the signed JWS does not
include a kid property in the header. |
steps.jws.KeyParsingFailed |
401 | The public key could not be parsed from the given key information. |
steps.jws.MissingPayload |
401 | The JWS payload is missing. |
steps.jws.NoAlgorithmFoundInHeader |
401 | Occurs when the JWS omits the algorithm header. |
steps.jws.NoMatchingPublicKey |
401 | The Verify policy uses a JWKS as a source for public keys, but the kid
in the signed JWS is not listed in the JWKS. |
steps.jws.UnhandledCriticalHeader |
401 | A header found by the Verify JWS policy in the crit header is not
listed in KnownHeaders. |
steps.jws.UnknownException |
401 | An unknown exception occurred. |
steps.jws.WrongKeyType |
401 | Wrong type of key specified. For example, if you specify an RSA key for an Elliptic Curve algorithm, or a curve key for an RSA algorithm. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Occurs when |
|---|---|
InvalidAlgorithm |
The only valid values are: RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512. |
|
|
Other possible deployment errors. |
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 "TokenExpired" |
JWS.failed |
All JWS policies set the same variable in the case of a failure. | jws.JWS-Policy.failed = true |
Example error response
For error handling, the best practice is to trap the errorcode part of the error
response. Do not rely on the text in the faultstring, because it could change.
Example fault rule
<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 de VerifyJWT
En esta sección, se describen los códigos y mensajes de error que se muestran y las variables de fallas que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Ocurre cuando |
|---|---|---|
steps.jwt.AlgorithmInTokenNotPresentInConfiguration |
401 | Se produce cuando la política de verificación tiene varios algoritmos. |
steps.jwt.AlgorithmMismatch |
401 | El algoritmo especificado en la política de generación no coincide con el esperado en la política de verificación. Los algoritmos especificados deben coincidir. |
steps.jwt.FailedToDecode |
401 | La política no pudo decodificar el JWT. Es posible que el JWT esté dañado. |
steps.jwt.GenerationFailed |
401 | La política no pudo generar el JWT. |
steps.jwt.InsufficientKeyLength |
401 | En el caso de las claves inferiores a 32 bytes para el algoritmo HS256, menos de 48 bytes para el algoritmo HS386 y menos de 64 bytes para el algoritmo HS512. |
steps.jwt.InvalidClaim |
401 | Porque falta un reclamo o un reclamo, o bien el encabezado o el encabezado no coinciden. |
steps.jwt.InvalidCurve |
401 | La curva especificada por la clave no es válida para el algoritmo de curva elíptica. |
steps.jwt.InvalidJsonFormat |
401 | Se encontró un archivo JSON que no es válido en el encabezado o la carga útil. |
steps.jwt.InvalidToken |
401 | Este error ocurre cuando falla la verificación de la firma del JWT. |
steps.jwt.JwtAudienceMismatch |
401 | La reclamación del público falló en la verificación del token. |
steps.jwt.JwtIssuerMismatch |
401 | La reclamación de la entidad emisora falló durante la verificación del token. |
steps.jwt.JwtSubjectMismatch |
401 | La reclamación de la entidad falló durante la verificación del token. |
steps.jwt.KeyIdMissing |
401 | La política Verificar usa un JWKS como fuente para las claves públicas, pero el JWT firmado no incluye una propiedad kid en el encabezado. |
steps.jwt.KeyParsingFailed |
401 | No se pudo analizar la clave pública a partir de la información clave proporcionada. |
steps.jwt.NoAlgorithmFoundInHeader |
401 | Ocurre cuando el JWT no contiene un encabezado de algoritmo. |
steps.jwt.NoMatchingPublicKey |
401 | La política de verificación usa un JWKS como fuente para claves públicas, pero la propiedad kid en el JWT firmado no aparece en el JWKS. |
steps.jwt.SigningFailed |
401 | En GenerateJWT, ocurre en el caso de una clave que es menor que el tamaño mínimo para los algoritmos HS384 o HS512. |
steps.jwt.TokenExpired |
401 | La política intenta verificar un token vencido. |
steps.jwt.TokenNotYetValid |
401 | El token aún no es válido. |
steps.jwt.UnhandledCriticalHeader |
401 | Un encabezado que encontró la política de verificación de JWT en el encabezado crit no aparece en KnownHeaders. |
steps.jwt.UnknownException |
401 | Se produjo una excepción desconocida. |
steps.jwt.WrongKeyType |
401 | El tipo de clave especificado es incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo de RSA. |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
InvalidNameForAdditionalClaim |
La implementación fallará si la reclamación que se usa en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes nombres registrados: kid, iss, sub, aud, iat, exp, nbf o jti.
|
build |
InvalidTypeForAdditionalClaim |
Si la reclamación que se usa en el elemento secundario <Claim> del elemento <AdditionalClaims> no es del tipo string, number, boolean ni map, la implementación fallará.
|
build |
MissingNameForAdditionalClaim |
Si el nombre de la reclamación no se especifica en el elemento secundario <Claim> del elemento <AdditionalClaims>, la implementación fallará.
|
build |
InvalidNameForAdditionalHeader |
Este error ocurre cuando el nombre de la reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> es alg o typ.
|
build |
InvalidTypeForAdditionalHeader |
Si el tipo de reclamación que se usa en el elemento secundario <Claim> del elemento <AdditionalClaims> no es del tipo string, number, boolean ni map, la implementación fallará.
|
build |
InvalidValueOfArrayAttribute |
Este error se produce cuando el valor del atributo de array en el elemento secundario <Claim> del elemento <AdditionalClaims> no se establece en true ni false.
|
build |
InvalidValueForElement |
Si el valor especificado en el elemento <Algorithm> no es un valor admitido,
la implementación fallará.
|
build |
MissingConfigurationElement |
Este error se producirá si no se usa el elemento <PrivateKey> con los algoritmos de la familia RSA o si no se usa el elemento <SecretKey> con los algoritmos de la familia HS.
|
build |
InvalidKeyConfiguration |
Si el elemento secundario <Value> no está definido en los elementos <PrivateKey> o <SecretKey>, la implementación fallará.
|
build |
EmptyElementForKeyConfiguration |
Si el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> está vacío o no se especifica, la implementación fallará.
|
build |
InvalidConfigurationForVerify |
Este error se produce si el elemento <Id> se define dentro del elemento <SecretKey>.
|
build |
InvalidEmptyElement |
Este error se produce si el elemento <Source> de la política Verificar JWT está vacío. Si está presente, debe definirse con un nombre de variable de flujo de Edge.
|
build |
InvalidPublicKeyValue |
Si el valor que se usa en el elemento secundario <JWKS> del elemento <PublicKey> no usa un formato válido como se especifica en RFC 7517, la implementación fallará.
|
build |
InvalidConfigurationForActionAndAlgorithm |
Si el elemento <PrivateKey> se usa con los algoritmos de la familia HS o el elemento <SecretKey> con los algoritmos de la familia RSA, la implementación fallará.
|
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "TokenExpired" |
JWT.failed |
Todas las políticas de JWT establecen la misma variable en caso de falla. | JWT.failed = true |
Ejemplo de respuesta de error
Para controlar errores, se recomienda capturar la parte errorcode de la respuesta de error. No dependas del texto en la faultstring, ya que podría cambiar.
Ejemplo de regla de falla
<FaultRules>
<FaultRule name="JWT Policy Errors">
<Step>
<Name>JavaScript-1</Name>
<Condition>(fault.name Matches "TokenExpired")</Condition>
</Step>
<Condition>JWT.failed=true</Condition>
</FaultRule>
</FaultRules>
Política XMLThreatProtection
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.xmlthreatprotection.ExecutionFailed |
500 | La política XMLThreatProtection puede arrojar varios tipos de errores ExecutionFailed. La mayoría de estos errores se generan cuando se supera un límite específico establecido en la política. Estos tipos de errores incluyen: la longitud del nombre del elemento, el recuento secundario, profundidad del nodo, el recuento de atributos, la longitud del nombre del atributo y entre otros. Puedes ver la lista completa en el artículo Solución de problemas de errores del entorno de ejecución de la política XMLThreatProtection. | build |
steps.xmlthreatprotection.InvalidXMLPayload |
500 | Este error se genera si la carga útil del mensaje de entrada que especifica el elemento <Source> de la política XMLThreatProtection no es un documento XML válido. |
build |
steps.xmlthreatprotection.SourceUnavailable |
500 | Este error se genera si la variable mensaje especificada en el elemento <Source>:
|
build |
steps.xmlthreatprotection.NonMessageVariable |
500 | Este error se genera si el elemento <Source> se configura como una variable que no es del tipo mensaje. |
build |
Notas:
- El nombre del error ExecutionFailed es el predeterminado y se mostrará sin importar el tipo de error detectado. Sin embargo, este valor predeterminado se puede cambiar si configuras una propiedad a nivel de la organización. Cuando se configura esta propiedad, el nombre del error reflejará el error real. Por ejemplo, “TextExceeded” o “AttrValueExceeded”. Consulta Notas de uso para obtener más detalles.
- El estado HTTP 500 es el predeterminado. Sin embargo, el estado HTTP se puede cambiar a 400 para fallas en el flujo de solicitudes mediante la configuración de una propiedad a nivel de la organización. Consulta Notas de uso para obtener más detalles.
Errores en la implementación
Ninguno
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name Matches "SourceUnavailable" |
xmlattack.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | xmlattack.XPT-SecureRequest.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "XMLThreatProtection[XPT-SecureRequest]: Execution failed. reason: XMLThreatProtection[XTP-SecureRequest]: Exceeded object entry name length at line 2", "detail": { "errorcode": "steps.xmlthreatprotection.ExecutionFailed" } } }
Ejemplo de regla de falla
<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
En esta sección, se describen los códigos y mensajes de error que se muestran, y las variables de falla que establece Edge cuando esta política activa un error. Esta información es importante para saber si estás desarrollando reglas de fallas con el propósito de manejar fallas. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo solucionar fallas.
Errores de entorno de ejecución
Estos errores pueden producirse cuando se ejecuta la política.
| Código de falla | Estado de HTTP | Causa | Corregir |
|---|---|---|---|
steps.xmltojson.ExecutionFailed |
500 | Este error se produce cuando la carga útil de entrada (XML) está vacía o el XML de entrada no es válido o presenta errores de formato. | build |
steps.xmltojson.InCompatibleType |
500 | Este error se genera si el tipo de variable definida en el elemento <Source> y el elemento <OutputVariable> no son iguales. Es obligatorio que el tipo de variables incluidas dentro del elemento <Source> y el elemento <OutputVariable> coincidan.
|
build |
steps.xmltojson.InvalidSourceType |
500 | Este error ocurre si el tipo de variable que se usa para definir el elemento <Source> no es válido. Los tipos válidos de variables son mensajes y strings. |
build |
steps.xmltojson.OutputVariableIsNotAvailable |
500 | Este error se genera si la variable especificada en el elemento <Source> de la política de XML a JSON es de tipo string y no se define el elemento <OutputVariable>.
El elemento <OutputVariable> es obligatorio cuando la variable definida en el elemento <Source> es de tipo de string. |
build |
steps.xmltojson.SourceUnavailable |
500 | Este error ocurre si la variable mensaje especificada en el elemento <Source> de la política XML a JSON presenta alguna de las siguientes características:
|
build |
Errores en la implementación
Estos errores pueden generarse cuando implementas un proxy que contiene esta política.
| Nombre del error | Causa | Corregir |
|---|---|---|
EitherOptionOrFormat |
Si uno de los elementos <Options> o <Format> no se declara en la política de XML a JSON, la implementación del proxy de API falla.
|
build |
UnknownFormat |
Si el elemento <Format> dentro de la política de XML a JSON tiene un formato definido, la implementación del proxy de API falla. Los formatos predefinidos incluyen xml.com, yahoo, google y badgerFish.
|
build |
Variables con fallas
Estas variables se configuran cuando se genera un error de entorno de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de la política.
| Variables | Donde | Ejemplo |
|---|---|---|
fault.name="fault_name" |
fault_name es el nombre de la falla, como se indica en la tabla de Errores del entorno de ejecución anterior. El nombre de la falla es la última parte del código de la falla. | fault.name = "SourceUnavailable" |
xmltojson.policy_name.failed |
policy_name es el nombre especificado por el usuario de la política que generó la falla. | xmltojson.XMLtoJSON-1.failed = true |
Ejemplo de respuesta de error
{ "fault": { "faultstring": "XMLToJSON[XMLtoJSON-1]: Source xyz is not available", "detail": { "errorcode": "steps.xml2json.SourceUnavailable" } } }
Ejemplo de regla de falla
<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 XSLTransform
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause | Fix |
|---|---|---|---|
steps.xsl.XSLSourceMessageNotAvailable |
500 |
This error occurs if the message or string variable specified in the <Source> element of the
XSL Transform policy is either out of scope (not available in the specific flow where the
policy is being executed) or can't be resolved (is not defined).
|
build |
steps.xsl.XSLEvaluationFailed |
500 | This error occurs if the input XML payload is unavailable/malformed or the XSLTransform policy fails/is unable to transform the input XML file based on the transformation rules provided in the XSL file. There could be many different causes for the XSLTransform policy to fail. The reason for failure in the error message will provide more information on the cause. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
XSLEmptyResourceUrl |
If the <ResourceURL> element in the XSL Transform policy is empty, then the
deployment of the API proxy fails. |
build |
XSLInvalidResourceType |
If the resource type specified in the <ResourceURL> element of the XSL Transform
policy is not of type xsl, then the deployment of the API proxy fails. |
build |