Değişkenleri Ayıklama politikası dağıtım hatasıyla ilgili sorunları giderme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

NothingToExtract

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory. Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

Örnek hata mesajı

Error Saving Revision 2
ExtractVariables EV-XML-Age: at least one of URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload is mandatory.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload öğelerinden hiçbirini içermiyorsa ayıklanacak bir şey olmadığından API Proxy'sinin dağıtımı başarısız olur.

Hata mesajında belirtildiği gibi, Değişkenleri Ayıklama politikası, politikaya şu öğelerden en az birini içermelidir: URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload.

Teşhis

Hata mesajında adı geçen Değişkenleri Ayıklama politikasını inceleyin. Politika şu öğelerden birini bile içermiyorsa: URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload, hatanın nedeni budur. Örneğin, aşağıdaki Değişkenleri Ayıklama politikası yukarıda belirtilen öğelerin hiçbirini içermez:

<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
    <DisplayName>EV-XML-Age</DisplayName>
    <Properties/>
</ExtractVariables>

Değişkenleri Ayıklama politikasında zorunlu öğelerin hiçbiri bulunmadığından API proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Değişkenleri Ayıklama politikasının şu zorunlu öğelerden en az birine sahip olduğundan emin olun: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload. Örneğin:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
  <DisplayName>EV-XML-Age</DisplayName>
  <Properties/>
  <Source>request</Source>
  <XMLPayload>
    <Namespaces/>
      <Variable name="age" type="integer">
          <XPath>/age</XPath>
      </Variable>
  </XMLPayload>
</ExtractVariables>

NONEmptyPrefixMappedToEmptyURI

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: Non-empty prefix [prefix_name] cannot be mapped to empty uri.

Örnek hata mesajı

Error Saving Revision 3
ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.

Örnek ekran görüntüsü

Neden

Bu hata, Değişkenleri Ayıklama Politikası, <XMLPayload> öğesinin altındaki <Namespace> öğesinde tanımlı bir öneke sahipse ancak URI tanımlı değilse ortaya çıkar.

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasını ve ön ekin adını tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı EV-XML-Age , önek de apigee şeklindedir:

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, <XMLPayload> öğesinin altındaki <Namespace> öğesinde ayarlanan ön ek adının, hata mesajında tanımlanan ön ek adıyla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki politika <Namespace> öğesinde , hata mesajındakiyle eşleşen apigee adlı bir önek belirtir:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="EV-XML-Age">
        <DisplayName>EV-XML-Age</DisplayName>
        <Source clearPayload="false">request</Source>
        <XMLPayload stopPayloadProcessing="false">
          <Namespaces>
            <Namespace prefix="apigee"></Namespace>
            <Namespace prefix="gmail">http://mail.google.com</Namespace>
          </Namespaces>
        <Variable name="legName" type="string">
        <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</Xpath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    
  3. 2. adımda tanımlanan belirli ön eke sahip <Namespace> öğesinin geçerli bir URI'ye sahip olup olmadığını doğrulayın. URI yoksa hatanın nedeni budur.

    Yukarıda gösterilen Değişkenleri Ayıklama politikasındaki örnekte apigee ön ekine sahip <Namespace> öğesine karşılık gelen bir URI olmadığına dikkat edin. Bu nedenle şu hatayı alırsınız:

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
    

Çözünürlük

Bir önekle tanımlanan tüm <Namespace> öğelerinin, Değişkenleri Ayıklama politikasında karşılık gelen bir URI'ye sahip olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age">
    Di<splayNa>meEV-<XML-Age/DisplayName
    Source clearPayl>oad=&<quot;false>"req<uest/Source
    XMLPayloa>d stopPayloadProcessi<ng="f>alse"<;
    Namespaces
       > Namespace prefix=&quo<t;apigee&q>uot;ht<tp://www.ap>igee.<com/Namespace
        Namespace prefi>x="g<mail&>quot;http://mail.google.com/Namespace
     /Namespaces<
    V>ariab<le name=&>quot;<legName&quo>t<; type="stri>ng"
        XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/Xpath
    /Variable
    /XMLPayload
