Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
InvalidTimeout
Pesan Error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Contoh Pesan Error
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Contoh Screenshot Error
Penyebab
Jika elemen <CacheLookupTimeoutInSeconds>
dari kebijakan ResponsCache ditetapkan ke angka negatif, deployment proxy API akan gagal.
Misalnya, jika <CacheLookupTimeoutInSeconds>
adalah -1
, deployment proxy API akan gagal.
Diagnosis
Identifikasi nilai yang tidak valid yang digunakan untuk elemen
<CacheLookupTimeoutInSeconds>
dalam kebijakan ResponseCache. Anda dapat menemukan informasi ini dalam pesan error. Misalnya, dalam error berikut, nilai yang tidak valid yang digunakan untuk elemen<CacheLookupTimeoutInSeconds>
adalah-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Periksa semua kebijakan ResponseCache di Proxy API tertentu tempat kegagalan terjadi. Mungkin ada satu atau beberapa kebijakan ResponseCache tempat elemen
<CacheLookupTimeoutInSeconds>
ditentukan.Misalnya, konfigurasi kebijakan berikut menetapkan
<CacheLookupTimeoutInSeconds>
ke-1
, yang cocok dengan isi pesan 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>
Jika
<CacheLookupTimeoutInSeconds>
ditentukan sebagai bilangan bulat negatif, maka itulah penyebab error.
Resolusi
Pastikan nilai untuk elemen <CacheLookupTimeoutInSeconds>
dari kebijakan ResponseCache selalu ditentukan sebagai bilangan bulat non-negatif.
Untuk memperbaiki contoh kebijakan ResponseCache yang ditampilkan di atas, Anda dapat mengubah <CacheLookupTimeoutInSeconds> element
menjadi 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
Pesan Error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
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
Contoh Pesan 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
Contoh Screenshot Error
Penyebab
Error ini terjadi jika elemen <CacheResource>
di kebijakan ResponsCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
Diagnosis
Identifikasi cache yang tidak valid yang digunakan dalam elemen
<CacheResource>
kebijakan Cache Respons dan lingkungan tempat error terjadi. Anda dapat menemukan kedua item ini di pesan error. Misalnya, dalam error berikut, nama cache yang tidak valid adalahitemscache
dan nama lingkungannya adalahprod
.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Periksa semua kebijakan ResponseCache di Proxy API tertentu dengan kegagalan yang terjadi. Identifikasi kebijakan ResponseCache tertentu dengan cache yang tidak valid (yang diidentifikasi pada langkah #1) ditentukan dalam elemen
<CacheResource>
.Misalnya, kebijakan berikut menentukan nilai
<CacheResource>
sebagaiitemscache
, yang cocok dengan isi pesan 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>
Verifikasi apakah cache (ditentukan pada langkah #2) telah ditentukan dalam lingkungan tertentu (diidentifikasi pada langkah #1).
Di UI Edge, buka APIs > Konfigurasi Lingkungan dan periksa apakah cache ada di tab Cache di lingkungan tertentu. Jika cache tidak ada, maka itulah penyebab error.
Misalnya, perhatikan dalam screenshot di bawah bahwa cache dengan nama
itemscache
tidak ada.Karena cache bernama
itemscache
tidak ditentukan di lingkunganprod
, Anda mendapatkan error:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Resolusi
Pastikan nama cache yang ditentukan dalam elemen <CacheResource>
telah dibuat di lingkungan tempat Anda ingin men-deploy proxy API.
Lihat Membuat dan mengedit cache lingkungan untuk informasi tentang cara membuat cache.
ResponseCacheStepAttachmentNotAllowedReq
Pesan Error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
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.
Contoh Pesan 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.
Contoh Screenshot Error
Penyebab
Error ini terjadi jika kebijakan ResponsCache yang sama disertakan ke beberapa jalur permintaan dalam alur proxy API.
Misalnya, jika Anda memiliki kebijakan ResponseCache yang sama yang dilampirkan dalam Preflow permintaan Proxy dan Endpoint Target, error ini akan terjadi.
Diagnosis
Identifikasi nama kebijakan ResponseCache yang dilampirkan lebih dari sekali. Anda dapat menemukan informasi ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan ResponseCache adalah 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.
Periksa semua alur permintaan di Proxy dan Endpoint Target pada Proxy API tempat error terjadi. Jika kebijakan ResponseCache yang sama dilampirkan dalam dua alur permintaan atau lebih, berarti itulah penyebab error.
Pada contoh berikut, kebijakan ResponseCache yang sama
Response-Cache-1
dikonfigurasi di jalur permintaan PreFlow endpoint proxy default, dan PreFlow endpoint target default:<?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> ...
Resolusi
Pastikan kebijakan ResponseCache hanya disertakan ke satu jalur permintaan di semua alur Proxy API.
Untuk memperbaiki contoh yang ditampilkan di atas, hapus kebijakan ResponseCache Response-Cache-1
dari salah satu dari dua alur permintaan.
ResponseCacheStepAttachmentNotAllowedResp
Pesan Error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:
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.
Contoh Pesan 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.
Contoh Screenshot Error
Penyebab
Error ini terjadi jika kebijakanResponseCache yang sama disertakan ke beberapa jalur respons dalam alur proxy API apa pun.
Misalnya, jika Anda memiliki kebijakan ResponseCache yang sama yang dilampirkan dalam Preflow respons Proxy dan Endpoint Target, error ini akan terjadi.
Diagnosis
Identifikasi nama kebijakan ResponseCache yang dilampirkan lebih dari sekali. Anda dapat menemukan informasi ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan ResponseCache adalah
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.
Periksa semua alur permintaan di Proxy dan Endpoint Target pada Proxy API tempat error terjadi. Jika kebijakan ResponseCache yang sama dilampirkan di dua alur respons atau lebih, maka itulah penyebab error.
Pada contoh berikut, kebijakan ResponseCache yang sama
Response-Cache-1
dikonfigurasi di jalur respons PreFlow endpoint proxy default, dan PreFlow endpoint target default:<?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> ...
Resolusi
Pastikan kebijakan ResponseCache hanya disertakan ke satu jalur respons di semua alur Proxy API.
Untuk memperbaiki contoh yang ditampilkan di atas, hapus kebijakan ResponseCache Response-Cache-1
dari salah satu dari dua jalur respons.
InvalidMessagePatternForErrorCode
Pesan Error
Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal karena salah satu pesan error ini:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
ATAU
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Contoh Pesan Error
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
ATAU
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Contoh Screenshot Error
ATAU
Penyebab
Error ini terjadi jika elemen <SkipCacheLookup>
atau <SkipCachePopulation>
di kebijakan ResponsCache berisi kondisi yang tidak valid.
Diagnosis
Periksa semua kebijakan ResponseCache di Proxy API tempat error terjadi dan periksa apakah ada kebijakan yang memiliki kondisi yang ditentukan untuk elemen
<SkipCacheLookup>
dan/atau<SkipCachePopulation>
.Periksa apakah kondisi yang ditentukan untuk elemen
<SkipCacheLookup>
dan/atau<SkipCachePopulation>
tidak valid. Jika ya, maka itulah penyebab error.Pada contoh berikut, elemen
<SkipCachePopulation>
menggunakan operator JavaScript === untuk memeriksa nilai yang sama dan jenis yang sama yang tidak valid.<?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>
Karena operator
===
tidak valid, Anda mendapatkan error:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Resolusi
Pastikan kondisi yang ditentukan untuk elemen <SkipCacheLookup>
dan/atau <SkipCachePopulation>
selalu valid.
Untuk memperbaiki contoh kebijakan ResponsCache yang ditampilkan di atas, Anda dapat mengubah <SkipCacheLookup>
agar menggunakan operator =
:
<?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
Pesan Error
Deployment proxy API melalui Edge UI atau Edge management API menghasilkan pesan error seperti ini, dan status deployment Proxy API ditandai sebagai di-deploy sebagian:
Error: Cache : cache_resource, not found in organization : organization__environment.
Contoh Pesan Error
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Penyebab
Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error belum dibuat pada komponen Pemroses Pesan tertentu.
Resolusi
Jika Anda adalah pengguna Private Cloud, ikuti petunjuk di bawah ini:
Buat daftar deployment proxy API dan tentukan Pemroses Pesan yang memiliki error
steps.cache.CacheNotFound
.Contoh 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"
Perhatikan UUID Pemroses Pesan tempat Anda mengamati error
steps.cache.CacheNotFound
. Identifikasi nama host/alamat IP Pemroses Pesan dari UUID.Login ke Pemroses Pesan tertentu, lalu mulai ulang menggunakan perintah berikut:
apigee-service edge-message-processor restart
Jika Anda adalah pengguna Cloud Publik atau jika masalah terus berlanjut untuk Private Cloud, hubungi Dukungan Apigee untuk mendapatkan bantuan.