Key Value Map Operations ポリシーのデプロイエラーのトラブルシューティング

InvalidIndex

エラー メッセージ

Edge UI または Edge 管理 API を使用した API プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。

    Error Saving Revision revision_number
    Invalid index index in KeyValueMapStepDefinition policy_name.
    

エラー メッセージの例

Error Saving Revision 2
    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
    

エラーのスクリーンショットの例

原因

Key Value Map Operations ポリシーの <Get> 要素で指定された index 属性がゼロまたは負の数である場合、API プロキシのデプロイは失敗します。インデックスは 1 から始まるため、ゼロまたは負の整数のインデックスは無効と見なされます。

たとえば、Key Value Map Operations ポリシーの <Get> 要素に指定されている index0 の場合、API プロキシのデプロイは失敗します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーと無効なインデックスを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、ポリシー名は GetKVM で、無効なインデックスは 0 です。

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.

  2. 失敗した Key Value Map Operations ポリシーの <Get> 要素で指定されたインデックスの値が、エラー メッセージで特定された値(上記のステップ 1)と一致することを確認します。たとえば、次のポリシーではインデックスの値を 0 として指定しており、これはエラー メッセージの内容と一致します。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
            <DisplayName>GetKVM</DisplayName>
            <ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
            <Scope>environment</Scope>
            <Get assignTo="foo_variable" index="0">
                <Key>
                    <Parameter>FooKey_1</Parameter>
                </Key>
            </Get>
        </KeyValueMapOperations>
        
  3. 指定されたインデックスがゼロまたは負の整数の場合、それがエラーの原因です。

    上記の Key Value Map Operations ポリシーの例では、インデックスの値は 0 で無効です。したがって、API プロキシのデプロイは次のエラーで失敗します。

    Invalid index 0 in KeyValueMapStepDefinition GetKVM.
        

解決策

Key Value Map Operations ポリシーの <Get> 要素で指定されたインデックス属性が有効であるようにします(ゼロでも負の整数でもない整数)。

上記の Key Value Map Operations ポリシーの例を修正するには、インデックスを 1 に変更します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <KeyValueMapOperations mapIdentifier="FooKVM" async="false" continueOnError="false" enabled="true" name="GetKVM">
        <DisplayName>GetKVM</DisplayName>
        <ExpiryTimeInSecs>86400</ExpiryTimeInSecs>
        <Scope>environment</Scope>
        <Get assignTo="foo_variable" index="1">
            <Key>
                <Parameter>FooKey_1</Parameter>
            </Key>
        </Get>
    </KeyValueMapOperations>
    

KeyIsMissing

エラー メッセージ

Edge UI または Edge 管理 API を使用した API プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。

    Error Saving Revision revision_number
    Error occurred while validation of bean policy_name.xml
    Reason: - Non null value expected for element Parameter in Entry.
    

エラー メッセージの例

Error Saving Revision 3
    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
    

エラーのスクリーンショットの例

原因

このエラーは、Key Value Map Operations ポリシーの <InitialEntries> 要素の <Entry> の下で、<Key> 要素が完全に欠落しているか、<Key> 要素内の <Parameter> 要素が欠落している場合に発生します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、Key Value Map Operations ポリシーの名前は GetKVM です。

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Parameter in Entry
        
  2. 失敗した Key Value Map Operations ポリシーで、<Key> 要素または <Parameter> 要素が欠落した <Entry> 要素が <InitialEntries> の下にないか確認します。

    <Key> 要素内に <Parameter> 要素がない Key Value Map Operations ポリシーの例を次に示します。

    <?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
        KeyValueMapOperations async="false" continueOnError="false" e>nabled=&q<uot;true&qu>ot; na<me="Get>KVM"< mapIdentif>ier="<;FooKVM"
    >     <   DisplayNameG>etKVM/Dis<playName
           > Pr<operties/
           > Exclusiv<eCachefalse/Ex>clusiveCache
    <     >   ExpiryTimeInSe<cs30>0/ExpiryTimeInSec<s
       >  <   Ini>tialEntries
     <      >     Entry
      <     >         Key/
       <   >          Valuev1/Val<ue
          >  <    /Entry>
                Entr<y
      >              Key<
        >  <      >        Param<eterk2>/Paramete<r
                 >   /Key
                    Valuev2/Value
                /Entry
            /InitialEntries
        

    この場合、最初の要素が問題の原因となっています。

解決策

