Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
InvalidProtocol
Messaggio di errore
Il deployment di un proxy API tramite l'UI o l'API di gestione perimetrale non riesce e genera 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 nell'elemento <Protocol>
non è valido. I protocolli validi sono TCP e UDP. Per l'invio di messaggi syslog su TLS/SSL è supportato solo il protocollo TCP.
Ad esempio, il deployment del proxy API non riesce con 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 dei criteri di MessageLogging non riuscita, controlla se il protocollo specificato nell'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 nell'elemento
<Protocol>
non è valido, il deployment del proxy API non riesce e restituisce 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. L'elemento <Protocol>
supporta i seguenti valori:
- TCP
- UDP
Per correggere l'esempio mostrato sopra, definisci un protocollo valido nell'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'UI o l'API di gestione perimetrale non riesce e genera 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ò avere esito negativo se il numero di porta non è specificato nell'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>
Diagnostica
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 nell'elemento
<Port>
. Se il numero di porta non è definito o non è valido, è questo il motivo 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 nell'elemento
<Port>
non è valido, il deployment del proxy API non riesce e restituisce 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 nell'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>