Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
InvalidProtocol
Messaggio di errore
Il deployment di un proxy API tramite la UI o l'API di gestione perimetrale non va a buon fine e viene restituito 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 su TLS/SSL, è supportato solo TCP.
Ad esempio, il deployment del proxy API non riesce e genera questo errore se specifichi HTTP nell'elemento <Protocol>
del criterio MessageLogging come mostrato di seguito:
<Protocol>HTTP</Protocol>
Diagnosi
Identifica il criterio MessageLogging 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 MessageLogging non riuscita, controlla se il protocollo specificato all'interno dell'elemento
<Protocol>
è valido. Se viene specificato un protocollo non valido, questo è 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 va a buon fine e viene restituito l'errore:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Risoluzione
Assicurati che il protocollo definito nell'elemento <Protocol>
del criterio MessageLogging sia valido. <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 la UI o l'API di gestione perimetrale non va a buon fine e viene restituito 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 MessageLogging 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>
viene dichiarato come mostrato di seguito, il deployment del proxy API non va a buon fine:
<Port>0</Port>
Diagnosi
Identifica il criterio MessageLogging 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 MessageLogging non riuscito, controlla se è stato specificato un numero di porta valido all'interno dell'elemento
<Port>
. Se il numero di porta non è definito o non è valido, ciò è 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 e viene restituito l'errore:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Risoluzione
Assicurati che sia definito un numero di porta nell'elemento <Port>
del criterio MessageLogging. 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>