Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
InvalidTimeout
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Przykładowy komunikat o błędzie
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Przykładowy zrzut ekranu z błędem

Przyczyna
Jeśli element <CacheLookupTimeoutInSeconds> zasady ResponseCache ma wartość ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Jeśli na przykład wartość <CacheLookupTimeoutInSeconds> to -1, wdrożenie proxy interfejsu API nie powiedzie się.
Diagnostyka
Określ nieprawidłową wartość używaną w elemencie
<CacheLookupTimeoutInSeconds>w zasadach ResponseCache. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieprawidłowa wartość użyta w elemencie<CacheLookupTimeoutInSeconds>to-1:CacheLookupTimeoutInSeconds -1 value should be greater than zero.Sprawdź wszystkie zasady ResponseCache w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Może istnieć co najmniej jedna zasada ResponseCache, w której określony jest element
<CacheLookupTimeoutInSeconds>.Na przykład ta konfiguracja zasad ustawia wartość
<CacheLookupTimeoutInSeconds>na-1, co odpowiada temu, co znajduje się w komunikacie o błędzie:<?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>Jeśli
<CacheLookupTimeoutInSeconds>jest liczbą całkowitą ujemną, to jest to przyczyną błędu.
Rozdzielczość
Upewnij się, że wartość elementu <CacheLookupTimeoutInSeconds> w zasadach ResponseCache jest zawsze określona jako nieujemna liczba całkowita.
Aby poprawić przykładowe zasady ResponseCache pokazane powyżej, możesz zmienić <CacheLookupTimeoutInSeconds> element na 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
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
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
Przykładowy komunikat o błędzie
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
Przykładowy zrzut ekranu z błędem

Przyczyna
Ten błąd występuje, jeśli element <CacheResource> w zasadzie ResponseCache ma nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API.
Diagnostyka
Określ nieprawidłową pamięć podręczną używaną w elemencie
<CacheResource>zasad Response Cache oraz środowisko, w którym wystąpił błąd. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa nieprawidłowej pamięci podręcznej toitemscache, a nazwa środowiska toprod.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prodSprawdź wszystkie zasady ResponseCache w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Znajdź konkretne zasady ResponseCache, w których nieprawidłowa pamięć podręczna (zidentyfikowana w kroku 1) jest określona w elemencie
<CacheResource>.Na przykład te zasady określają wartość
<CacheResource>jakoitemscache, co odpowiada wartości w komunikacie o błędzie:<?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>Sprawdź, czy pamięć podręczna (określona w kroku 2) została zdefiniowana w konkretnym środowisku (zidentyfikowanym w kroku 1).
W interfejsie Edge kliknij Interfejsy API > Konfiguracja środowiska i sprawdź, czy pamięć podręczna istnieje na karcie Pamięci podręczne w danym środowisku. Jeśli pamięć podręczna nie istnieje, to jest to przyczyną błędu.
Na przykład na zrzucie ekranu poniżej widać, że pamięć podręczna o nazwie
itemscachenie istnieje.
Pamięć podręczna o nazwie
itemscachenie jest zdefiniowana w środowiskuprod, więc pojawi się błąd:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Rozdzielczość
Sprawdź, czy nazwa pamięci podręcznej określona w elemencie <CacheResource> została utworzona w środowisku, w którym chcesz wdrożyć serwer proxy interfejsu API.
Informacje o tworzeniu pamięci podręcznej środowiska znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.
ResponseCacheStepAttachmentNotAllowedReq
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
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.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Przykładowy zrzut ekranu z błędem

Przyczyna
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest dołączona do wielu ścieżek żądań w ramach dowolnych przepływów w proxy interfejsu API.
Ten błąd występuje np. wtedy, gdy ta sama zasada ResponseCache jest dołączona do przepływu wstępnego żądania zarówno w przypadku punktów końcowych proxy, jak i punktów końcowych docelowych.
Diagnostyka
Określ nazwę zasady ResponseCache, która jest dołączona więcej niż raz. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ResponseCache to 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.Sprawdź wszystkie przepływy żądań w punktach końcowych proxy i docelowych proxy interfejsu API, w których wystąpił błąd. Jeśli te same zasady ResponseCache są dołączone do co najmniej 2 przepływów żądań, to jest to przyczyną błędu.
W tym przykładzie te same zasady ResponseCache
Response-Cache-1są skonfigurowane w ścieżce żądania domyślnego punktu końcowego proxy PreFlow i domyślnego punktu końcowego docelowego 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> ...
Rozdzielczość
Sprawdź, czy zasada ResponseCache jest dołączona tylko do jednej ścieżki żądania we wszystkich przepływach proxy interfejsu API.
Aby poprawić powyższy przykład, usuń zasadę ResponseCache Response-Cache-1 z jednego z dwóch przepływów żądań.
ResponseCacheStepAttachmentNotAllowedResp
Komunikat o błędzie
Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:
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.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Przykładowy zrzut ekranu z błędem