/ExtractVariables

DuplicatePrefix

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: Duplicate prefix [prefix_name].

Örnek hata mesajı

Error Saving Revision 2
ExtractVariables EV-XML-Age: Duplicate prefix apigee.

Örnek ekran görüntüsü

Neden

Bu hata, Değişkenleri Ayıklama Politikası'ndaki aynı ön ek <XMLPayload> öğesi altındaki <Namespace> öğesinde birden fazla kez tanımlanmışsa ortaya çıkar.

Örneğin, bu hata, apigee öneki aşağıda gösterildiği gibi iki kez tanımlandığından ortaya çıkar:

<Namespace prefix="ap>igee"http://www.<apigee.com>/<Namespace
Namespace prefi>x="apigee"h<ttp://www.>apigee.com/Namespace

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasını ve ön ekin adını tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı EV-XML-Age, önek de apigee şeklindedir:

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, <XMLPayload> öğesinin altındaki <Namespace> öğesinde ayarlanan ön ek adının, hata mesajında tanımlanan ön ek adıyla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki politika <Namespace> öğesinde , hata mesajındakiyle eşleşen apigee adlı bir önek belirtir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age">
        Di<splayNa>meEV-<XML-Age/DisplayName
        Source clearPayl>oad=&qu<ot;false&q>uot;request</Source
        XMLPayload s>topPayloadProcessing=&<quot;false>"
        <  Namespaces
              Na>mespace prefix="<gmail">;http://mai<l.google.com/Namespace
      >        Namespace pre<fix=">apigee&<quot;http:/>/www.ap<igee.com/Namespace
              Namespace prefix=&<quot;>apigee"http://www.apigee.com/Namespace
          /Nam<espace>s
         < Variable> name<="legN>ame<" type=">;string
              XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath
          /Variable
        /XMLPayload
      /ExtractVariables
    
  3. 2. adımda tanımlanan belirli bir ön eke sahip <Namespace> öğesinin birden fazla kez tanımlanıp tanımlanmadığını belirleyin. Birden fazla kez tanımlanırsa hatanın nedeni budur.

    Yukarıda gösterilen Değişkenleri Ayıklama politikasındaki örnekte apigee ön ekine sahip <Namespace> öğesinin iki kez tanımlandığına dikkat edin; Bu nedenle şu hatayı alırsınız:

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
    

Çözünürlük

Değişkenleri Ayıklama politikasındaki <Namespace> öğelerinde her ön ek için yalnızca bir tanım olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>"<;false">; enabled=<"true&q>uot; <name="EV-XML-Age">
    Di<splayNa>meEV-<XML-Age/DisplayName
    Source clearPayl>oad=&qu<ot;false&q>uot;request</Source
    XMLPayload st>opPayloadProcessing=&<quot;false>"
    <  Namespaces
          N>amespace prefix="<apigee&quo>t;http:<//www.apige>e.com/N<amespace
          Namespace prefix=&>quot;gmail&<quot;>http://mail.google.com/Namespace
      /Namespaces
   <   Var>iable n<ame=">;legN<ame" t>y<pe="string&q>uot;
          XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/Xpath
      /Variable
    /XMLPayload
/ExtractVariables

NoXPathsToEvaluate

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]:no xpaths to evaluate in variable name.

Örnek hata mesajı

Error Saving Revision 4
ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'nın <XMLPayload> öğesi içinde <XPath> öğesi yoksa API proxy'sinin dağıtımı, yukarıda gösterilen hatayla başarısız olur.

