הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של Apigee Edge
InvalidIndex
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
Error Saving Revision revision_number Invalid index index in KeyValueMapStepDefinition policy_name.
הודעת שגיאה לדוגמה
Error Saving Revision 2
Invalid index 0 in KeyValueMapStepDefinition GetKVM.
דוגמה לצילום מסך של שגיאה

מטרה
אם המאפיין index שצוין ברכיב <Get> של מדיניות Key Value Map Operations הוא אפס או מספר שלילי, פריסת ה-proxy ל-API תיכשל. האינדקס מתחיל מ-1, ולכן אינדקס של אפס או מספר שלם שלילי נחשב לא תקין.
לדוגמה, אם הערך index שצוין הוא 0 ברכיב <Get> של מדיניות Key Value Map Operations (פעולות במפת מפתח/ערך), הפריסה של ה-proxy ל-API תיכשל.
אבחון
מזהים את מדיניות הפעולות של מפת ערכי המפתח שבה התרחשה השגיאה ואת האינדקס הלא תקין. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
GetKVMוהאינדקס הלא תקין הוא0:Invalid index 0 in KeyValueMapStepDefinition GetKVM.מוודאים שהערך של האינדקס שצוין ברכיב
<Get>של המדיניות Key Value Map Operations שנכשלה זהה לערך שזוהה בהודעת השגיאה (שלב 1 למעלה). לדוגמה, במדיניות הבאה הערך של האינדקס הוא0, שזהה לערך שמופיע בהודעת השגיאה:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM"> <DisplayName>GetKVM</DisplayName> <ExpiryTimeInSecs>86400</ExpiryTimeInSecs> <Scope>environment</Scope> <Get assignTo="foo_variable" index="0"> <Key> <Parameter>FooKey_1</Parameter> </Key> </Get> </KeyValueMapOperations>אם האינדקס שצוין הוא אפס או מספר שלם שלילי, זו הסיבה לשגיאה.
בדוגמה של מדיניות הפעולות במפת מפתח/ערך שמוצגת למעלה, הערך של האינדקס הוא
0, שהוא לא תקין. לכן, הפריסה של ה-API Proxy נכשלת עם השגיאה:Invalid index 0 in KeyValueMapStepDefinition GetKVM.
רזולוציה
מוודאים שמאפיין האינדקס שצוין ברכיב <Get> של מדיניות Key Value Map Operations (פעולות מיפוי של זוגות מפתח/ערך) הוא תקין (מספר שלם שאינו אפס או מספר שלילי).
כדי לתקן את המדיניות לדוגמה בנושא פעולות במפת ערכי מפתח שמוצגת למעלה, אפשר לשנות את האינדקס ל-1.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
<DisplayName>GetKVM</DisplayName>
<ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
<Scope>environment</Scope>
<Get assignTo="foo_variable" index="1">
<Key>
<Parameter>FooKey_1</Parameter>
</Key>
</Get>
</KeyValueMapOperations>
KeyIsMissing
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml Reason: - Non null value expected for element Parameter in Entry.
הודעת שגיאה לדוגמה
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
דוגמה לצילום מסך של שגיאה

