Устранение ошибок развертывания политики DecodeJWT

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Инвалидпустойэлемент

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:

Error Saving Revision
Invalid empty element : policy(policy_name) element(Source)

Пример сообщения об ошибке

Error Saving Revision
Invalid empty element : policy(Decode_JWT) element(Source).

Пример скриншота

В пользовательском интерфейсе Edge вы увидите диалоговое окно с ошибкой:

Причина

Эта ошибка возникает, если переменная потока, содержащая JWT, который должен быть декодирован, не указана в элементе <Source> политики DecodeJWT.

Например, ошибка возникнет, если элемент <Source> не содержит значения, как показано ниже:

<Source></Source>

Диагностика

  1. Определите имя политики DecodeJWT и имя элемента, который пуст в сообщении об ошибке. Например, в следующем сообщении об ошибке имя политики DecodeJWT — Decode_JWT , а имя элемента — Source .

    Invalid empty element : policy(Decode_JWT) element(Source).
    
  2. Изучите политику DecodeJWT и убедитесь, что элемент, указанный на шаге 1, пуст. Если элемент пуст, то это и есть причина ошибки.

    Вот пример политики DecodeJWT:

    <DecodeJWT name="Decode_JWT">
        <DisplayName>JWT Decode HS256</DisplayName>
        <Source></Source>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    </DecodeJWT>
    

    Поскольку элемент <Source> пуст, вы получаете сообщение об ошибке:

    Invalid empty element : policy(Decode_JWT) element(Source).
    

Разрешение

Убедитесь, что элемент <Source> указывает допустимый JWT в переменной потока.

Чтобы устранить проблему с примером политики DecodeJWT, вы можете указать переменную потока, содержащую действительный JWT, в элементе <Source> .

<DecodeJWT name="Decode_JWT">
    <DisplayName>JWT Decode HS256</DisplayName>
    <Source>var.jwt</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</DecodeJWT>