Teşhis

  1. Hata mesajındaki başarısız Değişkenleri Ayıklama politikasını belirleyin. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1 şeklindedir:

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde <XPath> alt öğesi içermeyen bir <XMLPayload> öğesi olup olmadığını kontrol edin. Öyleyse hatanın nedeni budur.

    Örneğin, <XMLPayload> öğesi olan bir Değişkenleri Ayıklama politikası aşağıda verilmiştir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
        DisplayNameExtract V>ariable<s-1/Dis>playN<ame
        Proper>ties/
    <    Source clea>rPayl<oad="false"request/Source
        >VariableP<refixapigee>/Variable<Prefix
        XMLPayload stopPayloadProcessing=>"fal<se"<>/span>
         <   Namespac>e<s/
            Variab>le name="HostReachable" type="boolean"
            /Variable
        /XMLPayload
    /ExtractVariables
    

    <XPath> öğesi olmadığından API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Değişkenleri Ayıklama politikasının, <XMLPayload> öğesi altında tanımlanmış bir <XPath> öğesine sahip olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
    DisplayNameExtract V>ariable<s-1/Dis>playN<ame
    Proper>ties/
<    Source clea>rPayl<oad="false"request/Source
    >VariableP<refixapigee>/Variable<Prefix
    XMLPayload stopPayloadProcessing=>"false&q<uot;<>/span>
        Name<spaces>/
       < Variable> name<="Host>R<eachable" ty>pe="boolean"
            XPath/isReachable/XPath
        /Variable
    /XMLPayload
/ExtractVariables

EmptyXPathExpression

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: XPath expression is empty in variable name.

Örnek hata mesajı

Error Saving Revision 6
ExtractVariables Extract-Variables-1: XPath expression is empty in variable name.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'nın <XMLPayload> öğesi içinde boş bir <XPath> ifadesi varsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hata mesajındaki başarısız Değişkenleri Ayıklama politikasını belirleyin. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1 şeklindedir:

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, boş <XPath> alt öğesine sahip bir <XMLPayload> öğesi olup olmadığını belirleyin. Öyleyse hatanın nedeni budur.

    Örneğin, <XMLPayload> öğesi olan bir Değişkenleri Ayıklama politikası aşağıda verilmiştir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
        DisplayNameExtract V>ariable<s-1/Dis>playN<ame
        Proper>ties/
    <    Source clea>rPayl<oad="false"request/Source
        >VariableP<refixapigee>/Variable<Prefix
        XMLPayload stopPayloadProc>essing="<false><">
            <Namespace>s/
      <      Varia>b<le name="add>ress" type="string"
                XPath/XPath
            /Variable
        /XMLPayload
    /ExtractVariables
    

    <XMLPayload> öğesi içinde boş bir <XPath> öğesi bulunduğundan API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Değişkenleri Ayıklama politikasının <XMLPayload> öğesi altında tanımlanmış boş olmayan ve geçerli bir <XPath> öğesine sahip olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
    DisplayNameExtract V>ariable<s-1/Dis>playN<ame
    Proper>ties/
<    Source clea>rPayl<oad="false"request/Source
    >VariableP<refixapigee>/Variable<Prefix
    XMLPayload stopPayloadProc>essing="<false>"
 <      > Namespac<es/
     >   Va<riable name>=<"address&quo>t; type="string"
            XPath/address/XPath
        /Variable
    /XMLPayload
/ExtractVariables

NoJSONPathsToEvaluate

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]:no jsonpaths to evaluate in variable name.

Örnek hata mesajı

Error Saving Revision 6
ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası, <JSONPayload> öğesi içinde <JSONPath> öğesini içermiyorsa API proxy'sinin dağıtımı, yukarıda gösterilen hatayla başarısız olur.

Teşhis

  1. Hata mesajındaki başarısız Değişkenleri Ayıklama politikasını belirleyin. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1 şeklindedir:

    ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, gerekli <JSONPath> alt öğesi içermeyen bir <JSONPayload> öğesi olup olmadığını belirleyin. Öyleyse hatanın nedeni budur.

    Örneğin, <JSONPayload> öğesi içeren bir Değişkenleri Ayıklama politikası aşağıda verilmiştir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
        Disp>layNameEx<tract Variables-1/Dis>playName
    <    Prope>rties</
        JSONPa>yload<
            Variable name=&quo>t;title<"<>/span>
         <   /Variable
     >   /JS<ONPayload
        S>o<urce clearPayload>="false"request/Source
        VariablePrefixapigee/VariablePrefix
    /ExtractVariables
    

    <JSONPayload> öğesi altında tanımlı bir <JSONPath> alt öğesi olmadığından API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Değişkenleri Ayıklama politikasının <JSONPayload> öğesi altında tanımlanmış bir <JSONPath> öğesine sahip olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
    Disp>layNameEx<tract Variables-1/Dis>playName
    <Properti>es/
    JSON<Payload
 >       Va<riable na>me=&q<uot;title&qu>ot;
 <           JSONPath$.book.t>itle/JS<ONPath<>/span>
     <   /Variable
 >   /JS<ONPayload
    S>o<urce clearPayload>="false"request/Source
    VariablePrefixapigee/VariablePrefix
