Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
InvalidTimeout
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Esempio di messaggio di errore
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Screenshot di errore di esempio
Causa
Se l'elemento <CacheLookupTimeoutInSeconds>
di un criterioResponseCache è impostato su un numero negativo, il deployment del proxy API non riesce.
Ad esempio, se <CacheLookupTimeoutInSeconds>
è -1
, il deployment del proxy API non riesce.
Diagnostica
Identifica il valore non valido utilizzato per l'elemento
<CacheLookupTimeoutInSeconds>
nel criterio ResponseCache. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il valore non valido utilizzato per l'elemento<CacheLookupTimeoutInSeconds>
è-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Esamina tutti i criteri ResponseCache nello specifico proxy API in cui si è verificato l'errore. Potrebbero essere presenti uno o più criteri ResponseCache in cui viene specificato l'elemento
<CacheLookupTimeoutInSeconds>
.Ad esempio, la seguente configurazione di criteri imposta il criterio
<CacheLookupTimeoutInSeconds>
su-1
, che corrisponde al contenuto del messaggio di errore:<?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>
Se
<CacheLookupTimeoutInSeconds>
viene specificato come numero intero negativo, è questo il motivo dell'errore.
Risoluzione
Assicurati che il valore dell'elemento <CacheLookupTimeoutInSeconds>
del criterio ResponseCache sia sempre specificato come numero intero non negativo.
Per correggere il criterio di esempio ResponseCache mostrato sopra, puoi modificare il criterio <CacheLookupTimeoutInSeconds> element
in 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
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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
Esempio di messaggio di errore
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
Screenshot di errore di esempio
Causa
Questo errore si verifica se l'elemento <CacheResource>
in un criterioResponseCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
Diagnostica
Identifica la cache non valida utilizzata nell'elemento
<CacheResource>
del criterio Cache delle risposte e l'ambiente in cui si è verificato l'errore. Puoi trovare entrambi gli elementi nel messaggio di errore. Ad esempio, nel seguente errore, il nome della cache non valida èitemscache
e il nome dell'ambiente èprod
.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Esamina tutti i criteri ResponseCache nello specifico proxy API in cui si è verificato l'errore. Identifica il criterio ResponseCache specifico in cui viene specificata la cache non valida (identificata nel passaggio 1) nell'elemento
<CacheResource>
.Ad esempio, il seguente criterio specifica il valore di
<CacheResource>
comeitemscache
, che corrisponde al contenuto del messaggio di errore:<?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 se la cache (determinata nel passaggio 2) è stata definita nell'ambiente specifico (identificato nel passaggio 1).
Nella UI di Edge, vai a API > Configurazione ambiente e controlla se la cache esiste nella scheda Cache dell'ambiente specifico. Se la cache non esiste, è questo il motivo dell'errore.
Ad esempio, nello screenshot di seguito puoi notare che la cache denominata
itemscache
non esiste.Poiché la cache denominata
itemscache
non è definita nell'ambienteprod
, viene visualizzato l'errore:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Risoluzione
Assicurati che il nome della cache specificato nell'elemento <CacheResource>
sia stato creato nell'ambiente in cui vuoi eseguire il deployment del proxy API.
Per informazioni su come creare la cache, consulta Creazione e modifica di una cache dell'ambiente.
ResponseCacheStepAttachmentNotAllowedReq
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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.
Esempio di messaggio di errore
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Screenshot di errore di esempio
Causa
Questo errore si verifica se lo stesso criterio diResponseCache è collegato a più percorsi di richiesta all'interno di qualsiasi flusso di un proxy API.
Ad esempio, se hai collegato lo stesso criterio ResponseCache al precaricamento della richiesta sia del proxy che degli endpoint di destinazione, si verifica questo errore.
Diagnostica
Identifica il nome del criterio ResponseCache collegato più di una volta. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente il nome del criterio ResponseCache è ResponseCache-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.
Esamina tutti i flussi di richieste negli endpoint proxy e di destinazione del proxy API in cui si è verificato l'errore. Se lo stesso criterio ResponseCache è collegato a due o più flussi di richiesta, questa è la causa dell'errore.
Nell'esempio seguente, lo stesso criterio ResponseCache
Response-Cache-1
è configurato nel percorso di richiesta dell'endpoint proxy predefinito PreFlow e l'endpoint di destinazione predefinito PreFlow:<?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> ...
Risoluzione
Assicurati che un criterio ResponseCache sia collegato a un solo percorso di richiesta in tutti i flussi del proxy API.
Per correggere l'esempio mostrato sopra, rimuovi il criterio ResponseCache Response-Cache-1
da uno dei due flussi di richiesta.
ResponseCacheStepAttachmentNotAllowedResp
Messaggio di errore
Il deployment del proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera questo messaggio di errore:
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.
Esempio di messaggio di errore
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Screenshot di errore di esempio
Causa
Questo errore si verifica se lo stesso criterio diResponseCache è collegato a più percorsi di risposta all'interno di qualsiasi flusso di un proxy API.
Ad esempio, se hai collegato lo stesso criterio ResponseCache al precaricamento della risposta sia del proxy che degli endpoint di destinazione, si verifica questo errore.
Diagnostica
Identifica il nome del criterio ResponseCache collegato più di una volta. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente il nome del criterio ResponseCache è
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.
Esamina tutti i flussi di richieste negli endpoint proxy e di destinazione del proxy API in cui si è verificato l'errore. Se lo stesso criterio ResponseCache è collegato a due o più flussi di risposta, questa è la causa dell'errore.
Nell'esempio seguente, lo stesso criterio ResponseCache
Response-Cache-1
è configurato nel percorso di risposta dell'endpoint proxy predefinito PreFlow e l'endpoint di destinazione predefinito 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> ...
Risoluzione
Assicurati che un criterio ResponseCache sia collegato a un solo percorso di risposta in tutti i flussi del proxy API.
Per correggere l'esempio mostrato sopra, rimuovi il criterio ResponseCache Response-Cache-1
da uno dei due percorsi di risposta.
InvalidMessagePatternForErrorCode
Messaggio di errore
Il deployment del proxy API tramite l'interfaccia utente perimetrale o l'API di gestione perimetrale non riesce a restituire uno dei seguenti messaggi di errore:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
OPPURE
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Esempio di messaggio di errore
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
OPPURE
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Screenshot di errore di esempio
OPPURE
Causa
Questo errore si verifica se l'elemento <SkipCacheLookup>
o <SkipCachePopulation>
in un criterioResponseCache contiene una condizione non valida.
Diagnostica
Esamina tutti i criteri ResponseCache nel proxy API in cui si è verificato l'errore e controlla se sono presenti criteri con condizioni specificate per
<SkipCacheLookup>
e/o per gli elementi<SkipCachePopulation>
.Controlla se la condizione specificata per
<SkipCacheLookup>
e/o l'elemento<SkipCachePopulation>
non è valida. Se sì, è questa la causa dell'errore.Nell'esempio seguente, l'elemento
<SkipCachePopulation>
utilizza l'operatore JavaScript === per cercare un valore uguale e un tipo uguale che non è valido.<?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>
Poiché l'operatore
===
non è valido, viene visualizzato l'errore:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Risoluzione
Assicurati che la condizione specificata per gli elementi <SkipCacheLookup>
e/o <SkipCachePopulation>
sia sempre valida.
Per correggere il criterioResponseCache di esempio mostrato sopra, puoi modificare <SkipCacheLookup>
per utilizzare l'operatore =
:
<?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
Messaggio di errore
Il deployment del proxy API tramite la UI o l'API di gestione perimetrale genera un messaggio di errore simile al seguente e lo stato del deployment del proxy API è contrassegnato come deployment parziale:
Error: Cache : cache_resource, not found in organization : organization__environment.
Esempio di messaggio di errore
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Causa
Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata su un determinato componente Message Processor.
Risoluzione
Se sei un utente Private Cloud, segui le istruzioni riportate di seguito:
Elenca i deployment dei proxy API e determina quali processori di messaggi presentano l'errore
steps.cache.CacheNotFound
.Esempio di output
curl -u $USERID:$USERPASSWORD http://<management-server-host>:8080/v1/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/deployments { "aPIProxy" : "ResponseCache", "environment" : [ { "configuration" : { "basePath" : "/", "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6", "steps" : [ ] }, "name" : "prod", "server" : [ { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1" }, { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d" }, { "error" : "Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod", "errorCode" : "steps.cache.CacheNotFound", "status" : "error", "type" : [ "message-processor" ], "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d" }, ... "state" : "deployed" } ], "name" : "2", "organization" : "kkalckstein-eval"
Prendi nota degli UUID del processore di messaggi in cui hai riscontrato l'errore
steps.cache.CacheNotFound
. Identifica il nome host/l'indirizzo IP del processore di messaggi dall'UUID.Accedi allo specifico processore di messaggi e riavvialo utilizzando il seguente comando:
apigee-service edge-message-processor restart
Se sei un utente del cloud pubblico o se il problema persiste per il cloud privato, contatta l'assistenza Apigee per ricevere supporto.