Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
InvalidProtocol
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Przykładowy komunikat o błędzie
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Przykładowy zrzut ekranu
Przyczyna
Wdrożenie zasady MessageLogging może się nie powieść z powodu tego błędu, jeśli protokół określony w elemencie <Protocol>
jest nieprawidłowy. Prawidłowe protokoły to TCP i UDP. W przypadku wysyłania komunikatów syslog przez TLS/SSL obsługiwany jest tylko protokół TCP.
Na przykład wdrożenie serwera proxy interfejsu API nie powiedzie się, jeśli określisz protokół HTTP w elemencie <Protocol>
zasady MessageLogging, jak pokazano poniżej:
<Protocol>HTTP</Protocol>
Diagnoza
Zidentyfikuj zasadę MessageLogging, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady to
LogToSyslog:
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
W błędnej konfiguracji zasady MessageLogging sprawdź, czy protokół określony w elemencie
<Protocol>
jest prawidłowy. Jeśli określono nieprawidłowy protokół, to jest przyczyną błędu.Na przykład poniższe zasady określają nieprawidłowy protokół.
<?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>
Ponieważ protokół zdefiniowany w elemencie
<Protocol>
jest nieprawidłowy, podczas wdrażania serwera proxy interfejsu API występuje błąd:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Rozdzielczość
Sprawdź, czy protokół zdefiniowany w elemencie <Protocol>
zasady MessageLogging jest prawidłowy. Element <Protocol>
obsługuje te wartości:
- TCP
- UDP
Aby poprawić przykład opisany powyżej, zdefiniuj prawidłowy protokół w elemencie <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
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Przykładowy komunikat o błędzie
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Przykładowy zrzut ekranu
Przyczyna
Wdrożenie zasady MessageLogging może się nie powieść z tym błędem, jeśli numer portu nie został określony w elemencie <Port>
lub jest nieprawidłowy. Numer portu musi być liczbą całkowitą większą od zera.
Jeśli na przykład element <Port>
został zadeklarowany w sposób pokazany poniżej, wdrożenie serwera proxy interfejsu API nie powiedzie się:
<Port>0</Port>
Diagnostyka
Zidentyfikuj zasadę MessageLogging, w której wystąpił błąd. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasady to
LogToSyslog:
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
W nieudanej zasadzie MessageLogging sprawdź, czy w elemencie
<Port>
podano prawidłowy numer portu. Jeśli numer portu nie jest zdefiniowany lub jest nieprawidłowy, to jest przyczyną błędu.Na przykład ta zasada określa nieprawidłowy numer portu:
<?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>
Ponieważ numer portu zdefiniowany w elemencie
<Port>
jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiodło się i występuje błąd:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Rozdzielczość
Sprawdź, czy numer portu jest zdefiniowany w elemencie <Port>
zasady MessageLogging. Musi to być liczba całkowita większa od zera.
Aby poprawić powyższy przykład, zdefiniuj prawidłowy numer portu w elemencie <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>