/ExtractVariables

EmptyJSONPathExpression

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
ExtractVariables [policy_name]: JSONPath expression is empty in variable name.

Örnek hata mesajı

Error Saving Revision 6
ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'nın <JSONPayload> öğesi içinde boş bir <JSONPath> ifadesi varsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hata mesajındaki başarısız Değişkenleri Ayıklama politikasını belirleyin. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1 şeklindedir:

    ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde boş <JSONPath> alt öğesine sahip bir <JSONPayload> öğesi olup olmadığını doğrulayın. Öyleyse hatanın nedeni budur.

    Örneğin, <JSONPayload> öğesi içeren bir Değişkenleri Ayıklama politikası aşağıda verilmiştir:

        <ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; name=<"Extra>ct-Variables-1"<;
            Di>splayName<Extract Var>iables-1/<DisplayName>
            Prop<erties/
            JSONPayload
                Varia>ble name="ac<count_nu><mber">; type="<integer&q>uot;
        <            >JSONPath/<JSONPath
                /Varia>ble
       <     /J>SONPayloa<d
            Sour>ce cle<arPayload=">;fals<e"request/So>urce
            VariablePrefixapigee/VariablePrefix
        /ExtractVariables
    

    <JSONPayload> öğesi içinde boş bir <JSONPath> öğesi bulunduğundan API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

Değişkenleri Ayıklama politikasının <JSONPayload> öğesi altında tanımlanmış boş olmayan ve geçerli bir <JSONPath> öğesine sahip olduğundan emin olun. Örneğin:

<ExtractVariables async="false" continueOnError="false" enabled="true&qu>ot; n<ame="E>xtract-Variables-1&<quot;
    Di>splay<NameExtract> Vari<ables-1/Dis>playName
<    Properties/
    JSONPayload
        Varia>ble name=&qu<ot;accou>nt_number" <type=&quo>t;integer<"
  >     <    JSONPath>$.acc<ount.number/JSONPath
      >  /Vari<able
  >  /JS<ONPayload
    >Source< clearPayload=&>q<uot;false"re>quest/Source
    VariablePrefixapigee/VariablePrefix
/ExtractVariables

MissingName

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Error occurred while validation of bean [policy_name].xml Reason: - Required attribute name is missing in [element_name]

Örnek hata mesajı

Error Saving Revision 6
Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası, zorunlu olduğu durumlarda QueryParam, Header, FormParam veya Variable gibi politika öğelerinin hiçbirinde name özelliğine sahip değilse API proxy'sinin dağıtımı başarısız olur.

Örneğin bu hata, Variable öğesinde name özelliği eksikse ortaya çıkar.

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasının adını ve name özelliğinin eksik olduğu öğeyi tanımlayın. Bu öğeleri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1, öğe adı ise Variable şeklindedir:

    Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, yukarıdaki 1. adımda belirlenen adı taşıyan tüm öğelerin name özelliğinin olup olmadığını kontrol edin. Ad özelliğinin eksik olduğu bir öğe varsa hatanın nedeni budur.

    Örneğin, aşağıdaki Değişkenleri Ayıklama politikasında <Variable> öğesi tanımlanmıştır:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
        DisplayNameExtra>ct Variab<les-1/D>isplayName
        Pr<operties>/
       < Variable> <type="boolea>n"
            Pattern{isAccountActive}/Pattern
        /Variable
    /ExtractVariables
    

    Variable öğesinde name özelliğinin eksik olduğuna, bu nedenle API Proxy'sinin dağıtımının başarısız olduğuna dikkat edin.

