Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
Errores en Apigee
Cuando se realizan solicitudes a la API a través de Apigee, los componentes de Apigee, los routers y los procesadores de mensajes, o los servidores de backend, pueden mostrar errores a las aplicaciones cliente.
Errores de Message Processor
Message Processor es el componente central de Apigee que procesa las políticas y, además, interactúa con los servidores de backend. Puede mostrar errores si detecta problemas como los siguientes:
Problemas de conectividad de red, fallas de protocolo de enlace TLS, falta de disponibilidad del servidor de backend, falta de respuesta durante la comunicación con el servidor de backend
Errores durante la ejecución de la política
Los encabezados HTTP, la codificación, la ruta de acceso, el incumplimiento de las especificaciones de HTTP y los límites del producto, etc. no son válidos:
Con solicitud HTTP enviada por las aplicaciones cliente
O
Con la respuesta HTTP que envía el servidor de backend
Y mucho más
Error de muestra de Message Processor
Message Processor siempre muestra un código de estado HTTP seguido de un mensaje de error junto con un código de error en formato JSON como se muestra a continuación:
La aplicación cliente obtiene un código de respuesta como el siguiente ejemplo:
HTTP/1.1 504 Gateway Timeout
Una respuesta de error de Message Processor aparece en el siguiente formato:
Descripción de los campos en la respuesta de error:
Campo
Descripción
faultstring
Contiene el mensaje de error que describe la causa posible del error.
errorcode
Código de error (también conocido como código de falla) asociado con el error
reason
Contiene un mensaje que indica el motivo posible del error.
Catálogo de errores del entorno de ejecución
Este catálogo de errores proporciona toda la información que necesitas saber sobre los códigos de error del entorno de ejecución (para errores que no son de política) que muestra el componente de procesador de mensajes de Apigee. Incluye la siguiente información para cada uno de los códigos de error:
Código de estado HTTP
Mensaje de error
Motivo del error (no todos los mensajes de error muestran un reason)
Causas posibles del error
Cualquier límite de producto o especificaciones HTTP asociado
Guías y videos que contienen instrucciones para diagnosticar la causa del error y las soluciones efectivas que puedes aplicar a fin de resolver el error por tu cuenta (si está disponible)
Corrige que puedas aplicarlo para resolver el error
Se abarcan las siguientes categorías de código de error:
Usa el cuadro de búsqueda a continuación para filtrar la tabla y mostrar la información anterior de un código de error específico. Puedes buscar el código de estado o cualquier contenido en cualquier campo de la tabla.
searchBuscar
Código de error
Descripción
Corregir
flow.*
flow.APITimedOut
Código de estado HTTP:
504 Gateway Timeout
Mensaje de error:
API timed out
Causa posible:
Este error se produce si se produce una de las siguientes situaciones:
El servidor de backend no responde dentro del tiempo de espera configurado por la propiedad api.timeout para el proxy de API específico.
Una política lleva mucho tiempo debido a las operaciones de procesamiento intensivo, la carga alta o el rendimiento deficiente.
flow.SharedFlowNotFound
Código de estado HTTP:
500 Internal Server Error
Mensaje de error:
Shared Flow {shared_flow_name} Not Found
Causa posible:
Este error se produce si el flujo compartido específico:
La codificación especificada en el encabezado de la solicitud HTTP Content-Encoding es válida y es compatible con Apigee.
PERO
El formato de carga útil que envía el cliente como parte de la solicitud HTTP no coincide con el formato de codificación especificado en el encabezado Content-Encoding.
La codificación especificada en el encabezado de respuesta HTTP Content-Encoding del servidor de destino o destino es válida y es compatible con Apigee.
PERO
El formato de carga útil que envía el servidor de destino o de backend como parte de la respuesta HTTP no coincide con el formato de codificación especificado en el encabezado Content-Encoding.
messaging.adaptors.http.flow.ErrorResponseCode
Código de estado HTTP:
500
Mensaje de error:
El mensaje y el formato de error pueden variar según la implementación del servidor de backend.
Causa posible:
Este error se produce si el servidor de backend responde con el código de estado 500 a Apigee.
Código de estado HTTP:
503
Mensaje de error:
El mensaje y el formato de error pueden variar según la implementación del servidor de backend.
Causa posible:
Este error se produce si el servidor de backend responde con el código de estado 503 a Apigee.
Código de estado HTTP:
504
Mensaje de error:
El mensaje y el formato de error pueden variar según la implementación del servidor de backend.
Causa posible:
Este error se produce si el servidor de backend responde con el código de estado 504 a Apigee.
Nota: El código de error messaging.adaptors.http.flow.ErrorResponseCode no se muestra como parte del mensaje de error enviado a las aplicaciones cliente. Esto se debe a que Apigee configura este código de error cada vez que el servidor de backend responde con un error y cualquiera de los códigos de estado 4XX o 5XX. Puedes ver este código de error en la supervisión de API o la base de datos de estadísticas.
messaging.adaptors.http.flow.GatewayTimeout
Código de estado HTTP:
504 Gateway Timeout
Mensaje de error:
Gateway Timeout
Motivo:
TARGET_READ_TIMEOUT
Causa posible:
Este error se produce si el servidor de backend no responde al procesador de mensajes de Apigee dentro del tiempo de espera de E/S configurado en el procesador de mensajes.
messaging.adaptors.http.flow.LengthRequired
Código de estado HTTP:
411 Length Required
Mensaje de error:
'Content-Length' is missing
Motivo:
CLIENT_REQUEST_CONTENT_LENGTH_REQUIRED
Causa posible:
Este error se produce si la aplicación cliente no pasa el encabezado Content-Length como parte de las solicitudes HTTP POST y PUT que se envían a Apigee.
Nota: Las solicitudes que fallan con este error no se pueden capturar en la herramienta Trace, ya que el procesador de mensajes realiza esta validación en una fase muy temprana, mucho antes de procesar la solicitud y ejecutar cualquier política en el proxy de API
Asegúrate de que la aplicación cliente siempre pase el encabezado Content-Length como parte de las solicitudes HTTP POST y PUT que se envían a Apigee. Por ejemplo:
curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
Incluso si pasas una carga útil vacía con las solicitudes POST y PUT, asegúrate de que se pase el encabezado Content-Length: 0. Por ejemplo:
curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
messaging.adaptors.http.flow.NoActiveTargets
Código de estado HTTP:
503 Service Unavailable
Mensaje de error:
The Service is temporarily unavailable
Motivo:
TARGET_HEALTHCHECK_CONNECT_TIMEOUT
TARGET_HEALTHCHECK_CONNECTION_REFUSED
TARGET_HEALTHCHECK_HTTPS_REQUEST_OVER_HTTP
TARGET_HEALTHCHECK_UNEXPECTED_EOF
Causa posible:
Este error ocurre en una de las siguientes situaciones, si usas TargetServer en Apigee:
La resolución de DNS incorrecta del host del servidor de backend por servidor de autorización personalizado dio como resultado direcciones IP incorrectas, lo que generó errores de conexión.
Errores de tiempo de espera de conexión debido a los siguientes motivos:
La restricción de firewall en el servidor de backend evita que Apigee se conecte al servidor de backend.
Problemas de conectividad de red entre Apigee y el servidor de backend.
El host especificado en TargetServer es incorrecto o tiene caracteres no deseados (como un espacio).
Este error también puede ocurrir si fallan las verificaciones de estado configuradas para supervisar la verificación de estado de los servidores de destino.
messaging.adaptors.http.flow.RequestTimeOut
Código de estado HTTP:
408 Request Timeout
Mensaje de error:
Request timed out
Motivo:
CLIENT_READ_TIMEOUT
Causa posible:
Este error se produce si Message Processor de Apigee no recibe la carga útil de la solicitud de la aplicación cliente durante el tiempo de espera de E/S que se configuró en el componente Message Processor.
Corregir
Asegúrate de que la aplicación cliente envíe la carga útil de la solicitud dentro del tiempo de espera de E/S configurado en el componente de procesador de mensajes de Apigee.
messaging.adaptors.http.flow.ServiceUnavailable
Código de estado HTTP:
503 Service Unavailable
Mensaje de error:
The Service is temporarily unavailable
Motivo:
TARGET_CONNECT_TIMEOUT
TARGET_WRITE_BROKEN_PIPE
TARGET_WRITE_CONNECTION_RESET_BY_PEER
TARGET_CONNECT_CONNECTION_REFUSED
Causa posible:
Este error ocurre en una de las siguientes situaciones:
La resolución de DNS incorrecta del host del servidor de backend por servidor de autorización personalizado generó direcciones IP incorrectas, lo que genera errores de conexión.
Errores de tiempo de espera de conexión debido a los siguientes motivos:
La restricción de firewall en el servidor de backend evita que Apigee se conecte al servidor de backend.
Problemas de conectividad de red entre Apigee y el servidor de backend.
El host del servidor de destino especificado en el extremo de destino es incorrecto o tiene caracteres no deseados (como espacio).
Este error también puede ocurrir si el servidor de backend cierra antes la conexión mientras el procesador de mensajes aún envía la carga útil de la solicitud al servidor de backend.
messaging.adaptors.http.flow.SslHandshakeFailed
Código de estado HTTP:
503 Service Unavailable
Mensaje de error:
SSL Handshake failed {error_message}
Causa posible:
Este error ocurre durante el proceso de protocolo de enlace SSL entre el procesador de mensajes de Apigee y el servidor de backend si ocurre lo siguiente:
El almacén de confianza del procesador de mensajes de Apigee:
Contiene una cadena de certificados que no coincide con la cadena completa de certificados del servidor de backend
O
No contiene la cadena de certificados completa del servidor de backend
La cadena de certificados que presenta el servidor de backend:
Contiene un nombre de dominio completamente calificado (FQDN) que no coincide con el nombre de host especificado en el extremo de destino
O
Contiene una cadena de certificados incorrecta o incompleta
Este error ocurre en una de las siguientes situaciones:
TargetServer no está configurado correctamente para admitir conexiones TLS/SSL en Apigee.
El servidor de backend puede cerrar la conexión de forma abrupta, mientras Apigee espera una respuesta del servidor de backend.
Mantén los tiempos de espera de keep-live configurados de forma incorrecta en Apigee y el servidor de backend.
messaging.runtime.*
messaging.runtime.RouteFailed
Código de estado HTTP:
500 Internal Server Error
Mensaje de error:
Unable to route the message to a TargetEndpoint
Causa posible:
Este error se produce si Apigee no puede enrutar la solicitud a ninguno de los TargetEndpoints debido a lo siguiente:
No hay ninguna condición de regla de enrutamiento (<RouteRule>) que coincida con la solicitud de un proxy
AND
No hay una regla de enrutamiento predeterminada definida en ProxyEndpoint (es decir, <RouteRule> sin condición)
Corregir
Para solucionar este error, sigue estas instrucciones:
Revisa las reglas de enrutamiento definidas en tu ProxyEndpoint y modifica para asegurarte de que haya al menos una condición de regla de ruta que coincida con tu solicitud.
Se recomienda definir una regla de enrutamiento predeterminada sin condiciones cuando tienes varias RouteRules.
Asegúrate de que la regla de ruta predeterminada se defina por última vez en la lista de rutas condicionales, ya que las reglas se evalúan de arriba a abajo en el ProxyEndpoint.
Para obtener más información sobre cómo definir condiciones <RouteRule> en un ProxyEndpoint, consulta
Destinos condicionales.
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
Código de estado HTTP:
500 Internal Server Error
Mensaje de error:
Bad Form Data
Causa posible:
Este error se produce si y solo si se cumplen todas las condiciones siguientes:
La solicitud HTTP que envía el cliente a Apigee contiene lo siguiente:
Content-Type: application/x-www-form-urlencoded,
y
Datos del formulario con el signo de porcentaje (%) o signo de porcentaje (%) seguido de caracteres hexadecimales no válidos que no están permitidos según
Formularios: Sección 17.13.4.1.
El proxy de API en Apigee lee los parámetros del formulario específicos que contienen cualquier carácter que no está permitido mediante las políticas ExtractVariables o AssignMessage en el flujo de solicitudes.
protocol.http.DuplicateHeader
Código de estado HTTP:
400 Bad Request
Mensaje de error:
Duplicate Header "{header_name}"
Causa posible:
Este error se produce si un encabezado HTTP específico que no puede tener duplicados en Apigee, aparece más de una vez con valores iguales o diferentes como parte de la solicitud HTTP enviada por la aplicación cliente a Apigee.
Header {header_name} contains non ascii character {character}
Causa posible:
Este error se produce si el nombre del encabezado que se envía como parte de la solicitud HTTP que la aplicación cliente a Apigee contiene caracteres que no son ASCII.
Header {header_name} contains invalid character {character}
Causa posible:
Este error se produce si el nombre del encabezado que se envía como parte de la solicitud HTTP que la aplicación cliente a Apigee contiene caracteres no válidos como igual (=), coma (,) y punto y coma (;), tabulación, CRLF y el carácter de salto de línea.
En el ejemplo anterior, {hostname} es dinámico y su valor cambiará con respecto al nombre de host proporcionado.
Motivo:
TARGET_CONNECT_HOST_NOT_REACHABLE
Causa posible:
Este error se produce si el host del servidor de destino especificado es incorrecto o tiene caracteres no deseados (como espacio).
protocol.http.InvalidPath
Código de estado HTTP:
400 Bad Request
Mensaje de error:
Invalid path {path}
Causa posible:
Este error ocurre si la ruta en la URL de solicitud HTTP enviada por la aplicación cliente a Apigee contiene caracteres que no están permitidos según la especificación RFC 3986, sección 3.3: Ruta de acceso.
Asegúrate de que la ruta en la URL de solicitud HTTP que envía la aplicación cliente a Apigee no contenga ningún carácter que no esté permitido como
Según RFC 3986, sección 3.3: Ruta.
protocol.http.TooBigBody
Código de estado HTTP:
413 Request Entity Too Large
Mensaje de error:
Body buffer overflow
Causa posible:
Este error se produce si el tamaño de la carga útil que envía la aplicación cliente como parte de la solicitud HTTP a Apigee es mayor que el límite permitido en Apigee.
El tamaño total de todos los encabezados de solicitud que envía la aplicación cliente como parte de la solicitud HTTP a Apigee es mayor que el límite permitido en Apigee.
Este error se produce si el tamaño de la línea de solicitud que envía la aplicación cliente como parte de la solicitud HTTP a Apigee es mayor que el límite permitido en Apigee.
Este error se produce si el encabezado Content-Encoding que envía el cliente como parte de la respuesta HTTP contiene un formato de codificación o carga útil que no es compatible con Apigee.
Este error se produce si la URL de la solicitud del servidor de backend, representada por la variable de flujo target.url, contiene una ruta de acceso que comienza con un signo de interrogación (?) en lugar de una barra diagonal (/) de reenvío, que no es válida.
Este error se produce si el encabezado HTTP específico que no tiene permitido tener duplicados en Apigee aparece más de una vez con valores iguales o diferentes como parte de la respuesta HTTP que envía el servidor de backend a Apigee.
Header {header_name} contains non ascii character {character}
Causa posible:
Este error se produce si el nombre del encabezado que envía el servidor de backend como parte de la respuesta HTTP a Apigee Edge contiene caracteres que no son ASCII.
Header {header_name} contains invalid character {character}
Causa posible:
Este error se produce si el nombre del encabezado que envía el servidor de backend como parte de la respuesta HTTP contiene caracteres no válidos, como igual (=), coma (,), punto y coma (;), tabulación, CRLF y carácter de salto de línea
Proxy refused to create tunnel with response status {status code}
Causa posible:
Este error se produce durante la creación del túnel entre Apigee y el servidor de backend por el servidor proxy debido a firewall, LCA (lista de control de acceso), problemas de DNS, disponibilidad de disponibilidad del servidor de backend, etcétera.
Nota: El código de estado del mensaje de error (faultstring) proporciona la causa de alto nivel del problema.
protocol.http.Response306Reserved
Código de estado HTTP:
502 Bad Gateway
Mensaje de error:
Response Status code 306 is reserved, so can't be used.
Causa posible:
Este error se produce si el servidor de backend respondió con un código de estado 306 a Apigee.
El código de estado 306 se definió en una versión anterior de la especificación HTTP. Según la especificación HTTP actual, este código está reservado y no debe usarse.
Dado que el código de estado 306 está reservado, asegúrate de que tu servidor de backend no use este código de estado cuando envíe una respuesta a Apigee.
protocol.http.Response405WithoutAllowHeader
Código de estado HTTP:
502 Bad Gateway
Mensaje de error:
Received 405 Response without Allow Header
Causa posible:
El servidor de backend responde con el código de estado 405 Method Not Allowed sin el encabezado "Permitir".
Especificación de HTTP:
<aclass="external" l10n-attrs-original-order="href,class" l10n-encrypted-href="/PX9CewVbrdUzMVvoYtlcBAwphnODeWOvXeTBxkC1LyzyiBQ4MLFas/WazvgBhY96P0r5T0X7fdSVJ/HtE3Jxg==">
RFC 7231, sección 6.5.5: 405 Método no permitido y
RFC 7231, sección 7.4.1: Permitir</aclass="external">
protocol.http.ResponseWithBody
Código de estado HTTP:
502 Bad Gateway
Mensaje de error:
Received {status_code} Response with message body
Causa posible:
Este error se produce si la respuesta HTTP del servidor de backend a Apigee es 204 No Content o 205 Reset Content, pero contiene el cuerpo de la respuesta o uno o más de los siguientes encabezados:
Este error se produce si el tamaño de la carga útil que envía la aplicación cliente como parte de la solicitud HTTP a Apigee es mayor que el límite permitido en Apigee.
Este error se produce si el tamaño total de todos los encabezados de respuesta que envía el servidor de backend como parte de la respuesta HTTP a Apigee es mayor que el límite permitido en Apigee.
Este error se produce si el tamaño de la línea de respuesta que envía el servidor de backend como parte de la respuesta HTTP a Apigee es mayor que el límite permitido en Apigee Edge.
Este error se produce si el encabezado Content-Encoding que envía el servidor de backend como parte de la respuesta HTTP contiene el formato de codificación o carga útil que no es compatible con Apigee.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
Causa posible:
Este error se produce si el KeyAlias específico al que se hace referencia en TargetEndpoint o TargetServer no se encuentra en el almacén de claves específico.
Corregir
Asegúrate de que el KeyAlias especificado en TargetEndpoint o TargetServer exista y sea parte del almacén de claves específico.
security.util.TrustStoreWithNoCertificates
Código de estado HTTP:
500 Internal Server Error
Mensaje de error:
TrustStore {truststore_name} has no certificates
Causa posible:
Este error se genera si el almacén de confianza específico al que se hace referencia en TargetEndpoint o TargetServer no contiene ningún certificado.
Corregir
Si deseas validar el certificado del servidor de backend y deseas usar Truststore en un TargetEndpoint o un TargetServer, asegúrate de que el Truststore contenga los certificados válidos del servidor de backend.