Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
InvalidTimeout
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Ejemplo de mensaje de error
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Captura de pantalla de error de ejemplo
Causa
Si el elemento <CacheLookupTimeoutInSeconds>
de una política ResponseCache está configurado como un número negativo, la implementación del proxy de API falla.
Por ejemplo, si el elemento <CacheLookupTimeoutInSeconds>
es -1
, la implementación del proxy de API falla.
Diagnóstico
Identifica el valor no válido que se usa para el elemento
<CacheLookupTimeoutInSeconds>
en la política de ResponseCache. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el valor no válido que se usa para el elemento<CacheLookupTimeoutInSeconds>
es-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Examina todas las políticas de en el proxy de API específico en el que se produjo el error. Podría haber una o más políticas de cuotas en las que se especifica el elemento
<CacheLookupTimeoutInSeconds>
.Por ejemplo, la siguiente configuración de política establece
<CacheLookupTimeoutInSeconds>
en-1
, que coincide con el contenido del mensaje de error:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds> </ResponseCache>
Si se especifica
<CacheLookupTimeoutInSeconds>
como un número entero negativo, esa es la causa del error.
Solución
Asegúrese de que el valor del elemento <CacheLookupTimeoutInSeconds>
de la política ResponseCache siempre se especifique como un número entero no negativo.
Para corregir la política de ResponseCache de ejemplo que se muestra arriba, puedes modificar <CacheLookupTimeoutInSeconds> element
a 30
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
</ResponseCache>
InvalidCacheResourceReference
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to environment Invalid cache resource reference cache_resource in Step definition response_cache_policy_name. Context Revision:revision_number;APIProxy:ResponseCache;Organization:organization;Environment:environment
Ejemplo de mensaje de error
Error Deploying Revision 2 to prod
Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Captura de pantalla de error de ejemplo
Causa
Este error se genera si el elemento <CacheResource>
en la política ResponseCache se configura como un nombre que no existe en el entorno en el que se implementa el proxy de API.
Diagnóstico
Identifica el almacenamiento en caché no válido que se usó en el elemento
<CacheResource>
de la política de Response Cache de respuesta y el entorno en el que se produjo el error. Puedes encontrar ambos elementos en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la caché no válida esitemscache
y el nombre del entorno esprod
.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Examina todas las políticas de ResponseCache en el proxy de API específico en el que se produjo el error. Identifica la política específica de ResponseCache en la que la caché no válida (identificada en el paso 1) se especifica en el elemento
<CacheResource>
.Por ejemplo, la siguiente política especifica el valor de
<CacheResource>
comoitemscache
, que coincide con lo que contiene el mensaje de error:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="ItemsResponseCache"> <DisplayName>ItemsResponseCache</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <CacheResource>itemscache</CacheResource> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <SkipCacheLookup/> <SkipCachePopulation/> </ResponseCache>
Verifica si la caché (determinada en el paso 2) se definió en el entorno específico (identificado en el paso 1).
En la IU de Apigee, navega a APIs > Environment Configuration y verifica si la caché existe en la pestaña Caches en el entorno específico. Si la caché no existe, esa es la causa del error.
Por ejemplo, observa en la captura de pantalla a continuación que la caché llamada
itemscache
no existe.Debido a que la caché llamada
itemscache
no está definida en el entornoprod
, aparecerá el siguiente error:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Solución
Asegúrate de que el nombre de caché especificado en el elemento <CacheResource>
se haya creado en el entorno en el que quieres implementar el proxy de API.
ResponseCacheStepAttachmentNotAllowedReq
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the request path.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Captura de pantalla de error de ejemplo
Causa
Este error se produce si la misma política de ResponseCache se vincula con varias rutas de solicitud dentro de cualquier flujo de un proxy de API.
Por ejemplo, si tienes la misma política ResponseCache adjunta en el PreFlow de solicitud del proxy y del extremo de destino, se produce este error.
Diagnóstico
Identifica el nombre de la política ResponseCache que se adjunta más de una vez. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política ResponseCache es Response‐Cache‐1.
Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Examina todos los flujos de solicitud en el proxy y en los extremos de destino del proxy de API en el que se produjo el error. Si la misma política de ResponseCache se adjunta en dos o más flujos de solicitud, esa es la causa del error.
En el siguiente ejemplo, se configura la misma política
Response-Cache-1
de ResponseCache en la ruta de la solicitud de PreFlow del extremo del proxy predeterminado y el PreFlow de destino predeterminado:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ...
Solución
Asegúrate de que una política de ResponseCache se adjunte solo a una ruta de solicitud en todos los flujos del proxy de API.
Para corregir el ejemplo anterior, quita la política de ResponseCache Response-Cache-1
de uno de los dos flujos de solicitud.
ResponseCacheStepAttachmentNotAllowedResp
Mensaje de error
Si la implementación del proxy de API a través de la IU de Apigee o la API falla, mostrará con este mensaje de error:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the response path.
Ejemplo de mensaje de error
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Captura de pantalla de error de ejemplo
Causa
Este error se produce si la misma política ResponseCache se adjunta a varias rutas de respuesta dentro de cualquier flujo de un proxy de API.
Por ejemplo, si tienes la misma política ResponseCache adjunta en el Preflow del proxy y de los extremos de destino, se produce este error.
Diagnóstico
Identifica el nombre de la política ResponseCache que se adjunta más de una vez. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política ResponseCache es
Response-Cache-1
.Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Examina todos los flujos de solicitud en el proxy y en los extremos de destino del proxy de API en el que se produjo el error. Si la misma política de ResponseCache se adjunta en dos o más flujos de respuesta, esa es la causa del error.
En el siguiente ejemplo, se configura la misma política
Response-Cache-1
de ResponseCache en la ruta de respuesta del extremo del proxy predeterminado PreFlow y el flujo de destino predeterminado PreFlow:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PreFlow> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PostFlow> ...
Solución
Asegúrate de que una política de ResponseCache se adjunte solo a una ruta de respuesta en todos los flujos del proxy de API.
Para corregir el ejemplo anterior, quita la política Response-Cache-1
de ResponseCache de una de las dos rutas de respuesta.
InvalidMessagePatternForErrorCode
Mensaje de error
La implementación del proxy de API a través de la IU o la API de Apigee falla con cualquiera de estos mensajes de error:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
O
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Ejemplo de mensaje de error
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
O
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Captura de pantalla de error de ejemplo
O
Causa
Este error ocurre si el elemento <SkipCacheLookup>
o <SkipCachePopulation>
en una política ResponseCache contiene una condición no válida.
Diagnóstico
Examina todas las políticas de ResponseCache en el proxy de API en las que se generó el error y verifica si hay políticas cuyas condiciones especificadas para
<SkipCacheLookup>
o los elementos<SkipCachePopulation>
.Verifica si la condición especificada para el elemento
<SkipCacheLookup>
o el elemento<SkipCachePopulation>
no es válida. Si es así, esa es la causa del error.En el siguiente ejemplo, el elemento
<SkipCachePopulation>
usa el operador de JavaScript === para verificar el mismo valor y tipo de identificación no válido.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds> <SkipCacheLookup>request.header.bypass-cache === "true"</SkipCacheLookup> </ResponseCache>
Debido a que el operador
===
no es válido, verás el error siguiente:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Solución
Asegúrate de que la condición especificada para los elementos <SkipCacheLookup>
o <SkipCachePopulation>
siempre sea válida.
Si quieres corregir la política de ResponseCache de ejemplo anterior, puedes modificar <SkipCacheLookup>
para usar el operador =
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds>
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
</ResponseCache>
CacheNotFound
Mensaje de error
La implementación del proxy de API a través de la IU o la API de Apigee da como resultado un mensaje de error como este, y el estado de implementación del proxy de API se marca como parcialmente implementado:
Error: Cache : cache_resource, not found in organization : organization__environment.
Ejemplo de mensaje de error
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Causa
Este error se genera si la caché específica que se menciona en el mensaje de error no se creó en un componente específico del procesador de mensajes.
Solución
Comunícate con el equipo de asistencia de Apigee para obtener ayuda.