Referencia de errores de políticas

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Política AccessControl

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
accesscontrol.IPDeniedAccess 403 La dirección IP del cliente o una dirección IP transmitida en la solicitud de la API coincide con una dirección IP especificada en el elemento <SourceAddress> del elemento <MatchRule> de la política de control de acceso, y el atributo action del elemento <MatchRule> tiene el valor DENY.
accesscontrol.InvalidIPAddressInVariable 500 La variable de flujo de <ClientIPVariable> contiene una dirección IP no válida.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta Variables específicas de errores de políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. acl.AC-AllowAccess.failed = true

Ejemplo de respuesta de error

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

Regla de fallo de ejemplo

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

Política de AccessEntity

Para obtener información relacionada, consulte Qué debe saber sobre los errores de las políticas y Gestión de errores.

Errores de tiempo de ejecución

Ninguno

Errores de implementación

Nombre del error Cadena de error Estado de HTTP Se produce cuando
InvalidEntityType Invalid type [entity_type] in ACCESSENTITYStepDefinition [policy_name] N/A El tipo de entidad utilizado debe ser uno de los tipos admitidos.

Política AssignMessage

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.assignmessage.SetVariableFailed 500 La política no ha podido definir una variable. Consulta la cadena de errores para ver el nombre de la variable sin resolver.
steps.assignmessage.VariableOfNonMsgType 500

Este error se produce si el atributo source del elemento <Copy> se asigna a una variable que no es del tipo message.

Las variables de tipo de mensaje representan solicitudes y respuestas HTTP completas. Las variables de flujo integradas de Apigee request, response y message son de tipo message. Para obtener más información sobre las variables de mensaje, consulta la referencia de variables.

steps.assignmessage.UnresolvedVariable 500

Este error se produce si una variable especificada en la política AssignMessage es:

  • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política)
  • o
  • No se puede resolver (no está definido)

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidIndex Si el índice especificado en los elementos <Copy> o <Remove> de la política AssignMessage es 0 o un número negativo, se producirá un error al implementar el proxy de API.
InvalidVariableName Si el elemento secundario <Name> está vacío o no se especifica en el elemento <AssignVariable>, la implementación del proxy de API falla porque no hay ningún nombre de variable válido al que asignar un valor. Es obligatorio indicar un nombre de variable válido.
InvalidPayload Una carga útil especificada en la política no es válida.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="FAULT_NAME" FAULT_NAME es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "UnresolvedVariable"
assignmessage.POLICY_NAME.failed POLICY_NAME es el nombre de la política especificado por el usuario que ha provocado el error. 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"
   }
}

Regla de error de ejemplo

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

Política BasicAuthentication

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante conocer esta información si vas a desarrollar reglas de errores para gestionar errores. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.basicauthentication.InvalidBasicAuthenticationSource 500 En una decodificación, cuando la cadena codificada Base64 entrante no contiene un valor válido o el encabezado tiene un formato incorrecto (por ejemplo, no empieza por Basic).
steps.basicauthentication.UnresolvedVariable 500 No están presentes las variables de origen necesarias para la decodificación o la codificación. Este error solo puede producirse si IgnoreUnresolvedVariables es false.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Se produce cuando Solucionar
UserNameRequired El elemento <User> debe estar presente en la operación con nombre.
PasswordRequired El elemento <Password> debe estar presente en la operación con nombre.
AssignToRequired El elemento <AssignTo> debe estar presente en la operación con nombre.
SourceRequired El elemento <Source> debe estar presente en la operación con nombre.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "UnresolvedVariable"
BasicAuthentication.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. BasicAuthentication.BA-Authenticate.failed = true

Ejemplo de respuesta de error

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

Regla de error de ejemplo

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

Política DecodeJWS

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Se produce cuando
steps.jws.FailedToDecode 401 La política no ha podido decodificar el JWS. Es posible que el JWS esté dañado.
steps.jws.FailedToResolveVariable 401 Se produce cuando no existe la variable de flujo especificada en el elemento <Source> de la política.
steps.jws.InvalidClaim 401 Si falta una reclamación o no coincide, o si falta un encabezado o no coincide.
steps.jws.InvalidJsonFormat 401 Se ha encontrado un JSON no válido en el encabezado de JWS.
steps.jws.InvalidJws 401 Este error se produce cuando no se puede verificar la firma JWS.
steps.jws.InvalidPayload 401 La carga útil de JWS no es válida.
steps.jws.InvalidSignature 401 <DetachedContent> se omite y el JWS tiene una carga útil de contenido independiente.
steps.jws.MissingPayload 401 Falta la carga útil de JWS.
steps.jws.NoAlgorithmFoundInHeader 401 Se produce cuando el JWS omite el encabezado del algoritmo.
steps.jws.UnknownException 401 Se ha producido una excepción desconocida.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Se produce cuando
InvalidAlgorithm Los únicos valores válidos son RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Otros posibles errores de implementación.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "TokenExpired"
JWS.failed Todas las políticas de JWS definen la misma variable en caso de fallo. jws.JWS-Policy.failed = true

Ejemplo de respuesta de error

Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

Regla de fallo de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.jwt.FailedToDecode 401 Se produce cuando la política no puede decodificar el JWT. Es posible que el JWT tenga un formato incorrecto, no sea válido o no se pueda decodificar.
steps.jwt.FailedToResolveVariable 401 Se produce cuando no existe la variable de flujo especificada en el elemento <Source> de la política.
steps.jwt.InvalidToken 401 Se produce cuando la variable de flujo especificada en el elemento <Source> de la política está fuera del ámbito o no se puede resolver.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidEmptyElement Se produce cuando la variable de flujo que contiene el JWT que se va a decodificar no se especifica en el elemento <Source> de la política.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "InvalidToken"
JWT.failed Todas las políticas de JWT definen la misma variable en caso de error. JWT.failed = true

Ejemplo de respuesta de error

Códigos de error de la política de JWT

Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

Regla de error de ejemplo

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

Política ExtractVariables

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.extractvariables.ExecutionFailed 500

Este error se produce cuando:

  • La carga útil de entrada (JSON o XML) está vacía.
  • La entrada (JSON, XML, etc.) que se ha enviado a la política no es válida o tiene un formato incorrecto.
steps.extractvariables.ImmutableVariable 500 Una variable usada en la política es inmutable. La política no ha podido definir esta variable. N/A
steps.extractvariables.InvalidJSONPath 500 Este error se produce si se usa una ruta JSON no válida en el elemento JSONPath de la política. Por ejemplo, si una carga útil JSON no tiene el objeto Name, pero especificas Name como ruta en la política, se producirá este error.
steps.extractvariables.JsonPathParsingFailure 500 Este error se produce cuando la política no puede analizar una ruta JSON y extraer datos de la variable de flujo especificada en el elemento Source. Normalmente, esto ocurre si la variable de flujo especificada en el elemento Source no existe en el flujo actual.
steps.extractvariables.SetVariableFailed 500 Este error se produce si la política no ha podido asignar el valor a una variable. El error suele producirse si intentas asignar valores a varias variables cuyos nombres empiezan por las mismas palabras en un formato anidado separado por puntos.
steps.extractvariables.SourceMessageNotAvailable 500 Este error se produce si la variable message especificada en el elemento Source de la política es una de las siguientes:
  • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política) o
  • No se puede resolver (no está definido)
steps.extractvariables.UnableToCast 500 Este error se produce si la política no ha podido convertir el valor extraído en una variable. Normalmente, esto ocurre si intentas asignar el valor de un tipo de datos a una variable de otro tipo de datos.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
NothingToExtract Si la política no tiene ninguno de los elementos URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload, la implementación del proxy de API falla porque no hay nada que extraer.
NONEmptyPrefixMappedToEmptyURI Este error se produce si la política tiene un prefijo definido en el elemento Namespace del elemento XMLPayload, pero no se ha definido ningún URI.
DuplicatePrefix Este error se produce si la política tiene el mismo prefijo definido más de una vez en el elemento Namespace del elemento XMLPayload.
NoXPathsToEvaluate Si la política no tiene el elemento XPath dentro del elemento XMLPayload, la implementación del proxy de API fallará y se mostrará este error.
EmptyXPathExpression Si la política tiene una expresión XPath vacía en el elemento XMLPayload, se producirá un error al desplegar el proxy de API.
NoJSONPathsToEvaluate Si la política no tiene el elemento JSONPath dentro del elemento JSONPayload, la implementación del proxy de API fallará y se mostrará este error.
EmptyJSONPathExpression Si la política tiene una expresión XPath vacía en el elemento XMLPayload, se producirá un error al desplegar el proxy de API.
MissingName Si la política no tiene el atributo name en ninguno de los elementos de la política, como QueryParam, Header, FormParam o Variable, donde es obligatorio, se producirá un error al implementar el proxy de API.
PatternWithoutVariable Si la política no tiene ninguna variable especificada en el elemento Pattern, se producirá un error al implementar el proxy de API. El elemento Pattern requiere el nombre de la variable en la que se almacenarán los datos extraídos.
CannotBeConvertedToNodeset Si la política tiene una expresión XPath en la que el tipo Variable se define como nodeset, pero la expresión no se puede convertir en nodeset, se produce un error al desplegar el proxy de API.
JSONPathCompilationFailed La política no ha podido compilar una ruta JSON especificada. N/A
InstantiationFailed No se ha podido crear una instancia de la política. N/A
XPathCompilationFailed Si el prefijo o el valor utilizado en el elemento XPath no forma parte de ninguno de los espacios de nombres declarados en la política, se producirá un error al implementar el proxy de API.
InvalidPattern Si la definición del elemento Pattern no es válida en ninguno de los elementos, como URIPath, QueryParam, Header, FormParam, XMLPayload o JSONPayload, de la política, se producirá un error al implementar el proxy de API.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "SourceMessageNotAvailable"
extractvariables.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. extractvariables.EV-ParseJsonResponse.failed = true