Przyczyna
Ten błąd występuje, gdy ta sama zasada ResponseCache jest dołączona do wielu ścieżek odpowiedzi w dowolnych przepływach serwera proxy interfejsu API.
Na przykład jeśli masz tę samą zasadę ResponseCache dołączoną w odpowiedzi przed przepływem zarówno punktu końcowego proxy, jak i punktu końcowego docelowego, wystąpi ten błąd.
Diagnostyka
Określ nazwę zasady ResponseCache, która jest dołączona więcej niż raz. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ResponseCache to
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.Sprawdź wszystkie przepływy żądań w punktach końcowych proxy i docelowych proxy interfejsu API, w których wystąpił błąd. Jeśli te same zasady ResponseCache są dołączone do co najmniej 2 przepływów odpowiedzi, to jest to przyczyną błędu.
W poniższym przykładzie ta sama zasada ResponseCache
Response-Cache-1jest skonfigurowana na ścieżce odpowiedzi domyślnego punktu końcowego proxy PreFlow i domyślnego punktu końcowego docelowego 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> ...
Rozdzielczość
Upewnij się, że zasada ResponseCache jest dołączona tylko do jednej ścieżki odpowiedzi we wszystkich przepływach proxy interfejsu API.
Aby poprawić przykład pokazany powyżej, usuń zasadę ResponseCache Response-Cache-1 z jednej z dwóch ścieżek odpowiedzi.
InvalidMessagePatternForErrorCode
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API nie powiedzie się i wyświetli się jeden z tych komunikatów o błędzie:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
LUB
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
LUB
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Przykładowy zrzut ekranu z błędem

LUB

Przyczyna
Ten błąd występuje, gdy element <SkipCacheLookup> lub <SkipCachePopulation> w zasadach ResponseCache zawiera nieprawidłowy warunek.
Diagnostyka
Sprawdź wszystkie zasady ResponseCache w serwerze proxy interfejsu API, w którym wystąpił błąd, i zobacz, czy są jakieś zasady, które mają określone warunki dla elementów
<SkipCacheLookup>lub<SkipCachePopulation>.Sprawdź, czy warunek określony dla elementu
<SkipCacheLookup>lub<SkipCachePopulation>jest nieprawidłowy. Jeśli tak, to jest to przyczyna błędu.W przykładzie poniżej element
<SkipCachePopulation>używa operatora JavaScript === do sprawdzenia, czy wartość i typ są równe, co jest nieprawidłowe.<?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>Operator
===jest nieprawidłowy, więc pojawi się błąd:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Rozdzielczość
Upewnij się, że warunek określony dla elementów <SkipCacheLookup> lub <SkipCachePopulation> jest zawsze prawidłowy.
Aby poprawić pokazaną powyżej przykładową zasadę ResponseCache, możesz zmodyfikować <SkipCacheLookup>, aby używać operatora =:
<?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
Komunikat o błędzie
Wdrożenie proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API powoduje wyświetlenie komunikatu o błędzie podobnego do tego, a stan wdrożenia proxy interfejsu API jest oznaczony jako częściowo wdrożony:
Error: Cache : cache_resource, not found in organization : organization__environment.
Przykładowy komunikat o błędzie
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Przyczyna
Ten błąd występuje, jeśli określona pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w określonym komponencie procesora komunikatów.
Rozdzielczość
Jeśli jesteś użytkownikiem chmury prywatnej, wykonaj te czynności:
Wyświetl wdrożenia serwera proxy interfejsu API i określ, które procesory wiadomości mają błąd
steps.cache.CacheNotFound.Przykładowe dane wyjściowe
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"Zanotuj identyfikatory UUID procesora wiadomości, w którym występuje błąd
steps.cache.CacheNotFound. Określ nazwę hosta lub adres IP procesora komunikatów na podstawie identyfikatora UUID.Zaloguj się na konkretnym procesorze komunikatów i uruchom go ponownie za pomocą tego polecenia:
apigee-service edge-message-processor restart
Jeśli jesteś użytkownikiem chmury publicznej lub problem nadal występuje w przypadku chmury prywatnej, skontaktuj się z zespołem pomocy Apigee.