כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
הגישה למשתנה הזרימה message
ולמאפיינים שלו תלויה בנקודה
בזרימת ה-API של שרת ה-proxy שבה מתבצעת הגישה. הפונקציה זמינה בכל ההקשרים, אבל יש אובייקטים כמו request
או response
שלא.
תרחישים לדוגמה
התרחיש לדוגמה העיקרי של משתנה הזרימה message
הוא כאשר שרת ה-proxy נכנס לתהליך השגיאה: משתני הזרימה request
ו-response
מחוץ להיקף.
לדוגמה, בתהליך השגיאה, האובייקט response
לא זמין. לא תהיה לך אפשרות להגדיר כותרות תגובות באובייקט response
באמצעות מדיניות JavaScript
אם בתהליך השגיאה יש שגיאות. במקום זאת, אפשר להשתמש באחת מהאפשרויות הבאות:
שני האובייקטים האלה זמינים בתהליך השגיאה, ואפשר להשתמש בהם כדי להגדיר כותרות לתגובה מתוך מדיניות JavaScript או לגשת אליהם בכללי מדיניות אחרים שיכולים להשתמש במשתני זרימה.
אפשר להשתמש במדיניות של AssignedMessage לאובייקט response כדי להקצות ערכים, כמו כותרות. הקצאת הודעה מטפלת באופן אוטומטי במעבר בין בקשות/תגובה לתהליך השגיאה.
תרחיש לדוגמה נוסף של המשתנה message
הוא רישום של נתוני תגובות ב-PostClientFlow באמצעות המדיניות MessageLogging. אם משתמשים באובייקט message
,
אפשר לתעד את פרטי התגובות בצורה חלקה לפי תנאי ההצלחה והשגיאה
בשרת ה-proxy.
דוגמאות
בתהליך של שגיאה, אפשר להגדיר כותרת תגובה ממדיניות 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');
אפשר להשתמש שוב במדיניות הזו בתהליך הרגיל של Proxy Response, והיא תתבצע בהצלחה כי
message
זמין בכל ההקשרים.