Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
InvalidProtocol
Fehlermeldung
Die Bereitstellung eines API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Beispiel für Fehlermeldung
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Beispiel-Screenshot

Ursache
Die Bereitstellung der MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn das im <Protocol>-Element angegebene Protokoll nicht gültig ist. Gültige Protokolle sind TCP und UDP. Zum Senden von Syslog-Nachrichten über TLS/SSL wird nur TCP unterstützt.
Die Bereitstellung des API-Proxys schlägt beispielsweise mit diesem Fehler fehl, wenn Sie HTTP im Element <Protocol> der MessageLogging-Richtlinie wie unten gezeigt angeben:
<Protocol>HTTP</Protocol>
Diagnose
Ermitteln Sie die MessageLogging-Richtlinie, in der der Fehler aufgetreten ist. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise
LogToSyslog:.Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.Prüfen Sie in der Konfiguration der fehlgeschlagenen MessageLogging-Richtlinien, ob das im Element
<Protocol>angegebene Protokoll gültig ist. Wenn ein ungültiges Protokoll angegeben ist, ist dies die Ursache des Fehlers.Die folgende Richtlinie gibt beispielsweise ein ungültiges Protokoll an.
<?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>Da das im Element
<Protocol>definierte Protokoll ungültig ist, schlägt die Bereitstellung des API-Proxys mit dem folgenden Fehler fehl:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Lösung
Achten Sie darauf, dass das im Element <Protocol> der MessageLogging-Richtlinie definierte Protokoll gültig ist. Das Element <Protocol> unterstützt die folgenden Werte:
- TCP
- UDP
Um das obige Beispiel zu korrigieren, definieren Sie ein gültiges Protokoll im Element <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
Fehlermeldung
Die Bereitstellung eines API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Beispiel für Fehlermeldung
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Beispiel-Screenshot

Ursache
Die Bereitstellung der MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn die Portnummer nicht im Element <Port> angegeben oder ungültig ist. Die Portnummer muss eine Ganzzahl größer als null sein.
Wenn beispielsweise das Element <Port> wie unten gezeigt deklariert wird, schlägt die Bereitstellung des API-Proxys fehl:
<Port>0</Port>
Diagnose
Ermitteln Sie die MessageLogging-Richtlinie, in der der Fehler aufgetreten ist. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise
LogToSyslog:.Invalid Port: 0 for Syslog handler in policy LogToSyslog.In der fehlgeschlagenen MessageLogging-Richtlinie wird geprüft, ob im Element
<Port>eine gültige Portnummer angegeben ist. Wenn die Portnummer nicht definiert oder ungültig ist, ist dies die Ursache des Fehlers.Die folgende Richtlinie gibt beispielsweise eine ungültige Portnummer an:
<?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>Da die im
<Port>-Element definierte Portnummer ungültig ist, schlägt die Bereitstellung des API-Proxys mit dem folgenden Fehler fehl:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Lösung
Prüfen Sie, ob im Element <Port> der MessageLogging-Richtlinie eine Portnummer definiert ist. Sie muss eine Ganzzahl größer als null sein.
Zur Behebung des oben gezeigten Beispiels definieren Sie eine gültige Portnummer im Element <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>