Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
InvalidProtocol
Mensaje de error
La implementación de un proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Ejemplo de mensaje de error
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Captura de pantalla de ejemplo
Causa
La implementación de la política MessageLogging policy puede fallar con este error si el protocolo especificado en el elemento <Protocol>
no es válido. Los protocolos válidos son TCP y UDP. Para enviar mensajes syslog a través de TLS/SSL, solo se admite TCP.
Por ejemplo, la implementación del proxy de API falla con este error si especifica HTTP en el elemento <Protocol>
de la política MessageLogging, tal como se muestra a continuación:
<Protocol>HTTP</Protocol>
Diagnóstico
Identifica la política MessageLogging en la que se ha producido el error. Puede encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
LogToSyslog:
.Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
En la comprobación de la configuración de la política MessageLogging que ha fallado, comprueba si el protocolo especificado en el elemento
<Protocol>
es válido. Si se ha especificado un protocolo no válido, esa es la causa del error.Por ejemplo, la siguiente política especifica un protocolo no válido.
<?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>
Como el protocolo definido en el elemento
<Protocol>
no es válido, la implementación del proxy de API falla y se muestra el siguiente error:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Resolución
Comprueba que el protocolo definido en el elemento <Protocol>
de la política MessageLogging sea válido. El elemento <Protocol>
admite los siguientes valores:
- TCP
- UDP
Para corregir el ejemplo anterior, define un protocolo válido en el 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
Mensaje de error
La implementación de un proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Ejemplo de mensaje de error
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Captura de pantalla de ejemplo
Causa
La implementación de la política MessageLogging puede fallar con este error si el número de puerto no se especifica en el elemento <Port>
o si no es válido. El número de puerto debe ser un número entero mayor que cero.
Por ejemplo, si el elemento <Port>
se declara como se muestra a continuación, no se podrá implementar el proxy de API:
<Port>0</Port>
Diagnóstico
Identifica la política MessageLogging en la que se ha producido el error. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es
LogToSyslog:
.Invalid Port: 0 for Syslog handler in policy LogToSyslog.
En la política MessageLogging fallida, comprueba si se ha especificado un número de puerto válido en el elemento
<Port>
. Si el número de puerto no está definido o no es válido, esa es la causa del error.Por ejemplo, la siguiente política especifica un número de puerto no válido:
<?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>
Como el número de puerto definido en el elemento
<Port>
no es válido, la implementación del proxy de API falla y se produce el siguiente error:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Resolución
Asegúrate de que se haya definido un número de puerto en el elemento <Port>
de la política MessageLogging. Debe ser un número entero mayor que cero.
Para corregir el ejemplo anterior, define un número de puerto válido en el 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>