解碼 JWT 政策部署錯誤

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

InvalidEmptyElement

錯誤訊息

無法透過 Edge UI 或 Edge Management API 部署 API Proxy 錯誤訊息:

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

錯誤訊息示例

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

螢幕截圖範例

邊緣 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>