כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
EitherOptionOrFormat
הודעת השגיאה
כשפורסים את ה-API של ה-API דרך ממשק המשתמש של Edge או Edge management API, מוצגת הודעת השגיאה הבאה:
Error Saving Revision [revision_number] XMLToJSON[{0}]: Either Options or Format must be specified.
שגיאה לדוגמה
Error Saving Revision 1
XMLToJSON[{0}]: Either Options or Format must be specified.
צילום מסך לדוגמה
סיבה
אם אחד מהאלמנטים <Options>
או <Format>
לא מוצהר במדיניות XML ל-JSON, הפריסה של שרת proxy ל-API תיכשל.
אם לא משתמשים ב-<Format>
, חובה לציין את הפרמטר <Options>
.
צריך להשתמש ברכיב <Format>
או בקבוצת הרכיבים <Options>
. לא ניתן להשתמש גם ב-<Format>
וגם ב-<Options>
. הפורמטים המוגדרים מראש כוללים: xml.com
, yahoo
, google
ו-badgerFish
.
אבחון
יש לבדוק את כל כללי המדיניות מסוג XML ל-JSON בשרת ה-API הספציפי שבו אירעה הכשל. אם יש מדיניות XML ל-JSON שבה אחד מהרכיבים
<Options>
או<Format>
לא הוצהר, זו הסיבה לשגיאה.לדוגמה, במדיניות הבאה אין אף אחד מהאלמנטים המוצהרים:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON"> <DisplayName>XMLToJSON</DisplayName> <Properties/> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
רזולוציה
צריך לוודא שה-XML של המדיניות מסוג XML ל-JSON כולל אחד מהרכיבים <Options>
או <Format>
שהוצהרו במדיניות.
דוגמה 1:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
<DisplayName>XMLToJSON</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>
דוגמה 2:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
<DisplayName>XMLToJSON</DisplayName>
<Properties/>
<Options>
<RecognizeNumber>true</RecognizeNumber>
<RecognizeBoolean>true</RecognizeBoolean>
<RecognizeNull>true</RecognizeNull>
</Options>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>
UnknownFormat
הודעת השגיאה
כשפורסים את ה-API של ה-API דרך ממשק המשתמש של Edge או Edge management API, מוצגת הודעת השגיאה הבאה:
Error Saving Revision [revision_number] XMLToJSON[policy_name]: Unknown Format [unknown_format].
שגיאה לדוגמה
Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.
צילום מסך לדוגמה
סיבה
אם לאלמנט <Format>
במדיניות XML ל-JSON מוגדר פורמט לא ידוע, הפריסה של שרת ה-proxy של ה-API תיכשל.
הפורמטים המוגדרים מראש כוללים: xml.com
, yahoo
, google
ו-badgerFish
.
אבחון
יש לזהות את מדיניות ה-XML ל-JSON שבה אירעה השגיאה ואת הפורמט הלא ידוע. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
WithFormat
והפורמט הלא ידוע הואgoogle.com
:Error Saving Revision 1 XMLToJSON[WithFormat]: Unknown Format google.com.
יש לוודא שהפורמט הלא ידוע שצוין במדיניות ה-XML ל-JSON שנכשל תואם לערך שזוהה בהודעת השגיאה (שלב 1 למעלה). לדוגמה, המדיניות הבאה מציינת את הפורמט
google.com
, שתואם לתוכן הודעת השגיאה:<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat"> <DisplayName>WithFormat</DisplayName> <Properties/> <Format>google.com</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
אם הפורמט שצוין אינו אחד מהפורמטים המוגדרים מראש
xml.com
,yahoo
,google
אוbadgerFish
, זו הסיבה לשגיאה.בדוגמת המדיניות של XML ל-JSON שמוצגת למעלה, הפורמט הוא
google.com
שאינו חוקי. לכן פריסת ה-API של שרת ה-Proxy נכשלת ומוצגת השגיאה:XMLToJSON[WithFormat]: Unknown Format google.com.
רזולוציה
צריך לוודא שהפורמט שמצוין ברכיב <Format>
של המדיניות מסוג XML ל-JSON תקין. לדוגמה:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
<DisplayName>WithFormat</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>response</Source>
</XMLToJSON>