Ejemplo de respuesta de error

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

Regla de fallo de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Se produce cuando
steps.jws.GenerationFailed 401 La política no ha podido generar el JWS.
steps.jws.InsufficientKeyLength 401 Para una clave de menos de 32 bytes para el algoritmo HS256
steps.jws.InvalidClaim 401 Si falta una reclamación o no coincide, o si falta un encabezado o no coincide.
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 ha encontrado un JSON no válido en el encabezado de JWS.
steps.jws.InvalidPayload 401 La carga útil de JWS no es válida.
steps.jws.InvalidSignature 401 <DetachedContent> se omite y el JWS tiene una carga útil de contenido independiente.
steps.jws.KeyIdMissing 401 La política Verify usa un JWKS como fuente de claves públicas, pero el JWS firmado no incluye una propiedad kid en el encabezado.
steps.jws.KeyParsingFailed 401 No se ha podido analizar la clave pública a partir de la información de clave proporcionada.
steps.jws.MissingPayload 401 Falta la carga útil de JWS.
steps.jws.NoAlgorithmFoundInHeader 401 Se produce cuando el JWS omite el encabezado del algoritmo.
steps.jws.SigningFailed 401 En GenerateJWS, si la clave es inferior al tamaño mínimo de los algoritmos HS384 o HS512
steps.jws.UnknownException 401 Se ha producido una excepción desconocida.
steps.jws.WrongKeyType 401 Se ha especificado un tipo de clave incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo RSA.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Se produce cuando
InvalidAlgorithm Los únicos valores válidos son RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

EmptyElementForKeyConfiguration

FailedToResolveVariable

InvalidConfigurationForActionAndAlgorithmFamily

InvalidConfigurationForVerify

InvalidEmptyElement

InvalidFamiliesForAlgorithm

InvalidKeyConfiguration

InvalidNameForAdditionalClaim

InvalidNameForAdditionalHeader

InvalidPublicKeyId

InvalidPublicKeyValue

InvalidSecretInConfig

InvalidTypeForAdditionalClaim

InvalidTypeForAdditionalHeader

InvalidValueForElement

InvalidValueOfArrayAttribute

InvalidVariableNameForSecret

MissingConfigurationElement

MissingElementForKeyConfiguration

MissingNameForAdditionalClaim

MissingNameForAdditionalHeader

Otros posibles errores de implementación.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "TokenExpired"
JWS.failed Todas las políticas de JWS definen la misma variable en caso de fallo. jws.JWS-Policy.failed = true

Ejemplo de respuesta de error

Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

Regla de fallo de ejemplo

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

Política GenerateJWT

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los errores.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Se produce 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 Generate no coincide con el esperado en la política Verify. Los algoritmos especificados deben coincidir.
steps.jwt.EncryptionFailed 401 No se ha podido crear un JWT cifrado por un motivo no específico
steps.jwt.FailedToDecode 401 La política no ha podido decodificar el JWT. Es posible que el JWT esté dañado.
steps.jwt.GenerationFailed 401 La política no ha podido generar el JWT.
steps.jwt.InsufficientKeyLength 401 Si la clave tiene menos de 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 Si falta una reclamación o no coincide, o si falta un encabezado o no coincide.
steps.jwt.InvalidConfiguration 401 Están presentes los elementos <Algorithm> y <Algorithms>.
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 ha encontrado un JSON no válido en el encabezado o en la carga útil.
steps.jwt.InvalidPasswordKey 401 La clave especificada no cumple los requisitos.
steps.jwt.InvalidPrivateKey 401 La clave especificada no cumple los requisitos.
steps.jwt.InvalidPublicKey 401 La clave especificada no cumple los requisitos.
steps.jwt.InvalidSecretKey 401 La clave especificada no cumple los requisitos.
steps.jwt.InvalidToken 401 Este error se produce cuando no se puede verificar la firma JWT.
steps.jwt.JwtAudienceMismatch 401 No se ha podido verificar la reclamación de audiencia en el token.
steps.jwt.JwtIssuerMismatch 401 No se ha podido verificar la reclamación del emisor en el token.
steps.jwt.JwtSubjectMismatch 401 No se ha podido verificar la reclamación del asunto en el token.
steps.jwt.KeyIdMissing 401 La política Verify usa un JWKS como fuente de claves públicas, pero el JWT firmado no incluye una propiedad kid en el encabezado.
steps.jwt.KeyParsingFailed 401 No se ha podido analizar la clave pública a partir de la información de clave proporcionada.
steps.jwt.NoAlgorithmFoundInHeader 401 Se produce cuando el JWT no contiene ningún encabezado de algoritmo.
steps.jwt.NoMatchingPublicKey 401 La política Verify usa un JWKS como fuente de claves públicas, pero el kid del JWT firmado no aparece en el JWKS.
steps.jwt.SigningFailed 401 En GenerateJWT, para una clave inferior al tamaño mínimo de los algoritmos HS384 o HS512
steps.jwt.TokenExpired 401 La política intenta verificar un token caducado.
steps.jwt.TokenNotYetValid 401 El token aún no es válido.
steps.jwt.UnhandledCriticalHeader 401 Un encabezado encontrado por la política Verify JWT en el encabezado crit no aparece en KnownHeaders.
steps.jwt.UnknownException 401 Se ha producido una excepción desconocida.
steps.jwt.WrongKeyType 401 Se ha especificado un tipo de clave incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo RSA.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidNameForAdditionalClaim La implementación fallará si la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes nombres registrados: kid, iss, sub, aud, iat, exp, nbf o jti.
InvalidTypeForAdditionalClaim Si la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> no es de tipo string, number, boolean o map, la implementación fallará.
MissingNameForAdditionalClaim Si el nombre de la reclamación no se especifica en el elemento secundario <Claim> del elemento <AdditionalClaims>, la implementación fallará.
InvalidNameForAdditionalHeader Este error se produce cuando el nombre de la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> es alg o typ.
InvalidTypeForAdditionalHeader Si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> no es de tipo string, number, boolean o map, la implementación fallará.
InvalidValueOfArrayAttribute Este error se produce cuando el valor del atributo de matriz del elemento secundario <Claim> del elemento <AdditionalClaims> no es true ni false.
InvalidConfigurationForActionAndAlgorithm Si se usa el elemento <PrivateKey> con algoritmos de la familia HS o el elemento <SecretKey> con algoritmos de la familia RSA, la implementación fallará.
InvalidValueForElement Si el valor especificado en el elemento <Algorithm> no es un valor admitido, la implementación fallará.
MissingConfigurationElement Este error se producirá si el elemento <PrivateKey> no se usa con algoritmos de la familia RSA o si el elemento <SecretKey> no se usa con algoritmos de la familia HS.
InvalidKeyConfiguration Si el elemento secundario <Value> no se define en los elementos <PrivateKey> o <SecretKey>, la implementación fallará.
EmptyElementForKeyConfiguration Si el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> está vacío o no se ha especificado, la implementación fallará.
InvalidVariableNameForSecret Este error se produce si el nombre de la variable de flujo especificado en el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> no contiene el prefijo privado (private.).
InvalidSecretInConfig Este error se produce si el elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> no contiene el prefijo privado (private.).
InvalidTimeFormat Si el valor especificado en el elemento <NotBefore> no usa un formato compatible, la implementación fallará.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "InvalidToken"
JWT.failed Todas las políticas de JWT definen la misma variable en caso de error. JWT.failed = true

Ejemplo de respuesta de error

Códigos de error de la política de JWT

Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

Regla de error de ejemplo

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

Política JavaCallout

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.javacallout.ExecutionError 500 Se produce cuando el código Java genera una excepción o devuelve un valor nulo durante la ejecución de un JavaCallout policy.

Errores de implementación

Estos errores pueden producirse cuando se implementa el proxy que contiene la política.

Nombre del error Cadena de error Estado de HTTP Se produce cuando
ResourceDoesNotExist Resource with name [name] and type [type] does not exist N/A El archivo especificado en el elemento <ResourceURL> no existe.
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. Las versiones de Java compatibles son Oracle JDK 7/8 y OpenJDK 7/8.
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 de error

Estas variables se definen cuando esta política activa un error. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "ExecutionError"
javacallout.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. javacallout.JC-GetUserData.failed = true

Ejemplo de respuesta de error

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

Regla de error de ejemplo

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

Política de JavaScript

