Vous consultez la documentation d'Apigee et d'Apigee hybrid.
Consultez la documentation d'Apigee Edge.
InvalidProtocol
Message d'erreur
Le déploiement d'un proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue et renvoie le message d'erreur suivant :
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Exemple de message d'erreur
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Exemple de capture d'écran
Cause
Le déploiement de la règle MessageLogging peut échouer et renvoyer cette erreur si le protocole spécifié dans l'élément <Protocol>
n'est pas valide. Les protocoles valides sont TCP et UDP. Pour l'envoi de messages syslog via TLS/SSL, seul TCP est accepté.
Par exemple, le déploiement du proxy d'API échoue avec cette erreur si vous spécifiez HTTP dans l'élément <Protocol>
de la règle MessageLogging, comme indiqué ci-dessous :
<Protocol>HTTP</Protocol>
Diagnostic
Identifiez la règle MessageLogging où l'erreur s'est produite. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
LogToSyslog:
:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Lors de la vérification de la configuration de la règle MessageLogging défaillante, vérifiez si le protocole spécifié dans l'élément
<Protocol>
est valide. Si un protocole invalide est spécifié, il s'agit de la cause de l'erreur.Par exemple, la règle suivante spécifie un protocole invalide.
<?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>
Comme le protocole défini dans l'élément
<Protocol>
est invalide, le déploiement du proxy d'API échoue et renvoie l'erreur suivante :Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Solution
Assurez-vous que le protocole défini dans l'élément <Protocol>
de la règle MessageLogging est valide. L'élément <Protocol>
accepte les valeurs suivantes :
- TCP
- UDP
Pour corriger l'exemple ci-dessus, définissez un protocole valide dans l'élément <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
Message d'erreur
Le déploiement d'un proxy d'API par le biais de l'interface utilisateur ou l'API Apigee échoue et renvoie le message d'erreur suivant :
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Exemple de message d'erreur
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Exemple de capture d'écran
Cause
Le déploiement de la règle MessageLogging peut échouer et renvoyer cette erreur si le numéro de port n'est pas spécifié dans l'élément <Port>
ou s'il n'est pas valide. Le numéro de port doit être un entier supérieur à zéro.
Par exemple, si l'élément <Port>
est déclaré comme indiqué ci-dessous, le déploiement du proxy d'API échoue :
<Port>0</Port>
Diagnostic
Identifiez la règle MessageLogging où l'erreur s'est produite. Vous trouverez cette information dans le message d'erreur. Par exemple, dans l'erreur suivante, le nom de la règle est
LogToSyslog:
:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Dans la règle défaillante, vérifiez si un numéro de port valide est spécifié dans l'élément
<Port>
. Si le numéro de port n'est pas défini ou est invalide, il s'agit de la cause de l'erreur.Par exemple, la règle suivante spécifie un numéro de port invalide :
<?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>
Comme le numéro de port défini dans l'élément
<Port>
est invalide, le déploiement du proxy d'API échoue avec l'erreur suivante :Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Solution
Assurez-vous qu'un numéro de port est défini dans l'élément <Port>
de la règle MessageLogging. La valeur doit être un nombre entier supérieur à zéro.
Pour corriger l'exemple présenté ci-dessus, définissez un numéro de port valide dans l'élément <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>