Key Value Map Operations ポリシーの <InitialEntries> 要素の下にあるすべての <Entry> 要素に <Key> 要素が含まれ、その後に <Parameter> 要素が含まれるようにします。

上記の Key Value Map Operations ポリシーの例を修正するには、<Parameter> 要素を追加して問題を解決します。

<?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
    KeyValueMapOperations async="false" continueOnError="false" e>nabled=&q<uot;true&qu>ot; na<me="Get>KVM"< mapIdentif>ier="<;FooKVM"
>     <   DisplayNameG>etKVM/Dis<playName
       > Pr<operties/
       > Exclusiv<eCachefalse/Ex>clusiveCache
<     >   ExpiryTimeInSe<cs3>00/ExpiryTimeInSecs
 <       In>it<ialEntries>
            Entr<y
  >              Key<
    >  <      >        Param<eterk1>/Parameter
  <     >         /Key
   <   >          Valuev1/Val<ue
      >  <    /Entry>
            Entr<y
  >              Key<
    >  <      >        Param<eterk2>/Paramete<r
             >   /Key
                Valuev2/Value
            /Entry
        /InitialEntries
        ...
    

ValueIsMissing

エラー メッセージ

Edge UI または Edge 管理 API を使用した API プロキシのデプロイに失敗し、次のエラー メッセージが表示されます。

    Error Saving Revision revision_number
    Error occurred while validation of bean policy_name.xml. Reason: - Non null value expected for element Value in Entry.
    

エラー メッセージの例

Error Saving Revision 3
    Error occurred while validation of bean GetKVM.xml.Reason: - Non null value expected for element Value in Entry
    

エラーのスクリーンショットの例

原因

このエラーは、Key Value Map Operations ポリシーの <InitialEntries> 要素の <Entry> 要素の下に <Value> 要素がない場合に発生します。

診断

  1. エラーが発生した Key Value Map Operations ポリシーを特定します。この情報はエラー メッセージから見つけることができます。たとえば、次のエラーでは、Key Value Map Operations ポリシーの名前は GetKVM です。

    Error occurred while validation of bean GetKVM.xml. Reason: - Non null value expected for element Value in Entry
        
  2. 失敗した Key Value Map Operations ポリシーで、<Value> 要素が欠落した <Entry> 要素が <InitialEntries> の下にないか確認します。

    <Value> 要素がない Key Value Map Operations ポリシーの例を次に示します。

    <?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
        KeyValueMapOperations async="false" continueOnError="false" enabled=&q>uot;true&<quot; name=>"G<etKVM" >mapIdenti<fier=">testNotEn<crypte"
     >     <  DisplayNameGe>tKVM3/Dis<playName
           > Pr<operties/
           > Exclusiv<eCachefalse/Ex>clusiveCache
    <     >   ExpiryTimeInSe<cs3>00/ExpiryTimeInSecs
     <       In>it<ialEntries>
                Entr<y
      >             < Key
     >             <     > Parameterk1/Para<met>er
                    /K<ey
          >  <    /Entry>
                Entr<y
      >              Key<
        >  <      >        Param<eterk2>/Paramete<r
                 >   /Key
                    Valuev2/Value
                /Entry
            /InitialEntries
            ...
    
        

解決策

Key Value Map Operations ポリシーの <InitialEntries> 要素の下にあるすべての <Entry> 要素が <Value> 要素を含むようにします。

上記の Key Value Map Operations ポリシーの例を修正するには、<Value> 要素を追加して問題を解決します。

<?xml version="1.0" encoding="UTF-8&quo>t; st<andalone="yes"?
    KeyValueMapOperations async="false" continueOnError="false" enabled=&q>uot;true&<quot; name=>"G<etKVM" >mapIdenti<fier=">testNotEn<crypte"
 >     <  DisplayNameGe>tKVM3/Dis<playName
       > Pr<operties/
       > Exclusiv<eCachefalse/Ex>clusiveCache
<     >   ExpiryTimeInSe<cs3>00/ExpiryTimeInSecs
 <       In>it<ialEntries>
            Entr<y
  >              Key<
    >  <      >        Param<eterk1>/Parameter
  <     >         /Key
   <   >          Valuev1/Val<ue
      >  <    /Entry>
            Entr<y
  >              Key<
    >  <      >        Param<eterk2>/Paramete<r
             >   /Key
                Valuev2/Value
            /Entry
        /InitialEntries
        ...