Çözünürlük

Değişkenleri Ayıklama Politikası'nın QueryParam, Header, FormParam veya Variable öğeleri için gerekli name özelliğini içerdiğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
    DisplayNameExtract Variables-1/Display>Name
    <Propert>ies/
    Variable< name=&q>uot;a<ccount_ac>t<ive" type=&q>uot;boolean"
        Pattern{isAccountActive}/Pattern
    /Variable
/ExtractVariables

PatternWithoutVariable

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Saving Revision [revision_number]
Pattern [pattern] should have at least one variable in ExtractVariables stepDefinition [policy_name]

Örnek hata mesajı

Error Saving Revision 7
Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'nın <Pattern> öğesi içinde belirtilmiş bir değişkeni yoksa API proxy'sinin dağıtımı başarısız olur. <Pattern> öğesi, ayıklanan verilerin depolanacağı değişkenin adını gerektirir.

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasının adını ve Değişkenin eksik olduğu kalıbı tanımlayın. Bu öğeleri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1, öğe adı ise /a/b şeklindedir:

    Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, <Pattern> öğesinde ayarlanan kalıbın, hata mesajında tanımlanan kalıpla eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika, hata mesajındakiyle eşleşen bir /a/b kalıbı belirtir:

    Örneğin, üç <Pattern> öğesi içeren bir Değişkenleri Ayıklama politikası aşağıda verilmiştir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot;
     <  Sourcerequest/Source
      > URIPath
       <   Patte>rn igno<reCase="true"/a>/{pat<hSeg}/Pa>ttern
     <     Pattern ignoreCase=&>quot;true"/<a/b//Pat>tern<
          P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern
      > /URIPath
       VariablePrefixurirequest/VariablePrefix
    /ExtractVariables
    
  3. 2. adımda tanımlanan <Pattern> öğesinde değişken olup olmadığını kontrol edin. Değişkenler süslü ayraçlar içine alınmalıdır. Kalıpta değişken yoksa hatanın nedeni budur.

    /a/b kalıbına sahip <Pattern> öğesi değişken içermiyor; bu nedenle API Proxy'sinin dağıtımı

    <Pattern ignoreCase=">true&<quot;/a/>b//Pattern
    
    

Çözünürlük

Tüm <Pattern> öğelerinin bir değişken (kıvrık içine alınmış bir ad) içerdiğinden emin olun. küme ayraçları). Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles< name=>"E<xtractV>aria<bles-1&>quot;
 <  Sourcerequest/Source
  > URIPath
   <   Patte>rn igno<reCase="true"/a>/{pathSeg}/Pat<tern
   >   Patt<ern ignoreCase="true>"/a/b/{path<Seg}/Pat>tern<
      P>atte<rn ignoreCase=>"true<"/a/b/c/{p>a<thSeg}/Pattern
  > /URIPath
   VariablePrefixurirequest/VariablePrefix
/ExtractVariables

CannotBeConvertedToNodeset

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Deploying Revision [revision_number]
ExtractVariables [policy_name]: Result of xpath [policy_name] cannot be converted to nodeset. Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

Örnek hata mesajı

