DecodeJWT 정책 배포 오류 문제 해결

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

InvalidEmptyElement

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패함 다음 오류 메시지가 표시됩니다.

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

오류 메시지 예시

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

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 디코딩할 JWT가 포함된 흐름 변수가 DecodeJWT 정책의 <Source> 요소에 지정되지 않은 경우에 발생합니다.

예를 들어 <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 정책 샘플의 문제를 해결하려면 <Source> 요소에서 유효한 JWT가 포함된 흐름 변수를 지정하면 됩니다.

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