מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
InvalidProtocol
הודעת שגיאה
הפריסה של שרת proxy ל-API דרך ממשק המשתמש של Edge או Edge Management API נכשלה ומופיעה הודעת השגיאה הבאה:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
הודעת שגיאה לדוגמה
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
צילום מסך לדוגמה
הסיבה
הפריסה של מדיניות מדיניות MessageLogging עלולה להיכשל עם השגיאה הזו, אם הפרוטוקול שצוין ברכיב <Protocol>
אינו חוקי. הפרוטוקולים החוקיים הם TCP ו-UDP. לשליחת הודעות Syslog באמצעות TLS/SSL, יש תמיכה רק ב-TCP.
לדוגמה, הפריסה של שרת ה-proxy ל-API נכשלת עם השגיאה הזו אם מציינים HTTP ברכיב <Protocol>
של מדיניות MessageLogging באופן הבא:
<Protocol>HTTP</Protocol>
אבחון
מזהים את מדיניות MessageLogging שבה אירעה השגיאה. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
LogToSyslog:
.Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
בהגדרה של מדיניות MessageLogging שנכשלה, בודקים אם הפרוטוקול שצוין ברכיב
<Protocol>
חוקי. אם צוין פרוטוקול לא חוקי, זו הסיבה לשגיאה.לדוגמה, המדיניות הבאה מציינת פרוטוקול לא חוקי.
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog" Syslog Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e < Hostlog>s-01<.loggly.c>om/Ho<st Port51>4/Po<rt Protoco>lHT<TP/Prot>oco<l Fo>rmatM<essagetru>e</FormatMessage >
/Syslog logLevelALERT/logLevel /MessageLoggingמכיוון שהפרוטוקול שהוגדר ברכיב
<Protocol>
אינו חוקי, הפריסה של שרת ה-proxy ל-API נכשלה ומוצגת השגיאה:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
רזולוציה
חשוב לוודא שהפרוטוקול שהוגדר ברכיב <Protocol>
של מדיניות MessageLogging תקין. <Protocol>
הרכיב תומך בערכים הבאים:
- TCP
- UDP
כדי לתקן את הדוגמה שלמעלה, מגדירים פרוטוקול חוקי בתוך הרכיב <Protocol>
:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
Syslog
Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
< Hostlog>s-0<1.loggly.>com/H<ost
Port5>14/P<ort
Protoc>olT<CP/Prot>oco<l
Fo>rmatM<essagetru>e</FormatMessage
>
/Syslog
logLevelALERT/logLevel
/MessageLogging
InvalidPort
הודעת שגיאה
הפריסה של שרת proxy ל-API דרך ממשק המשתמש של Edge או Edge Management API נכשלה ומופיעה הודעת השגיאה הבאה:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
הודעת שגיאה לדוגמה
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
צילום מסך לדוגמה
סיבה
הפריסה של מדיניות MessageLogging עלולה להיכשל עם השגיאה הזו אם מספר היציאה לא צוין ברכיב <Port>
או אם הוא אינו חוקי. מספר היציאה חייב להיות מספר שלם שגדול מאפס.
לדוגמה, אם הוצהר על הרכיב <Port>
כמו שמוצג בהמשך, הפריסה של שרת ה-proxy ל-API נכשלת:
<Port>0</Port>
אבחון
מזהים את מדיניות MessageLogging שבה אירעה השגיאה. אפשר למצוא את המידע הזה בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
LogToSyslog:
.Invalid Port: 0 for Syslog handler in policy LogToSyslog.
במדיניות של MessageLogging שנכשלה, בודקים אם צוין מספר יציאה חוקי ברכיב
<Port>
. אם מספר היציאה לא מוגדר או שאינו חוקי, זו הסיבה לשגיאה.לדוגמה, המדיניות הבאה מציינת מספר יציאה לא חוקי:
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"? Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog" Syslog Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>.</Mess>age < Hostl>ogs<-01.loggl>y.com</Host Por>t0/P<ort Protoc>olT<CP/Prot>oco<l Fo>rmatM<essagetru>e</FormatMessage >
/Syslog logLevelALERT/logLevel /MessageLoggingמספר היציאה שמוגדר ברכיב
<Port>
לא תקין, ולכן הפריסה של שרת ה-proxy ל-API נכשלה ומוצגת השגיאה:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
רזולוציה
יש לוודא שמספר יציאה מוגדר ברכיב <Port>
של מדיניות MessageLogging. הערך צריך להיות מספר שלם שגדול מאפס.
כדי לתקן את הדוגמה שלמעלה, צריך להגדיר מספר יציאה חוקי בתוך הרכיב <Protocol>
.
<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
Mes>sag<eLoggi>ng na<me=&quo>t;LogToSyslog"
Syslog
Message[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"]< Weather> requ<est >for WOEID {request<.quer>ypara<m.w}>./M<essag>e
< Hostlog>s-0<1.loggly.>com/H<ost
Port5>14/P<ort
Protoc>olT<CP/Prot>oco<l
Fo>rmatM<essagetru>e</FormatMessage
>
/Syslog
logLevelALERT/logLevel
/MessageLogging