Error Deploying Revision 4 to test
ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'nda, <Variable> türünün nodeset olarak tanımlandığı bir <XPath> ifadesi varsa ancak ifade düğüm kümesine dönüştürülemiyorsa API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasını ve düğüm kümesine dönüştürülemeyen XPath'i tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı Extract-Variables-1 , XPath ise 123 şeklindedir.

    ExtractVariables Extract-Variables-1: Result of xpath 123 cannot be converted to nodeset. Context Revision:4;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, <XPath> öğesinde ayarlanan XPath'in, hata mesajında tanımlanan XPath ile eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika değerini, hata mesajındakiyle eşleşen 123 olarak belirtir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
        DisplayNameExtract V>ariable<s-1/Dis>playN<ame
        Proper>ties/
     <   Source clear>Paylo<ad="false"request/Source
        V>ariablePr<efixvisitor>/Variable<Prefix
        XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse<">
            <Namespace>s/
      <      Varia>b<le name="age>&quot; type="nodeset"
                XPath123/XPath
            /Variable
        /XMLPayload
    /ExtractVariables
    
  3. Yukarıdaki 2. adımda tanımlanan <XPath> öğesine karşılık gelen <Variable> öğesinin türünü inceleyin. <Variable> türü nodeset ise hatanın nedeni budur.

    Örnek Değişkenleri Ayıklama politikasında <XPath> ifadesinin 123 olduğuna dikkat edin.

    <XPath>123</XPath>
    

    123 ifadesi, düğüm kümesine dönüştürülemez. Bu nedenle API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

<Variable> türü düğüm kümesi olarak tanımlanırsa Değişkenleri Ayıklama politikasında kullanılan <XPath> ifadelerinin düğüm kümesine dönüştürülebildiğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="Ex>tract<-Variables->1&quo<t;
    DisplayNameExtract V>ariable<s-1/Dis>playN<ame
    Proper>ties/
 <   Source clear>Paylo<ad="false"request/Source
    V>ariablePr<efixvisitor>/Variable<Prefix
    XMLPayload stopPayloadP>rocessing=&qu<ot;fa>lse"
  <      >Namespace<s/
      >  Var<iable name=>&<quot;age" ty>pe="nodeset"
            XPath/visitor/age/XPath
        /Variable
    /XMLPayload
/ExtractVariables

InvalidPattern

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

Error Deploying Revision [revision_number]
Pattern [pattern] is invalid in ExtractVariables stepDefinition [policy_name]

Örnek hata mesajı

Error Deploying Revision 18 to test
Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.

Örnek ekran görüntüsü

Neden

Değişkenleri Ayıklama Politikası'ndaki URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload gibi öğelerde <Pattern> öğe tanımı geçersizse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hata mesajından başarısız olan Değişkenleri Ayıklama politikasını belirleyin. Örneğin, aşağıdaki hatada politika adı Extract-Variables-2 şeklindedir:

    Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde bu öğelerden herhangi birinin mevcut olup olmadığını kontrol edin ve bir <Pattern> öğesi ekleyin. URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload.

    Örneğin, <QueryParam> öğesi içinde <Pattern> öğesi bulunan bir Değişkenleri Ayıklama politikası örneğini burada görebilirsiniz:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVaria>bles <name=">ExtractVariables-2<"
        D>ispla<yNameE>xtractV<ariable>s-2/D<isplayName
        Sourcer>equest/So<urce
        QueryParam name=>&qu<ot;code&>quot;<
            Pa>ttern< ignoreCase=&q>uot;true&<quot;{*}/Patter>n<
        /QueryParam
    >    VariablePrefixqueryinfo/VariablePrefix
    /ExtractVariables
    
  3. Her <Pattern> öğesinin tanımını inceleyin. Geçersiz tanımı olan bir <Pattern> öğesi varsa hatanın nedeni budur.

    Yukarıda gösterilen Değişkenleri Ayıklama politikasındaki örnekte, <QueryParam> öğesindeki <Pattern> tanımının geçersiz olduğuna dikkat edin; bu nedenle API Proxy'sinin dağıtımı başarısız olur. Şu kaynakları da inceleyin Eşleme ve değişken oluşturma hakkında

    <Pattern ignoreCase=">tru<e"{>*}/Pattern
    
    

Çözünürlük

Değişkenleri Ayıklama politikasındaki URIPath, QueryParam, Header, FormParam, XMLPayload veya JSONPayload öğelerindeki <Pattern> öğe tanımının geçerli olduğundan emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVaria>bles <name=">ExtractVariables-2"
    DisplayNa<meExtract a >value< from >a query< parame>ter/D<isplayName
    Sourcer>equest/So<urce
    QueryParam name=>"<code&quo>t;
  <      Patte>rn ig<noreCase=">;true&quo<t;{code}/Patter>n<
    /QueryParam