מטרה
השגיאה הזו מתרחשת אם הרכיב <Key> חסר לחלוטין או אם הרכיב <Parameter>
חסר בתוך הרכיב <Key> מתחת לרכיב <Entry> של המדיניות Key Value Map Operations.<InitialEntries>
אבחון
מזהים את מדיניות Key Value Map Operations (פעולות של מיפוי ערכי מפתח) שבה אירעה השגיאה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה שם המדיניות Key Value Map Operations הוא
GetKVM.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entryבמדיניות Key Value Map Operations שנכשלה, בודקים אם יש רכיב
<Entry>שחסר לו רכיב<Key>או<Parameter>מתחת לרכיב<InitialEntries>.זו דוגמה למדיניות של פעולות במיפוי של זוגות מפתח/ערך שחסר בה רכיב
<Parameter>בתוך רכיב<Key>:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM"> <DisplayName>GetKVM</DisplayName> <Properties/> <ExclusiveCache>false</ExclusiveCache> <ExpiryTimeInSecs>300</ExpiryTimeInSecs> <InitialEntries> <Entry> <Key/> <Value>v1</Value> </Entry> <Entry> <Key> <Parameter>k2</Parameter> </Key> <Value>v2</Value> </Entry> </InitialEntries>במקרה הזה, הבעיה נגרמת בגלל הרכיב הראשון.
רזולוציה
מוודאים שלכל רכיבי <Entry> שמתחת לרכיב <InitialEntries> במדיניות Key Value Map Operations (פעולות במפת ערכי מפתח) יש רכיב <Key> ואחריו רכיב <Parameter>.
כדי לתקן את המדיניות לדוגמה בנושא פעולות מיפוי של זוגות מפתח/ערך שמוצגת למעלה, צריך להוסיף רכיב <Parameter> כדי לפתור את הבעיה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="FooKVM">
<DisplayName>GetKVM</DisplayName>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>300</ExpiryTimeInSecs>
<InitialEntries>
<Entry>
<Key>
<Parameter>k1</Parameter>
</Key>
<Value>v1</Value>
</Entry>
<Entry>
<Key>
<Parameter>k2</Parameter>
</Key>
<Value>v2</Value>
</Entry>
</InitialEntries>
...
ValueIsMissing
הודעת השגיאה
פריסת ה-proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
Error Saving Revision revision_number Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
הודעת שגיאה לדוגמה
Error Saving Revision 3
Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
דוגמה לצילום מסך של שגיאה

מטרה
השגיאה הזו מתרחשת אם הרכיב <Value> חסר מתחת לרכיב <Entry> של הרכיב <InitialEntries> במדיניות Key Value Map Operations.
אבחון
מזהים את מדיניות Key Value Map Operations (פעולות של מיפוי ערכי מפתח) שבה אירעה השגיאה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה שם המדיניות Key Value Map Operations הוא
GetKVM.Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entryבמדיניות Key Value Map Operations שנכשלה, בודקים אם יש רכיב
<Entry>שחסר לו רכיב<Value>מתחת לרכיב<InitialEntries>.זוהי דוגמה למדיניות של פעולות מיפוי של צמדי מפתח/ערך שחסר בה אלמנט
<Value>:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte"> <DisplayName>GetKVM3</DisplayName> <Properties/> <ExclusiveCache>false</ExclusiveCache> <ExpiryTimeInSecs>300</ExpiryTimeInSecs> <InitialEntries> <Entry> <Key> <Parameter>k1</Parameter> </Key> </Entry> <Entry> <Key> <Parameter>k2</Parameter> </Key> <Value>v2</Value> </Entry> </InitialEntries> ...
רזולוציה
מוודאים שלכל רכיב <Entry> מתחת לרכיב <InitialEntries> במדיניות Key Value Map Operations יש רכיב <Value>.
כדי לתקן את המדיניות לדוגמה בנושא פעולות מיפוי של זוגות מפתח/ערך שמוצגת למעלה, צריך להוסיף רכיב <Value> כדי לפתור את הבעיה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KeyValueMapOperations async="false" continueOnError="false" enabled="true" name="GetKVM" mapIdentifier="testNotEncrypte">
<DisplayName>GetKVM3</DisplayName>
<Properties/>
<ExclusiveCache>false</ExclusiveCache>
<ExpiryTimeInSecs>300</ExpiryTimeInSecs>
<InitialEntries>
<Entry>
<Key>
<Parameter>k1</Parameter>
</Key>
<Value>v1</Value>
</Entry>
<Entry>
<Key>
<Parameter>k2</Parameter>
</Key>
<Value>v2</Value>
</Entry>
</InitialEntries>
...