Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
InvalidProtocol
Messaggio di errore
Il deployment di un proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con questo messaggio di errore:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Esempio di messaggio di errore
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Screenshot di esempio
Causa
Il deployment del criterio MessageLogging può non riuscire con questo errore se il protocollo specificato all'interno dell'elemento <Protocol>
non è valido. I protocolli validi sono TCP e UDP. Per l'invio di messaggi syslog tramite TLS/SSL, è supportato solo TCP.
Ad esempio, il deployment del proxy API non riesce con questo errore se specifichi HTTP nell'elemento <Protocol>
del criterio di registrazione dei messaggi, come mostrato di seguito:
<Protocol>HTTP</Protocol>
Diagnosi
Identifica il criterio di registrazione dei messaggi in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
LogToSyslog:
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Nella configurazione del criterio di logging dei messaggi non riuscito, controlla se il protocollo specificato all'interno dell'elemento
<Protocol>
è valido. Se è stato specificato un protocollo non valido, è questa la causa dell'errore.Ad esempio, il seguente criterio specifica un protocollo non valido.
<?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>
Poiché il protocollo definito all'interno dell'elemento
<Protocol>
non è valido, il deployment del proxy API non riesce con l'errore:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Risoluzione
Assicurati che il protocollo definito all'interno dell'elemento <Protocol>
del criterio di registrazione dei messaggi sia valido. L'elemento <Protocol>
supporta i seguenti valori:
- TCP
- UDP
Per correggere l'esempio mostrato sopra, definisci un protocollo valido all'interno dell'elemento <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
Messaggio di errore
Il deployment di un proxy API tramite l'API o l'interfaccia utente di Apigee non va a buon fine con questo messaggio di errore:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Esempio di messaggio di errore
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Screenshot di esempio
Causa
Il deployment del criterio di registrazione dei messaggi può non riuscire con questo errore se il numero di porta non è specificato all'interno dell'elemento <Port>
o se non è valido. Il numero di porta deve essere un numero intero maggiore di zero.
Ad esempio, se l'elemento <Port>
è dichiarato come mostrato di seguito, il deployment del proxy API non va a buon fine:
<Port>0</Port>
Diagnosi
Identifica il criterio di registrazione dei messaggi in cui si è verificato l'errore. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il nome del criterio è
LogToSyslog:
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Nel criterio di registrazione dei messaggi non riuscito, controlla se nell'elemento
<Port>
è specificato un numero di porta valido. Se il numero di porta non è definito o non è valido, è la causa dell'errore.Ad esempio, il seguente criterio specifica un numero di porta non valido:
<?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>
Poiché il numero di porta definito all'interno dell'elemento
<Port>
non è valido, il deployment del proxy API non va a buon fine con l'errore:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Risoluzione
Assicurati che un numero di porta sia definito all'interno dell'elemento <Port>
del criterio di registrazione dei messaggi. Deve essere un numero intero maggiore di zero.
Per correggere l'esempio mostrato sopra, definisci un numero di porta valido all'interno dell'elemento <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>