En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionar los errores. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.javascript.ScriptExecutionFailed 500 La política JavaScript puede generar muchos tipos distintos de errores ScriptExecutionFailed. Entre los tipos de errores que se suelen ver se incluyen los siguientes: RangeError, ReferenceError, SyntaxError, TypeError y URIError.
steps.javascript.ScriptExecutionFailedLineNumber 500 Se ha producido un error en el código JavaScript. Consulta la cadena de errores para obtener más información. N/A
steps.javascript.ScriptSecurityError 500 Se ha producido un error de seguridad al ejecutar JavaScript. Consulta la cadena de errores para obtener más información. N/A

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidResourceUrlFormat Si el formato de la URL del recurso especificado en el elemento <ResourceURL> o <IncludeURL> de la política JavaScript no es válido, se producirá un error al implementar el proxy de API.
InvalidResourceUrlReference Si los elementos <ResourceURL> o <IncludeURL> hacen referencia a un archivo JavaScript que no existe, se producirá un error al implementar el proxy de API. El archivo de origen al que se hace referencia debe existir en el proxy de API, en el entorno o en la organización.
WrongResourceType Este error se produce durante la implementación si los elementos <ResourceURL> o <IncludeURL> de la política JavaScript hacen referencia a un tipo de recurso que no sea jsc (archivo JavaScript).
NoResourceURLOrSource La implementación de la política JavaScript puede fallar con este error si no se declara el elemento <ResourceURL> o si no se define la URL del recurso en este elemento. El elemento <ResourceURL> es obligatorio. O bien, el elemento <IncludeURL> se declara, pero la URL del recurso no se define en este elemento. El elemento <IncludeURL> es opcional, pero, si se declara, la URL del recurso debe especificarse en el elemento <IncludeURL>.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "ScriptExecutionFailed"
javascript.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
    }
  }
}

Regla de error de ejemplo

<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 de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante conocer esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.jsonthreatprotection.ExecutionFailed 500 La política JSONThreatProtection puede generar muchos tipos distintos de errores ExecutionFailed. La mayoría de estos errores se producen cuando se supera un umbral específico establecido en la política. Estos tipos de errores incluyen los siguientes: longitud del nombre de la entrada del objeto, número de entradas del objeto, número de elementos del array, profundidad del contenedor, longitud del valor de la cadena. Este error también se produce cuando la carga útil contiene un objeto JSON no válido.
steps.jsonthreatprotection.SourceUnavailable 500 Este error se produce si la variable message especificada en el elemento <Source> es:
  • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política)
  • No es uno de los valores válidos request, response o message
steps.jsonthreatprotection.NonMessageVariable 500 Este error se produce si el elemento <Source> se asigna a una variable que no es del tipo message.

Errores de implementación

Ninguno

Variables de error

Estas variables se definen cuando esta política activa un error. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "SourceUnavailable"
jsonattack.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
    }
  }
}

Regla de fallo de ejemplo

<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 de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionar los errores. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.jsontoxml.ExecutionFailed 500 La carga útil de entrada (JSON) está vacía o la entrada (JSON) que se ha enviado a la política JSON a XML no es válida o tiene un formato incorrecto.
steps.jsontoxml.InCompatibleTypes 500 Este error se produce si el tipo de la variable definida en el elemento <Source> y el elemento <OutputVariable> no son el mismo. Es obligatorio que el tipo de las variables contenidas en el elemento <Source> y en el elemento <OutputVariable> coincida. Los tipos válidos son message y string.
steps.jsontoxml.InvalidSourceType 500 Este error se produce si el tipo de la variable usada para definir el elemento <Source> no es válido. Los tipos de variables válidos son message y string.
steps.jsontoxml.OutputVariableIsNotAvailable 500 Este error se produce si la variable especificada en el elemento <Source> de la política de JSON a XML es de tipo cadena y el elemento <OutputVariable> no está definido. El elemento <OutputVariable> es obligatorio cuando la variable definida en el elemento <Source> es de tipo cadena.
steps.jsontoxml.SourceUnavailable 500 Este error se produce si la variable message especificada en el elemento <Source> de la política JSON a XML es una de las siguientes:
  • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política) o
  • No se puede resolver (no está definido)

Errores de implementación

Ninguno

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "SourceUnavailable"
jsontoxml.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
    }
  }
}

Regla de fallo de ejemplo

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

En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.keyvaluemapoperations.UnsupportedOperationException 500

Este error se produce si el atributo mapIdentifier se define como una cadena vacía en la política KeyValueMapOperations.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidIndex Si el atributo index especificado en el elemento <Get> de la política KeyValueMapOperations es cero o un número negativo, se producirá un error al implementar el proxy de API. El índice empieza por 1, por lo que un índice cero o un número entero negativo no son válidos.
KeyIsMissing Este error se produce si falta el elemento <Key> por completo o si falta el elemento <Parameter> dentro del elemento <Key>, que se encuentra debajo del elemento <Entry> del elemento <InitialEntries> de la política KeyValueMapOperations.
ValueIsMissing Este error se produce si falta el elemento <Value> debajo del elemento <Entry> del elemento <InitialEntries> de la política KeyValueMapOperations.

Política MessageLogging

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa
steps.messagelogging.StepDefinitionExecutionFailed 500 Consulta la cadena de error.
steps.messagelogging.InvalidGoogleCloudLogName 500 Este error se produce cuando LogName no se evalúa con el formato válido de projects/{project}/logs/{logid}.
steps.messagelogging.InvalidJsonMessage 500 Este error se produce cuando se ha elegido el valor application/json para el atributo contentType, pero el valor del mensaje no es una cadena JSON válida.
steps.messagelogging.TooManyPendingLoggingRequest 500 Este error se produce cuando hay más de 2500 solicitudes pendientes que aún no se han escrito en Cloud Logging. El límite de 2500 se aplica a cada pod de tiempo de ejecución de Apigee. Por ejemplo, si el tráfico se distribuye en dos instancias de pods de tiempo de ejecución de Apigee, el límite efectivo es de 5000 solicitudes.
-

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidProtocol La implementación de la política MessageLogging puede fallar con este error si el protocolo especificado en el elemento <Protocol> no es válido. Los protocolos válidos son TCP y UDP. Para enviar mensajes syslog a través de TLS/SSL, solo se admite TCP.
InvalidPort La implementación de la política MessageLogging puede fallar con este error si no se especifica el número de puerto en el elemento <Port> o si no es válido. El número de puerto debe ser un número entero mayor que cero.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. messagelogging.ML-LogMessages.failed = true

Ejemplo de respuesta de error

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

Regla de fallo de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa
steps.oasvalidation.Failed 400 No se puede validar el cuerpo del mensaje de solicitud con la especificación OpenAPI proporcionada.
steps.oasvalidation.Failed 500 No se puede validar el cuerpo del mensaje de respuesta con la especificación OpenAPI proporcionada.
steps.oasvalidation.SourceMessageNotAvailable 500

La variable especificada en el elemento <Source> de la política está fuera del ámbito o no se puede resolver.

steps.oasvalidation.NonMessageVariable 500

El elemento <Source> se ha asignado a una variable que no es del tipo message.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga 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 OpenAPI incluida en la implementación contiene errores que impiden que se compile. Por lo general, esto indica que la especificación no es una especificación OpenAPI 3.0 bien formada.
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 ha especificado correctamente.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variable Descripción Ejemplo
fault.category Categoría del fallo. Cuando la política rechaza una solicitud, siempre tendrá el valor Step. fault.category = "Step"
fault.name Nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "ResourceDoesNotExist"
fault.reason El motivo del error. Es una cadena legible por humanos que explica el motivo del error. OASValidation OAS-1 with resource "oas://my-spec1.yaml": failed with reason: "[ERROR - POST operation not allowed on path '/persons/13'.: []]"
fault.subcategory La subcategoría del fallo. Cuando la política rechaza una solicitud, siempre tendrá el valor OASValidationFailure. fault.subcategory = "OASValidationFailure"
OASValidation.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. OASValidation.myoaspolicy.failed = true

Política PopulateCache

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Se produce cuando
policies.populatecache.EntryCannotBeCached 500 No se puede almacenar en caché una entrada. El objeto de mensaje que se va a almacenar en caché no es una instancia de una clase serializable.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidCacheResourceReference Este error se produce si el elemento <CacheResource> de la política PopulateCache tiene asignado un nombre que no existe en el entorno en el que se está implementando el proxy de API.
CacheNotFound La caché especificada en el elemento <CacheResource> no existe.

Variables de error

Estas variables se definen cuando esta política activa un error. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "EntryCannotBeCached"
populatecache.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
    }
  }
}

Regla de fallo de ejemplo

<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 de LookupCache

En esta sección se describen los mensajes de error y las variables de flujo que se definen cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para un proxy. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Prefijo de código de error

N/A

Errores de tiempo de ejecución

Esta política no genera ningún error de tiempo de ejecución.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidCacheResourceReference Este error se produce si el elemento <CacheResource> se asigna a un nombre que no existe en el entorno en el que se está implementando el proxy de API.
InvalidTimeout Si el elemento <CacheLookupTimeoutInSeconds> tiene asignado un número negativo, la implementación del proxy de API fallará.
CacheNotFound Este error se produce si la caché específica mencionada en el mensaje de error no se ha creado en un componente Message Processor específico.

Variables de error

N/A

Ejemplo de respuesta de error

N/A

Política InvalidateCache

En esta sección se describen los mensajes de error y las variables de flujo que se definen cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para un proxy. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Prefijo de código de error

N/A

Errores de tiempo de ejecución

Esta política no genera ningún error de tiempo de ejecución.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidCacheResourceReference Este error se produce si el elemento <CacheResource> de la política InvalidateCache se asigna a un nombre que no existe en el entorno en el que se está implementando el proxy de API.
CacheNotFound Este error se produce si la caché específica mencionada en el mensaje de error no se ha creado en un componente Message Processor específico.

Variables de error

N/A

Ejemplo de respuesta de error

N/A

Política ResponseCache

En esta sección se describen los mensajes de error y las variables de flujo que se definen cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para un proxy. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Prefijo del código de error

