אתם צופים במסמכי התיעוד של Apigee ושל Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge.
InvalidProtocol
הודעת השגיאה
פריסת proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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.
לדוגמה, הפריסה של API Proxy נכשלת עם השגיאה הזו אם מציינים HTTP ברכיב <Protocol> של MessageLogging Policy, כמו בדוגמה הבאה:
<Protocol>HTTP</Protocol>
אבחון
מזהים את מדיניות MessageLogging שבה אירעה השגיאה. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, שם המדיניות הוא
LogToSyslog:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.בהגדרת המדיניות של MessageLogging שנכשלה, בודקים אם הפרוטוקול שצוין ברכיב
<Protocol>תקין. אם צוין פרוטוקול לא תקין, זו הסיבה לשגיאה.לדוגמה, במדיניות הבאה מצוין פרוטוקול לא תקין.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MessageLogging name="LogToSyslog"> <Syslog> <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message> <Host>logs-01.loggly.com</Host> <Port>514</Port> <Protocol>HTTP</Protocol> <FormatMessage>true</FormatMessage> </Syslog> <logLevel>ALERT</logLevel> </MessageLogging>הפריסה של ה-API Proxy נכשלת עם השגיאה: כי הפרוטוקול שהוגדר באלמנט
<Protocol>לא תקין.Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
רזולוציה
מוודאים שהפרוטוקול שמוגדר ברכיב <Protocol> של המדיניות MessageLogging הוא תקין. <Protocol>
במאפיין הזה אפשר להזין את הערכים הבאים:
- TCP
- UDP
כדי לתקן את הדוגמה שמוצגת למעלה, צריך להגדיר פרוטוקול תקין ברכיב <Protocol>:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
<Syslog>
<Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
<Host>logs-01.loggly.com</Host>
<Port>514</Port>
<Protocol>TCP</Protocol>
<FormatMessage>true</FormatMessage>
</Syslog>
<logLevel>ALERT</logLevel>
</MessageLogging>
InvalidPort
הודעת השגיאה
פריסת proxy ל-API דרך ממשק המשתמש או ה-API של Apigee נכשלת ומוצגת הודעת השגיאה הבאה:
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" standalone="yes"?> <MessageLogging name="LogToSyslog"> <Syslog> <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message> <Host>logs-01.loggly.com</Host> <Port>0</Port> <Protocol>TCP</Protocol> <FormatMessage>true</FormatMessage> </Syslog> <logLevel>ALERT</logLevel> </MessageLogging>מכיוון שמספר היציאה שמוגדר ברכיב
<Port>לא תקין, הפריסה של שרת ה-proxy של ה-API נכשלת עם השגיאה:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
רזולוציה
מוודאים שמספר היציאה מוגדר ברכיב <Port> של מדיניות MessageLogging. הערך חייב להיות מספר שלם שגדול מאפס.
כדי לתקן את הדוגמה שמוצגת למעלה, צריך להגדיר מספר יציאה תקין ברכיב <Protocol>.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MessageLogging name="LogToSyslog">
<Syslog>
<Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
<Host>logs-01.loggly.com</Host>
<Port>514</Port>
<Protocol>TCP</Protocol>
<FormatMessage>true</FormatMessage>
</Syslog>
<logLevel>ALERT</logLevel>
</MessageLogging>