אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
הגישה למשתנה הזרימה message ולמאפיינים שלו תלויה בנקודה בתוך זרימת ה-API Proxy שבה מתבצעת הגישה. הוא זמין בכל ההקשרים, בניגוד לאובייקטים מסוימים, כמו request או response.
תרחישים לדוגמה
תרחיש השימוש העיקרי במשתנה הזרימה message הוא כששרת ה-proxy נכנס לזרימת השגיאות: משתני הזרימה request ו-response לא נמצאים בהיקף.
לדוגמה, בתהליך השגיאה, האובייקט response לא זמין. אם אתם נמצאים בתהליך השגיאה, לא תוכלו להגדיר כותרות תגובה באובייקט response באמצעות מדיניות JavaScript. במקום זאת, אפשר להשתמש באחת מהאפשרויות הבאות:
שני האובייקטים האלה זמינים בתהליך של שגיאה, ואפשר להשתמש בהם כדי להגדיר כותרות תגובה מתוך מדיניות JavaScript, או לגשת אליהם במדיניות אחרת שיכולה להשתמש במשתני זרימה.
אפשר להשתמש במדיניות AssignMessage כדי להקצות ערכים, כמו כותרות, לאובייקט response. הפונקציה Assign Message מטפלת אוטומטית במעבר בהקשר מזרימת בקשה/תגובה לזרימת שגיאה.
תרחיש שימוש נוסף במשתנה message הוא רישום ביומן של נתוני תגובה ב-PostClientFlow באמצעות המדיניות MessageLogging. אם משתמשים באובייקט message, אפשר לרשום ביומן מידע על התגובה בצורה חלקה אחרי תנאי הצלחה ושגיאה בפרוקסי.
דוגמאות
בתהליך שגיאה, אפשר להגדיר כותרת תגובה ממדיניות JavaScript באמצעות error או message. לדוגמה:
context.setVariable('error.header.FOO-1', 'error_header');OR
context.setVariable('message.header.FOO-2', 'message_header');עם זאת, הביטוי הבא לא יעבוד:
context.setVariable('response.header.FOO-3', 'response_header');במקרה כזה, המשתנה response נמצא מחוץ להיקף בתהליך השגיאה. (הערה: במעקב, זה מסומן חזותית על ידי משתנים שמוצגים עם סימן שווה עם קו אלכסוני חוצה).
כדי להגדיר כותרות תגובה גם לזרימות הצלחה וגם לזרימות שגיאה במדיניות אחת, אפשר להשתמש ב-message בתוך מדיניות JavaScript. לדוגמה:
<faultrules>
<faultrule name="invalid_key_rule">
<step>
<name>SetResponseHeaders</name>
</step>
<condition>(fault.name = "InvalidApiKey")</condition>
</faultrule>
</faultrules>במדיניות, קוד כמו הקוד הבא מגדיר את כותרת השגיאה או התגובה בכל הקשר של זרימת נתונים:
context.setVariable('message.header.FOO-1', 'the header value');אפשר להשתמש באותה מדיניות בזרימת ProxyResponse רגילה, והיא תצליח כי message זמין מכל ההקשרים.