N/A

Errores de tiempo de ejecución

Esta política no genera ningún error de tiempo de ejecución.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidTimeout Si el elemento <CacheLookupTimeoutInSeconds> de la política ResponseCache se asigna a un número negativo, se producirá un error en la implementación del proxy de API.
InvalidCacheResourceReference Este error se produce si el elemento <CacheResource> de una política ResponseCache se asigna a un nombre que no existe en el entorno en el que se está implementando el proxy de API.
ResponseCacheStepAttachmentNotAllowedReq Este error se produce si la misma política ResponseCache se adjunta a varias rutas de solicitud en cualquier flujo de un proxy de API.
ResponseCacheStepAttachmentNotAllowedResp Este error se produce si la misma política ResponseCache se adjunta a varias rutas de respuesta en cualquier flujo de un proxy de API.
InvalidMessagePatternForErrorCode Este error se produce si el elemento <SkipCacheLookup> o el elemento <SkipCachePopulation> de una política ResponseCache contiene una condición no válida.
CacheNotFound Este error se produce si la caché específica mencionada en el mensaje de error no se ha creado en un componente Message Processor específico.

Variables de error

N/A

Ejemplo de respuesta de error

N/A

Política de OAuthV2

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Lanzado por operaciones
steps.oauth.v2.access_token_expired 401 El token de acceso ha caducado.

VerifyAccessToken
InvalidateToken

steps.oauth.v2.access_token_not_approved 401 Se ha revocado el token de acceso. VerifyAccessToken
steps.oauth.v2.apiproduct_doesnot_exist 401 El producto de API solicitado no existe en ninguno de los productos de API asociados al token de acceso. VerifyAccessToken
steps.oauth.v2.FailedToResolveAccessToken 500 La política esperaba encontrar un token de acceso en una variable especificada en el elemento <AccessToken>, pero no se ha podido resolver la variable. GenerateAccessToken
steps.oauth.v2.FailedToResolveAuthorizationCode 500 La política esperaba encontrar un código de autorización en una variable especificada en el elemento <Code>, pero no se ha podido resolver la variable. GenerateAuthorizationCode
steps.oauth.v2.FailedToResolveClientId 500 La política esperaba encontrar el ID de cliente en una variable especificada en el elemento <ClientId>, pero no se ha podido resolver la variable. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.FailedToResolveRefreshToken 500 La política esperaba encontrar un token de actualización en una variable especificada en el elemento <RefreshToken>, pero no se ha podido resolver la variable. RefreshAccessToken
steps.oauth.v2.FailedToResolveToken 500 La política esperaba encontrar un token en una variable especificada en el elemento <Tokens>, pero no se ha podido resolver la variable.

ValidateToken
InvalidateToken

steps.oauth.v2.InsufficientScope 403 El token de acceso presentado en la solicitud tiene un ámbito que no coincide con el ámbito especificado en la política de verificación de tokens de acceso. Para obtener información sobre los permisos, consulta Usar permisos OAuth2. VerifyAccessToken
steps.oauth.v2.invalid_client 401

Este nombre de error se devuelve cuando la propiedad <GenerateResponse> de la política tiene el valor true y el ID de cliente enviado en la solicitud no es válido. Comprueba que estés usando los valores de clave y secreto de cliente correctos para la aplicación de desarrollador asociada a tu proxy. Normalmente, estos valores se envían como un encabezado de autorización básica codificado en Base64.

GenerateAccessToken
RefreshAccessToken
steps.oauth.v2.InvalidRequest 400 Este nombre de error se usa para varios tipos de errores diferentes, normalmente para parámetros que faltan o que son incorrectos y que se envían en la solicitud. Si <GenerateResponse> se ha definido como false, usa las variables de error (descritas más abajo) para obtener detalles sobre el error, como el nombre y la causa. GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken
steps.oauth.v2.InvalidAccessToken 401 El encabezado de autorización no incluye la palabra Bearer, que es obligatoria. Por ejemplo: Authorization: Bearer your_access_token VerifyAccessToken
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401

El proxy de API o la operación que se está ejecutando no está en el producto asociado al token de acceso.

Nota: Asegúrate de que el producto asociado al token de acceso esté configurado correctamente. Por ejemplo, si usas comodines en las rutas de recursos, asegúrate de que se utilizan correctamente. Consulta más información en Gestionar productos de API.

Consulta también Oauth2.0 Access Token Verification throws "Invalid API call as no apiproduct match found" error para obtener más información sobre las causas de este error.

VerifyAccessToken
steps.oauth.v2.InvalidClientIdentifier 500

Este nombre de error se devuelve cuando la propiedad <GenerateResponse> de la política tiene el valor false y el ID de cliente enviado en la solicitud no es válido. Comprueba que estés usando los valores de clave y secreto de cliente correctos para la aplicación de desarrollador asociada a tu proxy. Por lo general, estos valores se envían como un encabezado de autorización básica codificado en Base64.

GenerateAccessToken
RefreshAccessToken

steps.oauth.v2.InvalidParameter 500 La política debe especificar un token de acceso o un código de autorización, pero no ambos. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.InvalidTokenType 500 El elemento <Tokens>/<Token> requiere que especifiques el tipo de token (por ejemplo, refreshtoken). Si el cliente envía el tipo incorrecto, se produce este error. ValidateToken
InvalidateToken
steps.oauth.v2.MissingParameter 500 El tipo de respuesta es token, pero no se ha especificado ningún tipo de concesión. GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
steps.oauth.v2.UnSupportedGrantType 500

El cliente ha especificado un tipo de concesión que no admite la política (no figura en el elemento <SupportedGrantTypes>).

GenerateAccessToken
GenerateAuthorizationCode
GenerateAccessTokenImplicitGrant
RefreshAccessToken

Errores del entorno de ejecución específicos de tokens JWT

Los códigos de error y las descripciones de los flujos de tokens de autenticación JWT en tiempo de ejecución dependen del contexto del flujo de OAuth2:

Códigos de error de los flujos de generación y actualización de tokens JWT

En los flujos de OAuth2 que generan o actualizan tokens JWT, las respuestas de error se ajustan a las respuestas de error especificadas en RFC6749. Para obtener más información, consulta la sección 5.2, Respuesta de error.

Códigos de error del flujo de verificación de tokens

Los códigos de error que se indican en la siguiente tabla solo se aplican a la operación VerifyAccessToken.

Código de fallo Estado de HTTP Causa Lanzado por operaciones
oauth.v2.JWTSigningFailed 401 La política no ha podido firmar el JWT.

GenerateJWTAccessToken

oauth.v2.InvalidValueForJWTAlgorithm 401 Esto ocurre cuando el algoritmo no está presente en el token de acceso JWT o cuando el valor no es compatible.

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.InsufficientKeyLength 401 En Generación de JWT, para una clave inferior al tamaño mínimo de los algoritmos HS384 o HS512

GenerateJWTAccessToken
VerifyJWTAccessToken

oauth.v2.JWTAlgorithmMismatch 401 El algoritmo especificado en la política Generate no coincide con el esperado en la política Verify. Los algoritmos especificados deben coincidir.

VerifyJWTAccessToken

oauth.v2.JWTDecodingFailed 401 La política no ha podido decodificar el JWT. Es posible que el JWT esté dañado.

VerifyJWTAccessToken

oauth.v2.MissingMandatoryClaimsInJWT 401 Se produce cuando las reclamaciones obligatorias no están presentes en el token de acceso JWT.

VerifyJWTAccessToken

oauth.v2.InvalidJWTSignature 401 Esto ocurre cuando no se ha podido verificar la firma del token de acceso JWT o cuando la firma no es válida.

VerifyJWTAccessToken

oauth.v2.InvalidTypeInJWTHeader 401 Se produce cuando el tipo de JWT no es at+Jwt.

VerifyJWTAccessToken

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa
InvalidValueForExpiresIn

En el caso del elemento <ExpiresIn>, los valores válidos son números enteros positivos.

InvalidValueForRefreshTokenExpiresIn En el caso del elemento <RefreshTokenExpiresIn>, los valores válidos son números enteros positivos.
InvalidGrantType Se ha especificado un tipo de concesión no válido en el elemento <SupportedGrantTypes>. Consulta la referencia de la política para ver una lista de tipos válidos.
ExpiresInNotApplicableForOperation Asegúrate de que las operaciones especificadas en el elemento <Operations> admitan la caducidad. Por ejemplo, la operación VerifyToken no lo hace.
RefreshTokenExpiresInNotApplicableForOperation Asegúrate de que las operaciones especificadas en el elemento <Operations> admitan la caducidad del token de actualización. Por ejemplo, la operación VerifyToken no lo hace.
GrantTypesNotApplicableForOperation Asegúrate de que los tipos de concesión especificados en <SupportedGrantTypes> se admitan en la operación especificada.
OperationRequired

Debe especificar una operación en esta política mediante el elemento <Operation>.

InvalidOperation

Debe especificar una operación válida en esta política mediante el elemento <Operation>.

TokenValueRequired Debe especificar un valor de token <Token> en el elemento <Tokens>.

Errores de implementación específicos de tokens JWT

Estos errores de implementación son específicos de las políticas que usan operaciones de tokens JWT.