>    VariablePrefixqueryinfo/VariablePrefix
/ExtractVariables

Eşleme ve değişken oluşturma hakkında başlıklı makaleyi de inceleyin

XPathCompilationFailed

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması başarısız şu hata mesajıyla:

Error Deploying Revision [revision_number]
ExtractVariables [policy_name]: Failed to compile xpath [xpath] Context Revision:[revision_number]; APIProxy:[proxy_name]; Organization:[org_name]; Environment:[env_name].

Örnek hata mesajı

Error Deploying Revision 1 to test
ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.

Örnek ekran görüntüsü

Neden

<XPath> öğesinde kullanılan önek veya değer, Değişkenleri Ayıklama Politikası'nda bildirilen ad alanlarının hiçbirinin parçası değilse API proxy'sinin dağıtımı başarısız olur.

Ad alanları, XPath ve ön ek hakkında daha fazla bilgiyi XML Ad Alanları ve XPath ve XSLT'yi Nasıl Etkiledikleri bölümünde bulabilirsiniz.

Teşhis

  1. Hatanın oluştuğu Değişkenleri Ayıklama politikasını ve derlenemeyen XPath'i tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı EV-XML-Age , xpath ise /apigee:Directions/apigee:route/apigee:leg/apigee:name şeklindedir.

    ExtractVariables EV-XML-Age: Failed to compile xpath /apigee:Directions/apigee:route/apigee:leg/apigee:name. Context Revision:1;APIProxy:EV-XML;Organization:aprabhashankar-eval;Environment:test.
    
  2. Başarısız Değişkenleri Ayıklama politikası XML'inde, <XPath> öğesinde ayarlanan XPath'in, hata mesajında tanımlanan XPath ile eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika değerini, hata mesajındakiyle eşleşen /apigee:Directions/apigee:route/apigee:leg/apigee:name olarak belirtir:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot;
      <Display>Nam<eEV-XML-Age/DisplayName
      Source clearPa>yload<="fal>se"r<equest/Source
      XMLPaylo>ad stopPayloadProcessi<ng="f>alse&<quot;
        N>amesp<aces
            Namespace prefix="g>mail&<quot;>http://mail.google.com/Namespace
        /Namespaces
        V<ariabl>e name=&q<uot;legNa>me&<quot; type=>&<quot;string">
        XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath
            /Variable
      /XMLPayload
    /ExtractVariables
    
  3. Değişkenleri Ayıklama politikasındaki <Namespaces> ve <XPath> öğelerini inceleyin. Hata mesajında belirtilen <XPath>, Değişkenleri Ayıklama politikasında belirtilen ad alanlarının parçası olmayan bir önek veya değer kullanıyorsa hatanın nedeni budur.

    Belirli <XPath> değerinin, örnek Değişkenler Politikası'ndaki apigee önekini kullandığına dikkat edin.

    <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
    

    Bununla birlikte, apigee öneki <Namespace> öğelerinin hiçbirinde tanımlı değildir; bu nedenle <XPath> derlemesinin başarısız olması dağıtım hatasına neden olur.

Çözünürlük

<XPath> öğelerinde kullanılan tüm ad alanlarının Değişkenleri Ayıklama Politikası'nda belirtildiğinden emin olun. Örneğin:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ExtractVariables async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name="EV-XML-Age&q>uot;
  <Display>Nam<eEV-XML-Age/DisplayName
  Source clearPa>yload<="fal>se"r<equest/Source
  XMLPayloa>d stopPayloadProcessi<ng="f>alse"<;
    Namespaces
       > Namespace prefix=&quo<t;apigee&q>uot;h<ttp://www.a>pigee<.com/Namespace
        Namespace pref>ix="<gmail>"http://mail.google.com/Namespace
    /Namespaces<
    V>ariab<le name=&>quo<t;legName&q>u<ot; type="st>ring"
        XPath/apigee:Directions/apigee:route/apigee:leg/apigee:name/XPath
    /Variable
  /XMLPayload
/ExtractVariables