Solução de problemas de erro na implantação da política DecodeJWT

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

InvalidEmptyElement

Mensagem de erro

Falha na implantação do proxy de API pela interface do Edge ou pela API Edge Management por esta mensagem de erro:

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

Exemplo de mensagem de erro

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

Exemplo de captura de tela

Na interface do Edge, você verá uma caixa de diálogo com um erro:

Causa

Esse erro ocorre se a variável de fluxo que contém o JWT a ser decodificada não for especificada no elemento <Source> da política DecodeJWT.

Por exemplo, o erro ocorrerá se o elemento <Source> não contiver um valor, conforme mostrado abaixo:

<Source></Source>

Diagnóstico

  1. Identifique o nome da política DecodeJWT e o nome do elemento que está vazio na mensagem de erro. Por exemplo, na mensagem de erro a seguir, o nome da política DecodeJWT é Decode_JWT e o nome do elemento é Source.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. Analise a política de Decodificar JWT e verifique se o elemento identificado na Etapa 1 está vazio. Se o elemento estiver vazio, essa é a causa do erro.

    Veja um exemplo de política DecodeJWT:

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

    Como o elemento <Source> está vazio, você recebe o erro:

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

Resolução

Verifique se o elemento <Source> especifica um JWT válido em uma variável de fluxo.

Para corrigir o problema com a política de exemplo de decodificação de JWT, especifique a variável de fluxo que contém um JWT válido no elemento <Source>.

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