Nombre del error Causa
InvalidValueForAlgorithm El algoritmo especificado en el elemento <Algorithm> no está en la lista de algoritmos disponibles o no está presente.
MissingKeyConfiguration Faltan los elementos obligatorios <SecretKey>, <PrivateKey> o <PublicKey>, según el algoritmo que se utilice.
EmptyValueElementForKeyConfiguration El elemento secundario obligatorio <Value> no está definido en los elementos <PrivateKey>, <PublicKey> o <SecretKey>
InvalidKeyConfiguration El elemento <PrivateKey> no se usa con los algoritmos de la familia RSA ni el elemento <SecretKey> se usa con los algoritmos de la familia HS.
EmptyRefAttributeForKeyconfiguration El atributo ref del elemento secundario <Value> de los elementos <PrivateKey>, <PublicKey> o <SecretKey> está vacío.
InvalidVariableNameForKey El nombre de la variable de flujo especificado en el atributo ref del elemento secundario <Value> de los elementos <PrivateKey>, <PublicKey> o <SecretKey> no contiene el prefijo private.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "InvalidRequest"
oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.GenerateAccesstoken.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.GenerateAccesstoken.fault.name = InvalidRequest
oauthV2.policy_name.fault.cause policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.GenerateAccesstoken.cause = Required param : grant_type

Ejemplo de respuesta de error

Estas respuestas se envían al cliente si el elemento <GenerateResponse> es true.

Si <GenerateResponse> es true, la política devuelve errores en este formato para las operaciones que generan tokens y códigos. Para ver una lista completa, consulta la referencia de respuestas de error HTTP de OAuth.

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

Si <GenerateResponse> es true, la política devuelve errores en este formato para las operaciones de verificación y validación. Para ver una lista completa, consulta la referencia de respuestas de error HTTP de OAuth.

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

Regla de fallo de ejemplo

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

Política GetOAuthV2Info

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política. Los nombres de los errores que se muestran a continuación son las cadenas que se asignan a la variable fault.name cuando se produce un error. Consulta la sección Variables de error que aparece más abajo para obtener más información.

Código de fallo Estado de HTTP Causa
steps.oauth.v2.access_token_expired 500 El token de acceso enviado a la política ha caducado.
steps.oauth.v2.authorization_code_expired 500 El código de autorización enviado a la política ha caducado.
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 enviado a la política no es válido.
steps.oauth.v2.invalid_refresh_token 500 El token de actualización enviado a la política no es válido.
steps.oauth.v2.invalid_request-authorization_code_invalid 500 El código de autorización enviado a la política no es válido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Consulte el artículo La verificación del token de acceso de OAuth 2.0 genera el error "Invalid API call as no apiproduct match found" (Llamada a la API no válida porque no se ha encontrado ningún producto de API coincidente) para obtener información sobre cómo solucionar este error.
steps.oauth.v2.refresh_token_expired 500 El token de actualización enviado a la política ha caducado.

Errores de implementación

Consulta el mensaje que se muestra en la interfaz de usuario para obtener información sobre los errores de implementación.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "IPDeniedAccess"
oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.GetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.GetToKenInfo.fault.name = invalid_client-invalid_client_id
oauthV2.policy_name.fault.cause policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
      }
   }
}

Regla de error de ejemplo

<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 error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa
steps.oauth.v2.access_token_expired 500 El token de acceso enviado a la política ha caducado.
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 Consulte el artículo La verificación del token de acceso de OAuth 2.0 devuelve el error "Invalid API call as no apiproduct match found" (Llamada a la API no válida porque no se ha encontrado ningún producto de API coincidente) para obtener información sobre cómo solucionar este error.

Errores de implementación

Consulta el mensaje que se muestra en la interfaz de usuario para obtener información sobre los errores de implementación.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.SetTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.SetTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.SetTokenInfo.cause = Invalid Access Token

Ejemplo de respuesta de error

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

Regla de error de ejemplo

<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

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa
steps.oauth.v2.invalid_access_token 401 El token de acceso enviado a la política no es válido.
steps.oauth.v2.invalid_request-authorization_code_invalid 401 El código de autorización enviado a la política no es válido.
steps.oauth.v2.InvalidAPICallAsNoApiProductMatchFound 401 Consulte el artículo La verificación del token de acceso de OAuth 2.0 devuelve el error "Invalid API call as no apiproduct match found" (Llamada a la API no válida porque no se ha encontrado ningún producto de API coincidente) para obtener información sobre cómo solucionar este error.

Errores de implementación

Consulta el mensaje que se muestra en la interfaz de usuario para obtener información sobre los errores de implementación.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "invalid_access_token"
oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.failed = true
oauthV2.policy_name.fault.name policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.fault.name = invalid_access_token
oauthv2.policy_name.fault.cause policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.DeleteTokenInfo.cause = Invalid Access Token

Ejemplo de respuesta de error

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

Regla de error de ejemplo

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

En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionar los errores. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.script.ScriptEvaluationFailed 500 La política PythonScript puede generar varios tipos de errores ScriptExecutionFailed. Entre los tipos de errores que se suelen ver se incluyen NameError y ZeroDivisionError.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidResourceUrlFormat Si el formato de la URL del recurso especificado en el elemento <ResourceURL> o en el <IncludeURL> de la política PythonScript no es válido, se producirá un error al implementar el proxy de API.
InvalidResourceUrlReference Si los elementos <ResourceURL> o <IncludeURL> hacen referencia a un archivo PythonScript que no existe, se producirá un error al implementar el proxy de API. El archivo de origen al que se hace referencia debe estar en el proxy de la API, en el entorno o en la organización.

Variables de error

Estas variables se definen cuando esta política activa un error en el tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "ScriptExecutionFailed"
pythonscript.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
    }
  }
}

Regla de fallo de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
policies.ratelimit.FailedToResolveQuotaIntervalReference 500 Se produce si el elemento <Interval> no se define en la política Quota. Este elemento es obligatorio y se usa para especificar el intervalo de tiempo aplicable a la cuota. El intervalo de tiempo puede ser en minutos, horas, días, semanas o meses, tal como se define con el elemento <TimeUnit>.
policies.ratelimit.FailedToResolveQuotaIntervalTimeUnitReference 500 Se produce si el elemento <TimeUnit> no se define en la política Quota. 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.
policies.ratelimit.InvalidMessageWeight 500 Se produce si el valor del elemento <MessageWeight> especificado mediante una variable de flujo no es válido (un valor no entero).
policies.ratelimit.QuotaViolation 500 Se ha superado el límite de la cuota. N/A

Errores de implementación

Nombre del error Causa Solucionar
InvalidQuotaInterval Si el intervalo de cuota especificado en el elemento <Interval> no es un número entero, se producirá un error en la implementación del proxy de API. Por ejemplo, si el intervalo de cuota especificado es 0,1 en el elemento <Interval>, se producirá un error al desplegar el proxy de API.
InvalidQuotaTimeUnit Si la unidad de tiempo especificada en el elemento <TimeUnit> no es compatible, se producirá un error en la implementación del proxy de API. Las unidades de tiempo admitidas son minute, hour, day, week y month.
InvalidQuotaType Si el tipo de cuota especificado por el atributo type del elemento <Quota> no es válido, se producirá un error al desplegar el proxy de API. Los tipos de cuota admitidos son default, calendar, flexi y rollingwindow.
InvalidStartTime Si el formato de la hora especificada en el elemento <StartTime> no es válido, se producirá un error al implementar el proxy de 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, se producirá un error al implementar el proxy de API.
StartTimeNotSupported Si se especifica el elemento <StartTime> cuyo tipo de cuota no es calendar, el despliegue del proxy de API falla. El elemento <StartTime> solo se admite para el tipo de cuota calendar. Por ejemplo, si el atributo type se define como flexi o rolling window en el elemento <Quota>, se producirá un error al implementar el proxy de API.
InvalidSynchronizeIntervalForAsyncConfiguration Si el valor especificado para el elemento <SyncIntervalInSeconds> dentro del elemento <AsynchronousConfiguration> de una política Quota es inferior a cero, se produce un error en la implementación del proxy de API.
InvalidAsynchronizeConfigurationForSynchronousQuota Si el valor del elemento <AsynchronousConfiguration> es true en una política Quota, que también tiene una configuración asíncrona definida mediante el elemento <AsynchronousConfiguration>, se produce un error en la implementación del proxy de API.

Variables de error

Estas variables se definen cuando esta política activa un error. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "QuotaViolation"
ratelimit.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
   }
}

Regla de fallo de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
policies.resetquota.InvalidRLPolicy 500 La política Quota especificada en el elemento <Quota> de la política ResetQuota no se ha definido en el proxy de API y, por lo tanto, no está disponible durante el flujo. El elemento <Quota> es obligatorio e identifica la política Quota de destino cuyo contador se debe actualizar mediante la política ResetQuota.
policies.resetquota.FailedToResolveAllowCountRef N/A No se puede resolver la referencia a la variable que contiene el número de elementos permitidos en el elemento <Allow> de la política. Este elemento es obligatorio y especifica la cantidad en la que se debe reducir el contador de cuota.
policies.resetquota.FailedToResolveRLPolicy 500 No se puede resolver la variable a la que hace referencia el atributo ref del elemento <Quota>.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
InvalidCount Si el valor de recuento especificado en el elemento <Allow> de la política ResetQuota no es un número entero, se producirá un error al implementar el proxy de API.

RaiseFaultpolicy

En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante conocer esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa
steps.raisefault.RaiseFault 500 Consulta la cadena de errores.

Errores de implementación

Ninguno

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "RaiseFault"
raisefault.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. raisefault.RF-ThrowError.failed = true

Ejemplo de respuesta de error

