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>