Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
InvalidProtocol
Mensagem de erro
A implementação de um proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Exemplo de mensagem de erro
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Captura de ecrã de exemplo
Causa
A implementação da política MessageLogging policy pode falhar com este erro se o protocolo especificado no elemento <Protocol>
não for válido. Os protocolos válidos são TCP e UDP. Para enviar mensagens syslog através de TLS/SSL, apenas o TCP é suportado.
Por exemplo, a implementação do proxy de API falha com este erro se especificar HTTP no elemento <Protocol>
da política MessageLogging, conforme mostrado abaixo:
<Protocol>HTTP</Protocol>
Diagnóstico
Identifique a política MessageLogging onde ocorreu o erro. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
LogToSyslog:
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Na verificação da configuração da política MessageLogging com falha, verifique se o protocolo especificado no elemento
<Protocol>
é válido. Se for especificado um protocolo inválido, essa é a causa do erro.Por exemplo, a seguinte política especifica um protocolo invá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>
Uma vez que o protocolo definido no elemento
<Protocol>
é inválido, a implementação do proxy de API falha com o erro:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Resolução
Certifique-se de que o protocolo definido no elemento <Protocol>
da política MessageLogging é válido. O elemento <Protocol>
suporta os seguintes valores:
- TCP
- UDP
Para corrigir o exemplo apresentado acima, defina um protocolo válido no 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
Mensagem de erro
A implementação de um proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Exemplo de mensagem de erro
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Captura de ecrã de exemplo
Causa
A implementação da política MessageLogging pode falhar com este erro se o número da porta não for especificado no elemento <Port>
ou se não for válido. O número da porta tem de ser um número inteiro superior a zero.
Por exemplo, se o elemento <Port>
for declarado conforme mostrado abaixo, a implementação do proxy da API falha:
<Port>0</Port>
Diagnóstico
Identifique a política MessageLogging onde ocorreu o erro. Pode encontrar estas informações na mensagem de erro. Por exemplo, no seguinte erro, o nome da política é
LogToSyslog:
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Na verificação da política MessageLogging com falhas, verifique se é especificado um número de porta válido no elemento
<Port>
. Se o número da porta não estiver definido ou for inválido, essa é a causa do erro.Por exemplo, a política seguinte especifica um número de porta invá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>
Uma vez que o número de porta definido no elemento
<Port>
é inválido, a implementação do proxy de API falha com o erro:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Resolução
Certifique-se de que é definido um número de porta no elemento <Port>
da política MessageLogging. Tem de ser um número inteiro superior a zero.
Para corrigir o exemplo apresentado acima, defina um número de porta válido no 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>