{
   "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 devueltos, así como las variables de fallo definidas por Apigee cuando esta política activa un error. Es importante conocer esta información si estás desarrollando reglas de errores para gestionarlos. Si quieres registrar un error y generar tu propio error personalizado, define el atributo continueOnError="true" en el elemento raíz de la política. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Gestionar errores.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de error Mensaje
ExecutionFailed Failed to execute the RegularExpressionProtection StepDefinition {0}. Reason: {1}
InstantiationFailed Failed to instantiate the RegularExpressionProtection StepDefinition {0}
NonMessageVariable Variable {0} does not resolve to a Message
SourceMessageNotAvailable {0} message is not available for RegularExpressionProtection StepDefinition {1}
ThreatDetected Regular Expression Threat Detected in {0}: regex: {1} input: {2}
VariableResolutionFailed Failed to resolve variable {0}

Errores de implementación

Código de error Mensaje Solucionar
CannotBeConvertedToNodeset RegularExpressionProtection {0}: Result of xpath {1} cannot be converted to nodeset. Context {2}
DuplicatePrefix RegularExpressionProtection {0}: Duplicate prefix {1}
EmptyJSONPathExpression RegularExpressionProtection {0}: Empty JSONPath expression
EmptyXPathExpression RegularExpressionProtection {0}: Empty XPath expression
InvalidRegularExpression RegularExpressionProtection {0}: Invalid Regular Expression {1}, Context {2}
JSONPathCompilationFailed RegularExpressionProtection {0}: Failed to compile jsonpath {1}. Context {2}
NONEmptyPrefixMappedToEmptyURI RegularExpressionProtection {0}: Non-empty prefix {1} cannot be mapped to empty uri
NoPatternsToEnforce RegularExpressionProtection {0}: No patterns to enforce in {1}
NothingToEnforce RegularExpressionProtection {0}: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory
XPathCompilationFailed RegularExpressionProtection {0}: Failed to compile xpath {1}. Context {2}

Variables de error

Estas variables se definen cuando esta política activa un error. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla anterior. fault.name Matches "ThreatDetected"
regularexpressionprotection.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. regularexpressionprotection.Regular-Expressions-Protection-1.failed = true

Política de SAMLAssertion

En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que se definen cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de implementación

Estos errores pueden producirse al implementar un proxy que contenga esta política.

Nombre del error Causa Solucionar
SourceNotConfigured No se ha definido o está vacío uno o varios de los siguientes elementos de la política ValidateSAMLAssertion: <Source>, <XPath>, <Namespaces> y <Namespace>.
TrustStoreNotConfigured Si el elemento <TrustStore> está vacío o no se especifica en la política ValidateSAMLAssertion, se produce un error en la implementación del proxy de API. Se necesita un almacén de confianza válido.
NullKeyStoreAlias Si el elemento secundario <Alias> está vacío o no se especifica en el elemento <Keystore> de la política GenerateSAMLAssertion, se producirá un error en la implementación del proxy de la API. Es obligatorio indicar un alias de almacén de claves válido.
NullKeyStore Si el elemento secundario <Name> está vacío o no se especifica en el elemento <Keystore> de la política GenerateSAMLAssertion, se producirá un error en la implementación del proxy de la API. Es obligatorio indicar un nombre de almacén de claves válido.
NullIssuer Si el elemento <Issuer> está vacío o no se especifica en la política GenerateSAMLAssertion, se produce un error en la implementación del proxy de API. Se requiere un valor <Issuer> válido.

Variables de error

Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

Variables Dónde Ejemplo
fault.name="fault_name" fault_name es el nombre del fallo. El nombre del error es la última parte del código de error. fault.name = "InvalidMediaTpe"
GenerateSAMLAssertion.failed En el caso de una configuración de política de validación de aserciones SAML, 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"
    }
  }
}

Regla de error de ejemplo

<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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

Errores de tiempo de ejecución

Estos errores pueden producirse cuando se ejecuta la política.

Código de fallo Estado de HTTP Causa Solucionar
steps.servicecallout.ExecutionFailed 500

Este error puede producirse cuando:

  • Se le pide a la política que gestione una entrada que tiene un formato incorrecto o no es válida.
  • El servicio de destino backend devuelve un estado de error (de forma predeterminada, 4xx o 5xx).
steps.servicecallout.RequestVariableNotMessageType 500 La variable Request especificada en la política no es del tipo Message. Por ejemplo, si es una cadena u otro tipo que no sea de mensaje, verás este error.
steps.servicecallout.RequestVariableNotRequestMessageType 500 La variable Request especificada en la política no es del tipo RequestMessage. Por ejemplo, si es de tipo Response, verás este error.
googletoken.EmptyIDTokenAudience 500

<GoogleIDToken> está habilitado, pero useTargetUrl tiene el valor "false" y no se ha proporcionado ningún valor para <Audience>, ni directamente ni mediante una referencia en el momento del error.

