מכילה את הודעת השגיאה שמתארת את הסיבה האפשרית לשגיאה
errorcode
קוד השגיאה (נקרא גם קוד תקלה) שמשויך לשגיאה
reason
כוללת הודעה שמציינת את הסיבה האפשרית לשגיאה
קטלוג שגיאות בזמן ריצה
בקטלוג הזה מפורטים קודי שגיאות זמן הריצה שאינם קשורים למדיניות, שמוחזרים על ידי רכיב Apigee Message Processor. (מידע על שגיאות זמן ריצה שספציפיות למדיניות מסוימת מופיע בקטעים על שגיאות זמן ריצה בדפי המדיניות הספציפיים, כמו
שגיאות זמן ריצה במדיניות PublishMessage).
הקטלוג הזה כולל את הפרטים הבאים לגבי כל קוד שגיאה:
קוד סטטוס של HTTP
הודעת השגיאה
הסיבה לשגיאה (לא בכל הודעות השגיאה מוצגת
reason)
סיבות אפשריות לשגיאה
כל המפרטים הרלוונטיים של HTTP ו/או מגבלות המוצר
ספרי הפעלה וסרטונים עם הוראות לאבחון הגורם לשגיאה ופתרונות יעילים שאפשר ליישם כדי לפתור את השגיאה בעצמכם (אם יש כאלה)
הקידוד שצוין בכותרת תגובת ה-HTTP של השרת העורפי או שרת היעד Content-Encoding הוא תקין ונתמך על ידי Apigee,
BUT
פורמט המטען הייעודי (payload) שנשלח על ידי השרת העורפי או שרת היעד כחלק מתגובת ה-HTTP לא תואם לפורמט הקידוד שצוין בכותרת Content-Encoding
messaging.adaptors.http.flow.ErrorResponseCode
קוד סטטוס של HTTP:
500
הודעת שגיאה:
הודעת השגיאה והפורמט שלה יכולים להשתנות בהתאם להטמעה של שרת הקצה העורפי.
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת הקצה העורפי מגיב ל-Apigee עם קוד סטטוס 500.
קוד סטטוס של HTTP:
503
הודעת שגיאה:
הודעת השגיאה והפורמט שלה יכולים להשתנות בהתאם להטמעה של שרת הקצה העורפי.
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת הקצה העורפי מגיב ל-Apigee עם קוד סטטוס 503.
קוד סטטוס של HTTP:
504
הודעת שגיאה:
הודעת השגיאה והפורמט שלה יכולים להשתנות בהתאם להטמעה של שרת הקצה העורפי.
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת הקצה העורפי מגיב ל-Apigee עם קוד סטטוס 504.
הערה: קוד השגיאה
messaging.adaptors.http.flow.ErrorResponseCode לא מוחזר
כחלק מהודעת השגיאה שנשלחת לאפליקציות הלקוח. הסיבה לכך היא שקוד השגיאה הזה מוגדר על ידי Apigee בכל פעם ששרת הקצה העורפי מגיב עם שגיאה ועם קודי הסטטוס 4XX או 5XX. אפשר לראות את קוד השגיאה הזה בכלי למעקב אחר API או במסד נתונים של ניתוח נתונים.
messaging.adaptors.http.flow.GatewayTimeout
קוד סטטוס של HTTP:
504 Gateway Timeout
הודעת שגיאה:
Gateway Timeout
הסיבה:
TARGET_READ_TIMEOUT
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת הקצה העורפי לא מגיב בחזרה למעבד ההודעות של Apigee במהלך הזמן הקצוב לתפוגה של קלט/פלט שהוגדר במעבד ההודעות.
אפליקציית ה-Backend נתקלה בחריגה או בשגיאה שלא טופלו במהלך עיבוד הבקשה מ-Apigee. הסיבה לכך יכולה להיות בעיות כמו לוגיקה פגומה, קלט לא צפוי או בעיות אחרות בזמן הריצה בקוד האפליקציה.
יכול להיות שהשרת העורפי לא הצליח להתחבר למסד הנתונים שלו, או ששאילתת מסד נתונים נכשלה. הסיבות לכך יכולות להיות בעיות בחיבור לרשת, פרטי כניסה שגויים למסד הנתונים, השבתה של שרת מסד הנתונים או בעיות בסכימת מסד הנתונים או בנתונים.
אם שרת הקצה העורפי שלכם תלוי בשירותים פנימיים או חיצוניים אחרים, כמו ממשקי API, תורים של הודעות או מערכות שמירה במטמון, כשל באחת מהתלויות האלה עלול לגרום לו להחזיר שגיאה 500 ל-Apigee. יכול להיות שהקצה העורפי לא יוכל לתקשר עם השירות התלוי או יקבל ממנו תגובות שגיאה.
יכול להיות שהשרת העורפי עמוס מדי בגלל תנועת גולשים גבוהה, זיכרון לא מספיק (RAM), שימוש מוגזם במעבד או נפח אחסון נמוך בדיסק. אם אין לשרת מספיק משאבים, הוא לא יכול לעבד בקשות ומחזיר שגיאת 500.
הגדרות שגויות בשרת העורפי עלולות לגרום לשגיאות בלתי צפויות במהלך עיבוד הבקשה. זה כולל בעיות בהגדרות השרת, בהגדרות האפליקציה או בהגדרות הפריסה.
יכול להיות שיש באג בסיסי בקוד אפליקציית ה-Backend שמופעל על ידי הבקשה הספציפית מ-Apigee. יכול להיות שהבאגים האלה לא יופיעו בנסיבות רגילות, אבל הם יופיעו בדפוסי בקשות או בנתונים מסוימים.
messaging.adaptors.http.flow.LengthRequired
קוד סטטוס של HTTP:
411 Length Required
הודעת שגיאה:
'Content-Length' is missing
הסיבה:
CLIENT_REQUEST_CONTENT_LENGTH_REQUIRED
סיבה אפשרית:
השגיאה הזו מתרחשת אם כותרת Content-Length לא מועברת על ידי אפליקציית הלקוח כחלק מבקשות HTTP POST ו-PUT שנשלחות אל Apigee.
הערה: אי אפשר לתעד את הבקשות שנכשלות עם השגיאה הזו בכלי Trace, כי מעבד ההודעות מבצע את האימות הזה בשלב מוקדם מאוד, הרבה לפני עיבוד הבקשה והפעלת מדיניות כלשהי ב-API Proxy.
השגיאה הזו יכולה להתרחש גם אם שרת בק-אנד סוגר את החיבור לפני הזמן, בזמן שמעבד בקשות עדיין שולח את מטען ייעודי (payload) לשרת בק-אנד.
messaging.adaptors.http.flow.SslHandshakeFailed
קוד סטטוס של HTTP:
503 Service Unavailable
הודעת שגיאה:
SSL Handshake failed {error_message}
סיבה אפשרית:
השגיאה הזו מתרחשת במהלך תהליך לחיצת היד של SSL בין מעבד ההודעות של Apigee לבין שרת הקצה העורפי אם:
מאגר האישורים של מעבד ההודעות ב-Apigee:
מכיל שרשרת אישורים שלא תואמת לשרשרת האישורים המלאה של שרת הקצה העורפי
או
לא מכיל את שרשרת האישורים המלאה של שרת הקצה העורפי
שרשרת האישורים שהוצגה על ידי שרת הקצה העורפי:
מכיל שם דומיין שמוגדר במלואו (FQDN) שלא תואם לשם המארח שצוין בנקודת הקצה של היעד
או
מכיל שרשרת אישורים שגויה או לא מלאה
שרת הקצה העורפי דוחה את גרסת ה-TLS שבה נעשה שימוש ב-Apigee.
לדוגמה, אם שרת הקצה העורפי מקבל רק TLS בגרסה 1.3, אבל שרת היעד בצד של Apigee מוגדר עם TLS בגרסה 1.2 בשדה TLS Protocol (או שלא מוגדרת בכלל גרסת TLS, ובמקרה כזה Apigee לא ישתמש כרגע ב-TLS בגרסה 1.3 כברירת מחדל), החיבור ייכשל בגלל חוסר התאמה בין גרסאות הפרוטוקול.
יכול להיות שהשרת העורפי יסגור את החיבור באופן פתאומי,
בזמן שמערכת Apigee ממתינה לתגובה מהשרת העורפי.
הגדרת פסק זמן של Keep-alive שגויה ב-Apigee ובשרת הקצה העורפי.
שרת היעד מצפה שערך הכותרת Host יהיה שם ה-DNS של היעד, ולא שם המארח של ה-proxy.
הפתרון הוא להגדיר את use.proxy.host.header.with.target.uri לערך true במאפיין נקודת הקצה HTTPTargetConnection. חומר עזר בנושא מאפייני נקודות קצה
messaging.adaptors.http.flow.BadGateway
קוד סטטוס של HTTP:
502 Bad Gateway
הודעת שגיאה:
Bad Gateway
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת היעד שולח בחזרה ל-Apigee תגובת HTTP בפורמט שגוי.
messaging.runtime.*
messaging.runtime.RouteFailed
קוד סטטוס של HTTP:
500 Internal Server Error
הודעת שגיאה:
Unable to route the message to a TargetEndpoint
סיבה אפשרית:
השגיאה הזו מתרחשת אם Apigee לא יכול לנתב את הבקשה לאף אחד מ-TargetEndpoints כי:
אין תנאי של כלל ניתוב (<RouteRule>) שתואם לבקשה בשרת proxy
וגם
לא מוגדר כלל ניתוב כברירת מחדל ב-ProxyEndpoint
(כלומר, <RouteRule> ללא תנאי)
תיקון
כדי לפתור את השגיאה הזו, פועלים לפי ההוראות הבאות:
בודקים את כללי הניתוב שהוגדרו ב-ProxyEndpoint ומשנים אותם כדי לוודא שיש לפחות תנאי אחד בכלל הניתוב שתואם לבקשה.
מומלץ להגדיר כלל ניתוב ברירת מחדל ללא תנאי
אם יש לכם כמה כללי ניתוב.
חשוב לוודא שכלל ברירת המחדל של המסלול מוגדר תמיד אחרון ברשימת המסלולים המותנים, כי הכללים מוערכים מלמעלה למטה ב-ProxyEndpoint.
מידע נוסף על הגדרת תנאים ב-ProxyEndpoint זמין במאמר
Conditional Targets.<RouteRule>
protocol.http.* - Caused due to bad request
protocol.http.BadFormData
קוד סטטוס של HTTP:
500 Internal Server Error
הודעת שגיאה:
Bad Form Data
סיבה אפשרית:
השגיאה הזו מתרחשת רק אם מתקיימים כל התנאים הבאים:
בקשת ה-HTTP שנשלחת מהלקוח אל Apigee
מכילה:
Content-Type: application/x-www-form-urlencoded,
וגם
נתוני טופס עם סימן האחוז (%), או סימן האחוז (%) ואחריו תווים הקסדצימליים לא חוקיים שאסורים לפי
טפסים – סעיף 17.13.4.1.
ה-API proxy ב-Apigee קורא את הפרמטרים הספציפיים של הטופס שמכילים תווים אסורים באמצעות מדיניות ExtractVariables או AssignMessage בזרימת הבקשה.
protocol.http.DuplicateHeader
קוד סטטוס של HTTP:
400 Bad Request
הודעת שגיאה:
Duplicate Header "{header_name}"
סיבה אפשרית:
השגיאה הזו מתרחשת אם כותרת HTTP ספציפית שלא יכולה להופיע יותר מפעם אחת ב-Apigee, מופיעה יותר מפעם אחת עם ערכים זהים או שונים כחלק מבקשת ה-HTTP שנשלחת מאפליקציית הלקוח אל Apigee.
Header {header_name} contains invalid character {character}
סיבה אפשרית:
השגיאה הזו מתרחשת אם שם הכותרת שנשלח כחלק מבקשת ה-HTTP על ידי אפליקציית הלקוח אל Apigee מכיל תווים לא תקינים כמו סימן שווה (=), פסיק (,), נקודה ופסיק (;), Tab, CRLF ותו שורה חדשה.
חשוב לוודא שהנתיב בכתובת ה-URL של בקשת ה-HTTP שנשלחת מאפליקציית הלקוח אל Apigee לא מכיל תווים שלא מותרים לפי
RFC 3986, סעיף 3.3: נתיב.
protocol.http.MessageReadError
קוד סטטוס של HTTP:
502 Bad Gateway
הודעת שגיאה:
Unexpected I/O after message headers have been read.
סיבה אפשרית:
השגיאה הנדירה הזו מתרחשת כש-MP מקבל קלט/פלט בערוץ כשהוא לא מצפה לכך. ה-MP קורא בקשה, קרא את כל הכותרות ומוגדר לקרוא את מטען הבקשה. אחר כך המערכת נתקלת באירוע קלט/פלט
שנראה שמתייחס לאותם כותרים.
תיקון
כדי לקבל מידע נוסף על מה שקורה, מאתרים את הודעת היומן.
logger.atSevere().log(
"Unexpected I/O after message headers have been read. Channel diagnostics=%s."
+ " HeartBeat=%s",
input.client().getDiagnostic(), message.getHeaders().isHeartBeat());
protocol.http.NoResolvedHost
קוד סטטוס של HTTP:
503 Service Unavailable
הודעת שגיאה:
Unable to resolve host {hostname}
כאשר: {hostname} הוא דינמי והערך שלו ישתנה בהתאם לשם המארח שצוין.
הסיבה:
TARGET_CONNECT_HOST_NOT_REACHABLE
סיבה אפשרית:
השגיאה הזו מתרחשת אם מארח שרת היעד שצוין שגוי או מכיל תווים לא רצויים (כמו רווח).
protocol.http.TooBigBody
קוד סטטוס של HTTP:
413 Request Entity Too Large
הודעת שגיאה:
Body buffer overflow
סיבה אפשרית:
השגיאה הזו מתרחשת אם גודל מטען הייעודי (payload) שנשלח על ידי אפליקציית הלקוח כחלק מ
בקשת HTTP אל Apigee גדול מהמגבלה המותרת ב-Apigee.
השגיאה הזו מתרחשת אם הכותרת Content-Encoding שנשלחת על ידי הלקוח כחלק מתגובת ה-HTTP מכילה קידוד או פורמט מטען ייעודי (payload) שלא נתמכים על ידי Apigee.
השגיאה הזו מתרחשת אם כתובת ה-URL של הבקשה של השרת העורפי, שמיוצגת על ידי משתנה הזרימה target.url, מכילה נתיב שמתחיל בסימן שאלה (?) במקום בקו נטוי (/), וזה לא תקין.
השגיאה הזו מתרחשת אם כותרת HTTP ספציפית שאסור להכיל כפילויות ב-Apigee מופיעה יותר מפעם אחת עם ערכים זהים או שונים כחלק מתגובת ה-HTTP שנשלחת משרת הקצה העורפי אל Apigee.
Header {header_name} contains invalid character {character}
סיבה אפשרית:
השגיאה הזו מתרחשת אם שם הכותרת שנשלח על ידי שרת הקצה העורפי כחלק מתגובת ה-HTTP,
מכיל תווים לא תקינים כמו סימן שווה (=), פסיק (,), נקודה ופסיק (;), טאב,
CRLF ותו מעבר שורה.
Proxy refused to create tunnel with response status {status code}
סיבה אפשרית:
השגיאה הזו מתרחשת במהלך יצירת המנהרה בין Apigee לבין
שרת הבק-אנד על ידי שרת ה-proxy, בגלל חומת אש, ACL (רשימה של בקרת גישה), בעיות ב-DNS, זמינות של שרת הבק-אנד וכו'.
הערה:קוד הסטטוס בהודעת השגיאה
(faultstring) מציין את הסיבה העיקרית לבעיה.
protocol.http.Response306Reserved
קוד סטטוס של HTTP:
502 Bad Gateway
הודעת שגיאה:
Response Status code 306 is reserved, so can't be used.
סיבה אפשרית:
השגיאה הזו מתרחשת אם שרת הקצה העורפי הגיב ל-Apigee עם קוד סטטוס 306.
קוד הסטטוס 306 הוגדר בגרסה קודמת של מפרט ה-HTTP. בהתאם למפרט HTTP הנוכחי, הקוד הזה שמור ואין להשתמש בו.
השגיאה הזו מתרחשת אם תגובת ה-HTTP משרת ה-Backend אל Apigee היא 204 No Content או 205 Reset Content, אבל היא מכילה את גוף התגובה או אחת או יותר מהכותרות הבאות:
השגיאה הזו מתרחשת אם הכותרת Content-Encoding שנשלחת על ידי שרת בק-אנד כחלק מתגובת HTTP מכילה את פורמט הקידוד או המטען הייעודי (payload) שלא נתמך על ידי Apigee.
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name}
סיבה אפשרית:
השגיאה הזו מתרחשת אם לא נמצא ב-מאגר המפתחות הספציפי KeyAlias מסוים שאליו יש הפניה ב-TargetEndpoint או ב-TargetServer.
תיקון
מוודאים ש-KeyAlias שצוין ב-TargetEndpoint או ב-TargetServer
קיים והוא חלק ממאגר המפתחות הספציפי.
security.util.TrustStoreWithNoCertificates
קוד סטטוס של HTTP:
500 Internal Server Error
הודעת שגיאה:
TrustStore {truststore_name} has no certificates
סיבה אפשרית:
השגיאה הזו מתרחשת אם מאגר האישורים הספציפי שאליו יש הפניה ב-TargetEndpoint או ב-TargetServer לא מכיל אישורים.
תיקון
אם רוצים לאמת את האישור של שרת הקצה העורפי ולהשתמש ב-Truststore ב-TargetEndpoint או ב-TargetServer, צריך לוודא ש-Truststore מכיל אישורים תקפים של שרת הקצה העורפי.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-10 (שעון UTC)."],[],[]]