Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
InvalidProtocol
Сообщение об ошибке
Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:
Error Saving Revision revision_number Invalid Protocol: invalid_protocol for Syslog handler in policy policy_name.
Пример сообщения об ошибке
Error Saving Revision 4
Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Пример скриншота

Cause
Развертывание правила MessageLogging может завершиться с этой ошибкой, если протокол, указанный в элементе <Protocol>, недопустим. Допустимые протоколы – TCP и UDP. Для отправки сообщений syslog по протоколу TLS/SSL поддерживается только TCP.
Например, развертывание прокси API завершится с этой ошибкой, если вы укажете HTTP в элементе <Protocol> правила MessageLogging Policy, как показано ниже:
<Protocol>HTTP</Protocol>
Диагностика
Определите правило MessageLogging, в котором произошла ошибка. Эта информация есть в сообщении об ошибке. Например, в приведенном ниже сообщении об ошибке название правила –
LogToSyslog:.Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.В конфигурации правил MessageLogging, которая не прошла проверку, убедитесь, что протокол, указанный в элементе
<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>HTTP</Protocol> <FormatMessage>true</FormatMessage> </Syslog> <logLevel>ALERT</logLevel> </MessageLogging>Поскольку протокол, определенный в элементе
<Protocol>, недопустим, развертывание прокси API завершается неудачно с ошибкой:Invalid Protocol: HTTP for Syslog handler in policy LogToSyslog.
Разрешение
Убедитесь, что протокол, определенный в элементе <Protocol> правила MessageLogging, действителен. Элемент <Protocol> поддерживает следующие значения:
- TCP
- UDP
Чтобы исправить приведенный выше пример, укажите допустимый протокол в элементе <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
Сообщение об ошибке
Развертывание прокси-сервера API через интерфейс Edge или API управления Edge завершается неудачно с сообщением об ошибке:
Error Saving Revision revision_number Invalid Port: 0 for Syslog handler in policy policy_name.
Пример сообщения об ошибке
Error Saving Revision 4
Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Пример скриншота

Причина
Развертывание правила MessageLogging может завершиться неудачно с этой ошибкой, если номер порта не указан в элементе <Port> или является недопустимым. Номер порта должен быть целым числом больше нуля.
Например, если элемент <Port> объявлен так, как показано ниже, развертывание прокси-сервера API завершится неудачно:
<Port>0</Port>
диагностика;
Определите правило MessageLogging, в котором произошла ошибка. Эту информацию можно найти в сообщении об ошибке. Например, в приведенном ниже сообщении об ошибке название правила –
LogToSyslog:.Invalid Port: 0 for Syslog handler in policy LogToSyslog.В правиле MessageLogging, которое не удалось применить, проверьте, указан ли действительный номер порта в элементе
<Port>. Если номер порта не задан или указан неправильно, это и будет причиной ошибки.Например, в следующем правиле указан недействительный номер порта:
<?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>Поскольку номер порта, определенный в элементе
<Port>, является недействительным, развертывание прокси API завершается неудачно с ошибкой:Invalid Port: 0 for Syslog handler in policy LogToSyslog.
Разрешение
Убедитесь, что в элементе <Port> политики MessageLogging определен номер порта. Это должно быть целое число больше нуля.
Чтобы исправить пример, приведенный выше, укажите действительный номер порта в элементе <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>