messaging.adaptors.http.filter.GoogleTokenGenerationFailure 500 Este error puede producirse si el proxy de API se configura con el elemento <Authentication> . Estos son algunos de los posibles motivos:
  • La cuenta de servicio implementada con el proxy:
    • no existe en tu proyecto
    • se ha inhabilitado
    • (Solo en Apigee hybrid) No se ha concedido el rol roles/iam.serviceAccountTokenCreator en la cuenta de servicio apigee-runtime.
  • La API IAMCredentials está inhabilitada en el proyecto de origen de la cuenta de servicio apigee-runtime.
  • Se usa el elemento <GoogleAccessToken> y se proporcionan uno o varios permisos no válidos. Por ejemplo, busca errores tipográficos o ámbitos vacíos.
  • Solo en Apigee hybrid, consulta el registro del contenedor de tiempo de ejecución y busca GoogleTokenGenerationFailure para encontrar mensajes de error más detallados que puedan ayudarte a depurar el problema.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    URLMissing Falta el elemento <URL> en <HTTPTargetConnection> o está vacío.
    ConnectionInfoMissing Este error se produce si la política no tiene un elemento <HTTPTargetConnection> o <LocalTargetConnection>.
    InvalidTimeoutValue Este error se produce si el valor de <Timeout> es negativo o cero.
    FAILED_PRECONDITION Este error se produce si falta la cuenta de servicio cuando el proxy se configura con la etiqueta <Authentication>.

    Por ejemplo:

    Deployment of \"organizations/foo/apis/apiproxy/revisions/1\" requires a service
              account identity, but one was not provided with the request.
    PERMISSION_DENIED Este error se produce si hay un problema de permisos con la cuenta de servicio si el proxy se configura con la etiqueta <Authentication>. Posibles causas:
    • La cuenta de servicio no existe.
    • La cuenta de servicio no se ha creado en el mismo proyecto de Google Cloud que la organización de Apigee.
    • El usuario que realiza el despliegue tiene el permiso iam.serviceAccounts.actAs en la cuenta de servicio. Para obtener más información, consulta el artículo Acerca de los permisos de las cuentas de servicio.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "RequestVariableNotMessageType"
    servicecallout.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
       }
    }

    Regla de error de ejemplo

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

    Política SOAPMessageValidation

    En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa Solucionar
    steps.messagevalidation.SourceMessageNotAvailable 500

    Este error se produce si una variable especificada en el elemento <Source> de la política es:

    • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política)
    • o
    • no se puede resolver (no está definido)
    steps.messagevalidation.NonMessageVariable 500

    Este error se produce si el elemento <Source> de la política SOAPMessageValidation se asigna a una variable que no es del tipo message.

    Las variables de tipo de mensaje representan solicitudes y respuestas HTTP completas. Las variables de flujo integradas de Apigee request, response y message son de tipo message. Para obtener más información sobre las variables de mensaje, consulta la referencia de variables.

    steps.messagevalidation.Failed 500 Este error se produce si la política SOAPMessageValidation no puede validar la carga útil del mensaje de entrada con el esquema XSD o la definición WSDL. También se producirá si el mensaje de carga útil contiene JSON o XML con formato incorrecto.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    InvalidResourceType El elemento <ResourceURL> de la política SOAPMessageValidation se ha definido en un tipo de recurso que no admite la política.
    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.
    RootElementNameUnspecified El elemento <Element> de la política SOAPMessageValidation no contiene el nombre del elemento raíz.
    InvalidRootElementName El elemento <Element> de la política SOAPMessageValidation contiene un nombre de elemento raíz que no cumple las reglas de XML para asignar nombres válidos a los elementos.

    Política de SpikeArrest

    En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los errores.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa Solucionar
    policies.ratelimit.FailedToResolveSpikeArrestRate 500 Este error se produce si la referencia a la variable que contiene el ajuste de la tarifa del elemento <Rate> no se puede resolver en un valor de la política SpikeArrest. Este elemento es obligatorio y se usa para especificar la tasa de supresión de picos en forma de intpm o intps.
    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 valor no entero).
    policies.ratelimit.SpikeArrestViolation 429 Se ha superado el límite de frecuencia.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    InvalidAllowedRate Si la tasa de detención de picos especificada en el elemento <Rate> de la política SpikeArrest no es un número entero o si la tasa no tiene ps o pm como sufijo, se producirá un error al implementar el proxy de API.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "SpikeArrestViolation"
    ratelimit.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
       }
    }

    Regla de error de ejemplo

    A continuación se muestra un ejemplo de regla de error para gestionar un error 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 VerifyAPIKey

    En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa
    keymanagement.service.consumer_key_missing_api_product_association 400

    Falta una asociación de producto de API en la credencial de la aplicación. Asocia la aplicación de la clave a un producto de API. Ten en cuenta que esto se aplica a todos los tipos de aplicaciones, como las aplicaciones de desarrollador y las aplicaciones AppGroup.

    keymanagement.service.DeveloperStatusNotActive 401

    El desarrollador que creó la aplicación para desarrolladores que tiene la clave de API que estás usando tiene el estado inactivo. Cuando el estado de un desarrollador de aplicaciones se establece como inactivo, se desactivan todas las aplicaciones de desarrollador que haya creado. Un usuario administrador con los permisos adecuados (como el administrador de la organización) puede cambiar el estado de un desarrollador de las siguientes formas:

    keymanagement.service.invalid_client-app_not_approved 401 Se revoca la aplicación de desarrollador asociada a la clave de API. Una aplicación revocada no puede acceder a ningún producto de API ni invocar ninguna API gestionada por Apigee. Un administrador de la organización puede cambiar el estado de una aplicación para desarrolladores mediante la API de Apigee. Consulta Generar un par de claves o actualizar el estado de la aplicación de desarrollador.
    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 se produce cuando no existe la variable esperada (no se puede resolver).
    oauth.v2.InvalidApiKey 401 Apigee ha recibido una clave de API, pero no es válida. Cuando Apigee busca la clave en su base de datos, debe coincidir exactamente con la que se envió en la solicitud. Si la API funcionaba antes, comprueba que la clave no se haya regenerado. Si se ha regenerado la clave, verás este error si intentas usar la clave antigua. Para obtener más información, consulta el artículo Controlar el acceso a las APIs registrando aplicaciones.
    oauth.v2.InvalidApiKeyForGivenResource 401 Apigee ha recibido una clave de API válida, pero no coincide con ninguna clave aprobada en la aplicación de desarrollador asociada a tu proxy de API a través de un producto.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa
    SpecifyValueOrRefApiKey No se ha especificado ningún valor ni clave para el elemento <APIKey>.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "FailedToResolveAPIKey"
    oauthV2.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. oauthV2.VK-VerifyAPIKey.failed = true

    Ejemplos de respuestas de error

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

    Regla de fallo de ejemplo

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

    VerifyIAM policy

    En esta sección se describen los códigos de error y los mensajes de error que se devuelven, así como las variables de error que define Apigee cuando esta política activa un error. Es importante conocer esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Gestionar errores.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa
    steps.verifyiam.CredentialSourceRefUnresolved 400 No se ha podido resolver la variable de flujo proporcionada en el origen de las credenciales.
    steps.verifyiam.CredentialValueNotProvided 400 No se ha encontrado la credencial. Si no se proporciona la referencia de la fuente de credenciales, buscamos en la ubicación predeterminada, como el encabezado de autorización.
    steps.verifyiam.Forbidden 403 No se ha podido reenviar la solicitud porque no se tienen permisos suficientes, faltan ámbitos de acceso o se han producido otros problemas relacionados.
    steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 Un problema con la solicitud de autenticación a la gestión de identidades y accesos. El productor de la API debe corregir este error según los detalles de la respuesta de error.
    steps.verifyiam.Unauthorized 401 Problema con la credencial, como que el valor no sea válido o haya caducado.
    steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 Error interno.

    Errores de implementación

    Esta política no devuelve ningún error de implementación específico de la política.

    Variables de error

    Estas variables se definen cuando esta política activa un error en el tiempo de ejecución.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name="Unauthorized"
    verifyiam.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. verifyiam.Verify-IAMToken.failed = true

    Política VerifyJWS

    En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Se produce cuando
    steps.jws.AlgorithmInTokenNotPresentInConfiguration 401 Se produce cuando la política de verificación tiene varios algoritmos.
    steps.jws.AlgorithmMismatch 401 El algoritmo especificado en el encabezado de la política Generate no coincide con el esperado en la política Verify. Los algoritmos especificados deben coincidir.
    steps.jws.ContentIsNotDetached 401 <DetachedContent> se especifica cuando el JWS no contiene una carga útil de contenido independiente.
    steps.jws.FailedToDecode 401 La política no ha podido decodificar el JWS. Es posible que el JWS esté dañado.
    steps.jws.InsufficientKeyLength 401 Para una clave de menos de 32 bytes para el algoritmo HS256
    steps.jws.InvalidClaim 401 Si falta una reclamación o no coincide, o si falta un encabezado o no coincide.
    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 ha encontrado un JSON no válido en el encabezado de JWS.
    steps.jws.InvalidJws 401 Este error se produce cuando no se puede verificar la firma JWS.
    steps.jws.InvalidPayload 401 La carga útil de JWS no es válida.
    steps.jws.InvalidSignature 401 <DetachedContent> se omite y el JWS tiene una carga útil de contenido independiente.
    steps.jws.KeyIdMissing 401 La política Verify usa un JWKS como fuente de claves públicas, pero el JWS firmado no incluye una propiedad kid en el encabezado.
    steps.jws.KeyParsingFailed 401 No se ha podido analizar la clave pública a partir de la información de clave proporcionada.
    steps.jws.MissingPayload 401 Falta la carga útil de JWS.
    steps.jws.NoAlgorithmFoundInHeader 401 Se produce cuando el JWS omite el encabezado del algoritmo.
    steps.jws.NoMatchingPublicKey 401 La política Verify usa un JWKS como fuente de claves públicas, pero el kid del JWS firmado no aparece en el JWKS.
    steps.jws.UnhandledCriticalHeader 401 Un encabezado encontrado por la política Verify JWS en el encabezado crit no aparece en KnownHeaders.
    steps.jws.UnknownException 401 Se ha producido una excepción desconocida.
    steps.jws.WrongKeyType 401 Se ha especificado un tipo de clave incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo RSA.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Se produce cuando
    InvalidAlgorithm Los únicos valores válidos son RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, HS256, HS384, HS512.

    EmptyElementForKeyConfiguration

    FailedToResolveVariable

    InvalidConfigurationForActionAndAlgorithmFamily

    InvalidConfigurationForVerify

    InvalidEmptyElement

    InvalidFamiliesForAlgorithm

    InvalidKeyConfiguration

    InvalidNameForAdditionalClaim

    InvalidNameForAdditionalHeader

    InvalidPublicKeyId

    InvalidPublicKeyValue

    InvalidSecretInConfig

    InvalidTypeForAdditionalClaim

    InvalidTypeForAdditionalHeader

    InvalidValueForElement

    InvalidValueOfArrayAttribute

    InvalidVariableNameForSecret

    MissingConfigurationElement

    MissingElementForKeyConfiguration

    MissingNameForAdditionalClaim

    MissingNameForAdditionalHeader

    Otros posibles errores de implementación.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "TokenExpired"
    JWS.failed Todas las políticas de JWS definen la misma variable en caso de fallo. jws.JWS-Policy.failed = true

    Ejemplo de respuesta de error

    Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

    Regla de fallo de ejemplo

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

    Política VerifyJWT

    En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de las políticas y Cómo gestionar los errores.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Se produce 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 Generate no coincide con el esperado en la política Verify. Los algoritmos especificados deben coincidir.
    steps.jwt.FailedToDecode 401 La política no ha podido decodificar el JWT. Es posible que el JWT esté dañado.
    steps.jwt.GenerationFailed 401 La política no ha podido generar el JWT.
    steps.jwt.InsufficientKeyLength 401 Si la clave tiene menos de 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 Si falta una reclamación o no coincide, o si falta un encabezado o no coincide.
    steps.jwt.InvalidConfiguration 401 Están presentes los elementos <Algorithm> y <Algorithms>.
    steps.jwt.InvalidCurve 401 La curva especificada por la clave no es válida para el algoritmo de curva elíptica.
    steps.jwt.InvalidIterationCount 401 El número de iteraciones que se ha usado en el JWT cifrado no es igual al número de iteraciones especificado en la configuración de la política VerifyJWT. Esto solo se aplica a los JWT que usan <PasswordKey>.
    steps.jwt.InvalidJsonFormat 401 Se ha encontrado un JSON no válido en el encabezado o en la carga útil.
    steps.jwt.InvalidKeyConfiguration 401 El valor JWKS del elemento <PublicKey> no es válido. El motivo podría ser que no se pueda acceder al endpoint del URI de JWKS desde la instancia de Apigee. Prueba la conectividad con el endpoint creando un proxy passthrough y usando el endpoint JWKS como destino.
    steps.jwt.InvalidSaltLength 401 La longitud de la sal utilizada en el JWT cifrado no es igual a la longitud de la sal especificada en la configuración de la política VerifyJWT. Esto solo se aplica a los JWT que usan <PasswordKey>.
    steps.jwt.InvalidPasswordKey 401 La clave especificada no cumple los requisitos.
    steps.jwt.InvalidPrivateKey 401 La clave especificada no cumple los requisitos.
    steps.jwt.InvalidPublicKey 401 La clave especificada no cumple los requisitos.
    steps.jwt.InvalidSecretKey 401 La clave especificada no cumple los requisitos.
    steps.jwt.InvalidToken 401 Este error se produce cuando no se puede verificar la firma JWT.
    steps.jwt.JwtAudienceMismatch 401 No se ha podido verificar la reclamación de audiencia en el token.
    steps.jwt.JwtIssuerMismatch 401 No se ha podido verificar la reclamación del emisor en el token.
    steps.jwt.JwtSubjectMismatch 401 No se ha podido verificar la reclamación del asunto en el token.
    steps.jwt.KeyIdMissing 401 La política Verify usa un JWKS como fuente de claves públicas, pero el JWT firmado no incluye una propiedad kid en el encabezado.
    steps.jwt.KeyParsingFailed 401 No se ha podido analizar la clave pública a partir de la información de clave proporcionada.
    steps.jwt.NoAlgorithmFoundInHeader 401 Se produce cuando el JWT no contiene ningún encabezado de algoritmo.
    steps.jwt.NoMatchingPublicKey 401 La política Verify usa un JWKS como fuente de claves públicas, pero el kid del JWT firmado no aparece en el JWKS.
    steps.jwt.SigningFailed 401 En GenerateJWT, para una clave inferior al tamaño mínimo de los algoritmos HS384 o HS512
    steps.jwt.TokenExpired 401 La política intenta verificar un token caducado.
    steps.jwt.TokenNotYetValid 401 El token aún no es válido.
    steps.jwt.UnhandledCriticalHeader 401 Un encabezado encontrado por la política Verify JWT en el encabezado crit no aparece en KnownHeaders.
    steps.jwt.UnknownException 401 Se ha producido una excepción desconocida.
    steps.jwt.WrongKeyType 401 Se ha especificado un tipo de clave incorrecto. Por ejemplo, si especificas una clave RSA para un algoritmo de curva elíptica o una clave de curva para un algoritmo RSA.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    InvalidNameForAdditionalClaim La implementación fallará si la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> es uno de los siguientes nombres registrados: kid, iss, sub, aud, iat, exp, nbf o jti.
    InvalidTypeForAdditionalClaim Si la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> no es de tipo string, number, boolean o map, la implementación fallará.
    MissingNameForAdditionalClaim Si el nombre de la reclamación no se especifica en el elemento secundario <Claim> del elemento <AdditionalClaims>, la implementación fallará.
    InvalidNameForAdditionalHeader Este error se produce cuando el nombre de la reclamación utilizada en el elemento secundario <Claim> del elemento <AdditionalClaims> es alg o typ.
    InvalidTypeForAdditionalHeader Si el tipo de reclamación utilizado en el elemento secundario <Claim> del elemento <AdditionalClaims> no es de tipo string, number, boolean o map, la implementación fallará.
    InvalidValueOfArrayAttribute Este error se produce cuando el valor del atributo de matriz del elemento secundario <Claim> del elemento <AdditionalClaims> no es true ni false.
    InvalidValueForElement Si el valor especificado en el elemento <Algorithm> no es un valor admitido, la implementación fallará.
    MissingConfigurationElement Este error se producirá si el elemento <PrivateKey> no se usa con algoritmos de la familia RSA o si el elemento <SecretKey> no se usa con algoritmos de la familia HS.
    InvalidKeyConfiguration Si el elemento secundario <Value> no se define en los elementos <PrivateKey> o <SecretKey>, la implementación fallará.
    EmptyElementForKeyConfiguration Si el atributo ref del elemento secundario <Value> de los elementos <PrivateKey> o <SecretKey> está vacío o no se ha especificado, la implementación fallará.
    InvalidConfigurationForVerify Este error se produce si el elemento <Id> se define en el elemento <SecretKey>.
    InvalidEmptyElement Este error se produce si el elemento <Source> de la política Verify JWT está vacío. Si está presente, debe definirse con un nombre de variable de flujo de Apigee.
    InvalidPublicKeyValue Si el valor usado en el elemento secundario <JWKS> del elemento <PublicKey> no tiene un formato válido, tal como se especifica en RFC 7517, la implementación fallará.
    InvalidConfigurationForActionAndAlgorithm Si se usa el elemento <PrivateKey> con algoritmos de la familia HS o el elemento <SecretKey> con algoritmos de la familia RSA, la implementación fallará.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del error, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "InvalidToken"
    JWT.failed Todas las políticas de JWT definen la misma variable en caso de error. JWT.failed = true

    Ejemplo de respuesta de error

    Códigos de error de la política de JWT

    Para gestionar los errores, la práctica recomendada es interceptar la parte errorcode de la respuesta de error. No te fíes del texto de faultstring, ya que podría cambiar.

    Regla de error de ejemplo

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

    Política XMLThreatProtection

    En esta sección se describen los códigos de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa Solucionar
    steps.xmlthreatprotection.ExecutionFailed 500 La política XMLThreatProtection puede generar muchos tipos distintos de errores ExecutionFailed. La mayoría de estos errores se producen cuando se supera un umbral específico establecido en la política. Estos tipos de errores incluyen: longitud del nombre del elemento, número de elementos secundarios, profundidad del nodo, número de atributos, longitud del nombre del atributo y muchos otros. Puedes ver la lista completa en el tema Solución de problemas de errores de tiempo de ejecución de la política XMLThreatProtection.
    steps.xmlthreatprotection.InvalidXMLPayload 500 Este error se produce si la carga útil del mensaje de entrada especificada por el elemento <Source> de la política XMLThreatProtection no es un documento XML válido.
    steps.xmlthreatprotection.SourceUnavailable 500 Este error se produce si la variable message especificada en el elemento <Source> es:
    • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política)
    • No es uno de los valores válidos request, response o message.
    steps.xmlthreatprotection.NonMessageVariable 500 Este error se produce si el elemento <Source> se asigna a una variable que no es del tipo message.

    Errores de implementación

    Ninguno

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name Matches "SourceUnavailable"
    xmlattack.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
        }
      }
    }

    Regla de error de ejemplo

    <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 de error y los mensajes de error que devuelve Apigee, así como las variables de error que define, cuando esta política activa un error. Es importante que conozcas esta información si vas a desarrollar reglas de errores para gestionarlos. Para obtener más información, consulta Qué debes saber sobre los errores de políticas y Cómo gestionar los fallos.

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa Solucionar
    steps.xmltojson.ExecutionFailed ExecutionFailed Este error se produce cuando la carga útil de entrada (XML) está vacía o el XML de entrada no es válido o tiene un formato incorrecto.
    steps.xmltojson.InCompatibleTypes ExecutionFailed Este error se produce si el tipo de la variable definida en el elemento <Source> y el elemento <OutputVariable> no son el mismo. Es obligatorio que el tipo de las variables contenidas en el elemento <Source> y en el elemento <OutputVariable> coincida.
    steps.xmltojson.InvalidSourceType ExecutionFailed Este error se produce si el tipo de la variable utilizada para definir el elemento <Source> no es válido.Los tipos de variable válidos son message y string.
    steps.xmltojson.OutputVariableIsNotAvailable ExecutionFailed Este error se produce si la variable especificada en el elemento <Source> del XML de la política JSON es de tipo cadena y el elemento <OutputVariable> no está definido. El elemento <OutputVariable> es obligatorio cuando la variable definida en el elemento <Source> es de tipo cadena.
    steps.xmltojson.SourceUnavailable ExecutionFailed Este error se produce si la variable message especificada en el elemento <Source> de la política XML a JSON es:
    • Fuera del ámbito (no disponible en el flujo específico en el que se está ejecutando la política) o
    • No se puede resolver (no está definido)

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    EitherOptionOrFormat Si no se declara uno de los elementos <Options> o <Format> en la política de XML a JSON, se producirá un error en la implementación del proxy de API.
    UnknownFormat Si el elemento <Format> de la política XML a JSON tiene un formato desconocido, no se podrá implementar el proxy de API. Entre los formatos predefinidos se incluyen los siguientes: xml.com, yahoo, google y badgerFish.

    Variables de error

    Estas variables se definen cuando se produce un error de tiempo de ejecución. Para obtener más información, consulta el artículo Información sobre los errores de las políticas.

    Variables Dónde Ejemplo
    fault.name="fault_name" fault_name es el nombre del fallo, tal como se indica en la tabla Errores de tiempo de ejecución de arriba. El nombre del error es la última parte del código de error. fault.name = "SourceUnavailable"
    xmltojson.policy_name.failed policy_name es el nombre de la política especificado por el usuario que ha provocado el error. 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"
        }
      }
    }

    Regla de error de ejemplo

    <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

    Errores de tiempo de ejecución

    Estos errores pueden producirse cuando se ejecuta la política.

    Código de fallo Estado de HTTP Causa Solucionar
    steps.xsl.XSLSourceMessageNotAvailable 500 Este error se produce si la variable de mensaje o de cadena especificada en el elemento <Source> de la política XSLTransform está fuera del ámbito (no está disponible en el flujo específico en el que se está ejecutando la política) o no se puede resolver (no está definida).
    steps.xsl.XSLEvaluationFailed 500 Este error se produce si la carga útil XML de entrada no está disponible o tiene un formato incorrecto, o si la política XSLTransform falla o no puede transformar el archivo XML de entrada según las reglas de transformación proporcionadas en el archivo XSL. La política XSLTransform puede fallar por muchos motivos. El motivo del error que se indica en el mensaje de error le proporcionará más información sobre la causa.

    Errores de implementación

    Estos errores pueden producirse al implementar un proxy que contenga esta política.

    Nombre del error Causa Solucionar
    XSLEmptyResourceUrl Si el elemento <ResourceURL> de la política XSLTransform está vacío, se producirá un error en la implementación del proxy de API.
    XSLInvalidResourceType Si el tipo de recurso especificado en el elemento <ResourceURL> de la política XSLTransform no es de tipo xsl, se producirá un error al desplegar el proxy de API.