एक्सट्रैक्ट वैरिएबल नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी ठीक करना

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

NothingToExtract

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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].

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति में कोई भी एलिमेंट URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता, क्योंकि एक्सट्रैक्ट करने के लिए कुछ भी नहीं है.

जैसा कि गड़बड़ी के मैसेज में बताया गया है, वैरिएबल एक्सट्रैक्ट करने की नीति में, इनमें से कम से कम एक एलिमेंट शामिल होना चाहिए: URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload.

संक्रमण की जांच

गड़बड़ी के मैसेज में मौजूद वैरिएबल एक्सट्रैक्ट करने की नीति की जांच करें. अगर नीति में इनमें से कोई भी एलिमेंट मौजूद नहीं होता है: URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload, तो यह गड़बड़ी की वजह है. उदाहरण के लिए, नीचे दी गई वैरिएबल एक्सट्रैक्ट करने की नीति में, ऊपर बताया गया कोई भी एलिमेंट नहीं है:

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

वैरिएबल एक्सट्रैक्ट करने की नीति में कोई भी ज़रूरी एलिमेंट मौजूद नहीं है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, इनमें से कम से कम एक ज़रूरी एलिमेंट हो: URIPath, QueryParam, Header, FormParam, XMLPayload, JSONPayload. उदाहरण के लिए:

<?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

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

यह गड़बड़ी तब होती है, जब वैरिएबल एक्सट्रैक्ट करने की नीति में, <XMLPayload> एलिमेंट के <Namespace> एलिमेंट में प्रीफ़िक्स तय किया गया हो, लेकिन कोई यूआरआई तय न किया गया हो.

संक्रमण की जांच

  1. जहां गड़बड़ी हुई थी वहां वैरिएबल एक्सट्रैक्ट करने की नीति और प्रीफ़िक्स के नाम की पहचान करें. आपको गड़बड़ी के मैसेज में ये दोनों आइटम मिल जाएंगे. उदाहरण के लिए, इस गड़बड़ी में , नीति का नाम EV-XML-Age और प्रीफ़िक्स apigee है:

    ExtractVariables EV-XML-Age: Non-empty prefix apigee cannot be mapped to empty uri.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाले एक्सएमएल में, पुष्टि करें कि <XMLPayload> एलिमेंट में <Namespace> एलिमेंट में सेट किए गए प्रीफ़िक्स का नाम, गड़बड़ी के मैसेज में बताए गए प्रीफ़िक्स के नाम से मेल खाता है या नहीं (ऊपर दिया गया चरण #1). उदाहरण के लिए, यह नीति <Namespace> एलिमेंट में apigee नाम के प्रीफ़िक्स के बारे में बताती है , जो गड़बड़ी के मैसेज में मौजूद प्रीफ़िक्स से मेल खाता है:

    <?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 में बताए गए खास प्रीफ़िक्स वाले <Namespace> एलिमेंट में मान्य यूआरआई है या नहीं. अगर यूआरआई मौजूद नहीं है, तो यह गड़बड़ी की वजह है.

    ऊपर दी गई उदाहरण में वैरिएबल एक्सट्रैक्ट करने की नीति में, ध्यान दें कि apigee प्रीफ़िक्स वाले <Namespace> एलिमेंट से जुड़ा कोई यूआरआई नहीं है; इसलिए, आपको यह गड़बड़ी मिलती है:

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

रिज़ॉल्यूशन

पक्का करें कि प्रीफ़िक्स के साथ तय किए गए सभी <Namespace> एलिमेंट में, वैरिएबल एक्सट्रैक्ट करने की नीति में संबंधित यूआरआई हो. उदाहरण के लिए:

<?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">http://www.apigee.com</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>

DuplicatePrefix

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

यह गड़बड़ी तब होती है, जब वैरिएबल एक्सट्रैक्ट करने की नीति में एक ही प्रीफ़िक्स को <XMLPayload> एलिमेंट के <Namespace> एलिमेंट में एक से ज़्यादा बार तय किया गया हो.

उदाहरण के लिए, यह गड़बड़ी तब होती है, जब प्रीफ़िक्स apigee को दो बार दिखाया गया है, जैसा कि नीचे दिखाया गया है:

<Namespace prefix="apigee">http://www.apigee.com</Namespace>
<Namespace prefix="apigee">http://www.apigee.com</Namespace>

संक्रमण की जांच

  1. जहां गड़बड़ी हुई थी वहां वैरिएबल एक्सट्रैक्ट करने की नीति और प्रीफ़िक्स के नाम की पहचान करें. आपको गड़बड़ी के मैसेज में ये दोनों आइटम मिल जाएंगे. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम EV-XML-Age और प्रीफ़िक्स apigee है:

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाले एक्सएमएल में, पुष्टि करें कि <XMLPayload> एलिमेंट में <Namespace> एलिमेंट में सेट किए गए प्रीफ़िक्स का नाम, गड़बड़ी के मैसेज में बताए गए प्रीफ़िक्स के नाम से मेल खाता है या नहीं (ऊपर दिया गया चरण #1). उदाहरण के लिए, यह नीति <Namespace> एलिमेंट में apigee नाम के प्रीफ़िक्स के बारे में बताती है , जो गड़बड़ी के मैसेज में मौजूद प्रीफ़िक्स से मेल खाता है:

    <?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="gmail">http://mail.google.com</Namespace>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
              <Namespace prefix="apigee">http://www.apigee.com</Namespace>
          </Namespaces>
          <Variable name="legName" type="string
              <XPath>/apigee:Directions/apigee:route/apigee:leg/apigee:name</XPath>
          </Variable>
        </XMLPayload>
      </ExtractVariables>
    
  3. देखें कि क्या चरण #2 में पहचाने गए खास प्रीफ़िक्स वाला <Namespace> एलिमेंट एक से ज़्यादा बार तय किया गया है. अगर इसे एक से ज़्यादा बार परिभाषित किया गया है, तो यह गड़बड़ी की वजह है.

    ऊपर दिखाई गई, वैरिएबल एक्सट्रैक्ट करने की नीति के उदाहरण में ध्यान दें कि apigee प्रीफ़िक्स वाले <Namespace> एलिमेंट को दो बार तय किया गया है; इसलिए, आपको यह गड़बड़ी मिलती है:

    ExtractVariables EV-XML-Age: Duplicate prefix apigee.
    
    

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, <Namespace> एलिमेंट के हर प्रीफ़िक्स के लिए सिर्फ़ एक परिभाषा है. उदाहरण के लिए:

<?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">http://www.apigee.com</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>

NoXPathsToEvaluate

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति के <XMLPayload> एलिमेंट में <XPath> एलिमेंट नहीं है, तो ऊपर बताई गई गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, 'वैरिएबल एक्सट्रैक्ट करें' नीति की पहचान करें. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 है:

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति की एक्सएमएल फ़ाइल में फ़ेल होने पर, देखें कि <XPath> चाइल्ड एलिमेंट के बिना कोई <XMLPayload> एलिमेंट तो नहीं है. अगर ऐसा है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां वैरिएबल एक्सट्रैक्ट करने की नीति दी गई है, जिसमें <XMLPayload> एलिमेंट मौजूद है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="HostReachable" type="boolean">
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    

    कोई <XPath> एलिमेंट मौजूद नहीं होने की वजह से, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, <XMLPayload> एलिमेंट के तहत <XPath> एलिमेंट तय किया गया है. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="HostReachable" type="boolean">
            <XPath>/isReachable</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

EmptyXPathExpression

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने की नीति में <XMLPayload> एलिमेंट में खाली <XPath> एक्सप्रेशन है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, 'वैरिएबल एक्सट्रैक्ट करें' नीति की पहचान करें. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 है:

    ExtractVariables Extract-Variables-1: no xpaths to evaluate in variable name.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाली एक्सएमएल में, फ़ेल होने वाले <XPath> चाइल्ड एलिमेंट के साथ <XMLPayload> एलिमेंट शामिल है या नहीं. अगर ऐसा है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां वैरिएबल एक्सट्रैक्ट करने की नीति दी गई है, जिसमें <XMLPayload> एलिमेंट मौजूद है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="address" type="string">
                <XPath></XPath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    

    <XMLPayload> एलिमेंट में खाली <XPath> एलिमेंट होने की वजह से, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, <XMLPayload> एलिमेंट के तहत तय किया गया कोई खाली और मान्य <XPath> एलिमेंट हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="address" type="string">
            <XPath>/address</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

NoJSONPathsToEvaluate

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति के <JSONPayload> एलिमेंट में <JSONPath> एलिमेंट नहीं है, तो ऊपर बताई गई गड़बड़ी की वजह से एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, 'वैरिएबल एक्सट्रैक्ट करें' नीति की पहचान करें. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 है:

    ExtractVariables Extract-Variables-1: no jsonpaths to evaluate in variable name.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति की एक्सएमएल फ़ाइल में फ़ेल होने पर, यह देखें कि <JSONPayload> एलिमेंट में ज़रूरी <JSONPath> चाइल्ड एलिमेंट मौजूद नहीं है या नहीं. अगर ऐसा है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां वैरिएबल एक्सट्रैक्ट करने की नीति दी गई है, जिसमें <JSONPayload> एलिमेंट शामिल है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <JSONPayload>
            <Variable name="title">
            </Variable>
        </JSONPayload>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>apigee</VariablePrefix>
    </ExtractVariables>
    

    <JSONPayload> एलिमेंट में कोई भी <JSONPath> चाइल्ड एलिमेंट तय नहीं किया गया है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, <JSONPayload> एलिमेंट के तहत <JSONPath> एलिमेंट तय किया गया है. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <JSONPayload>
        <Variable name="title">
            <JSONPath>$.book.title</JSONPath>
        </Variable>
    </JSONPayload>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>

EmptyJSONPathExpression

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने की नीति में <JSONPayload> एलिमेंट में खाली <JSONPath> एक्सप्रेशन है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज से, 'वैरिएबल एक्सट्रैक्ट करें' नीति की पहचान करें. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 है:

    ExtractVariables Extract-Variables-1: JSONPath expression is empty in variable name.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाली एक्सएमएल में, फ़ेल होने वाले <JSONPath> चाइल्ड एलिमेंट के साथ <JSONPayload> एलिमेंट होने की पुष्टि करें. अगर ऐसा है, तो यह गड़बड़ी की वजह है.

    उदाहरण के लिए, यहां वैरिएबल एक्सट्रैक्ट करने की नीति दी गई है, जिसमें <JSONPayload> एलिमेंट शामिल है:

        <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
            <DisplayName>Extract Variables-1</DisplayName>
            <Properties/>
            <JSONPayload>
                <Variable name="account_number" type="integer">
                    <JSONPath></JSONPath>
                </Variable>
            </JSONPayload>
            <Source clearPayload="false">request</Source>
            <VariablePrefix>apigee</VariablePrefix>
        </ExtractVariables>
    

    <JSONPayload> एलिमेंट में खाली <JSONPath> एलिमेंट होने की वजह से, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, <JSONPayload> एलिमेंट के तहत तय किया गया कोई खाली और मान्य <JSONPath> एलिमेंट हो. उदाहरण के लिए:

<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <JSONPayload>
        <Variable name="account_number" type="integer">
           <JSONPath>$.account.number</JSONPath>
        </Variable>
    </JSONPayload>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>

MissingName

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने की नीति के तहत, QueryParam, Header, FormParam या Variable जैसे किसी नीति एलिमेंट में name एट्रिब्यूट नहीं जोड़ा गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

उदाहरण के लिए, यह गड़बड़ी तब होती है, जब Variable एलिमेंट में name एट्रिब्यूट मौजूद नहीं होता है.

संक्रमण की जांच

  1. वैरिएबल एक्सट्रैक्ट करने की नीति के नाम की पहचान करें जहां गड़बड़ी हुई थी और उस एलिमेंट की पहचान करें जिसमें name एट्रिब्यूट मौजूद नहीं है. आपको गड़बड़ी के मैसेज में ये आइटम मिल सकते हैं. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 और एलिमेंट का नाम Variable है:

    Error occurred while validation of bean Extract-Variables-1.xml. Reason: - Required attribute name is missing in Variable
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाली एक्सएमएल में, जांच लें कि ऊपर दिए गए चरण #1 में तय किए गए नाम वाले सभी एलिमेंट में name एट्रिब्यूट है या नहीं. अगर किसी एलिमेंट में नाम एट्रिब्यूट मौजूद नहीं है, तो उसकी वजह से गड़बड़ी होगी.

    उदाहरण के लिए, नीचे दी गई वैरिएबल एक्सट्रैक्ट करने की नीति में <Variable> एलिमेंट तय किया गया है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Variable type="boolean">
            <Pattern>{isAccountActive}</Pattern>
        </Variable>
    </ExtractVariables>
    

    ध्यान दें कि Variable एलिमेंट में name एट्रिब्यूट मौजूद नहीं है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने के लिए बनी नीति में QueryParam, Header, FormParam या Variable एलिमेंट के लिए, ज़रूरी name एट्रिब्यूट शामिल हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Variable name="account_active" type="boolean">
        <Pattern>{isAccountActive}</Pattern>
    </Variable>
</ExtractVariables>

PatternWithoutVariable

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने की नीति में <Pattern> एलिमेंट के अंदर वैरिएबल तय नहीं किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. <Pattern> एलिमेंट के लिए, उस वैरिएबल का नाम होना ज़रूरी है जिसमें एक्सट्रैक्ट किया गया डेटा सेव किया जाएगा.

संक्रमण की जांच

  1. वैरिएबल एक्सट्रैक्ट करने की नीति का नाम बताएं, जहां गड़बड़ी हुई है. साथ ही, उस पैटर्न की भी पहचान करें जिसके लिए वैरिएबल मौजूद नहीं है. ये आइटम आपको गड़बड़ी के मैसेज से मिल सकते हैं. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-1 और एलिमेंट का नाम /a/b है:

    Pattern /a/b/ should have at least one variable in ExtractVariables stepDefinition ExtractVariables-1.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति वाली एक्सएमएल में, पुष्टि करें कि <Pattern> एलिमेंट में सेट किया गया पैटर्न, गड़बड़ी के मैसेज में बताए गए पैटर्न से मेल खाता है या नहीं (ऊपर दिया गया चरण #1). उदाहरण के लिए, नीचे दी गई नीति में ऐसे पैटर्न के बारे में बताया गया है /a/b जो गड़बड़ी के मैसेज में मौजूद पैटर्न से मेल खाता है:

    उदाहरण के लिए, यहां वैरिएबल एक्सट्रैक्ट करने की नीति दी गई है, जिसमें तीन <Pattern> एलिमेंट हैं:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables name="ExtractVariables-1">
       <Source>request</Source>
       <URIPath>
          <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
          <Pattern ignoreCase="true">/a/b/</Pattern>
          <Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern>
       </URIPath>
       <VariablePrefix>urirequest</VariablePrefix>
    </ExtractVariables>
    
  3. देखें कि चरण #2 में पहचाने गए <Pattern> एलिमेंट में कोई वैरिएबल तो नहीं है. चर कर्ली ब्रैकेट में होने चाहिए. अगर पैटर्न में कोई वैरिएबल नहीं है, तो यही गड़बड़ी की वजह है.

    /a/b पैटर्न वाले <Pattern> एलिमेंट में कोई वैरिएबल शामिल नहीं होता; इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता

    <Pattern ignoreCase="true">/a/b/</Pattern>
    
    

रिज़ॉल्यूशन

पक्का करें कि किसी भी <Pattern> एलिमेंट में वैरिएबल (कर्ली फ़ील्ड के अंदर रखा गया नाम) शामिल हो ब्रैकेट). उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-1">
   <Source>request</Source>
   <URIPath>
      <Pattern ignoreCase="true">/a/{pathSeg}</Pattern>
      <Pattern ignoreCase="true">/a/b/{pathSeg}</Pattern>
      <Pattern ignoreCase="true">/a/b/c/{pathSeg}</Pattern>
   </URIPath>
   <VariablePrefix>urirequest</VariablePrefix>
</ExtractVariables>

CannotBeConvertedToNodeset

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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].

गड़बड़ी के मैसेज का उदाहरण

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.

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति में <XPath> एक्सप्रेशन है, जिसमें <Variable> टाइप को nodeset के तौर पर तय किया गया है, लेकिन एक्सप्रेशन को नोडसेट में नहीं बदला जा सकता, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. जिस जगह पर गड़बड़ी हुई वहां वैरिएबल एक्सट्रैक्ट करने की नीति और नोडसेट में बदले नहीं जा सकने वालेएक्स पाथ की पहचान करें. आपको गड़बड़ी के मैसेज में ये दोनों आइटम मिल जाएंगे. उदाहरण के लिए, नीचे दी गई गड़बड़ी में , नीति का नाम Extract-Variables-1 है और रिपेयर का नाम 123 है.

    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. फ़ेल होने वाले वैरिएबल निकालने की नीति के एक्सएमएल में, पुष्टि करें कि <XPath> एलिमेंट में सेट किया गया एसएएमएल, गड़बड़ी के मैसेज में बताए गए {7/} से मेल खाता है (ऊपर चरण #1). उदाहरण के लिए, यह नीति को 123 के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
        <DisplayName>Extract Variables-1</DisplayName>
        <Properties/>
        <Source clearPayload="false">request</Source>
        <VariablePrefix>visitor</VariablePrefix>
        <XMLPayload stopPayloadProcessing="false">
            <Namespaces/>
            <Variable name="age" type="nodeset">
                <XPath>123</XPath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    
  3. ऊपर दिए गए चरण #2 में बताए गए <XPath> से जुड़े <Variable> एलिमेंट के टाइप की जांच करें. अगर <Variable> टाइप nodeset है, तो यह गड़बड़ी की वजह है.

    ध्यान दें कि वैरिएबल एक्सट्रैक्ट करने की नीति के उदाहरण में, <XPath> एक्सप्रेशन 123 है.

    <XPath>123</XPath>
    

    123 एक्सप्रेशन को नोडसेट में नहीं बदला जा सकता. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

रिज़ॉल्यूशन

पक्का करें कि अगर <Variable> टाइप को नोडसेट के तौर पर तय किया गया है, तो वैरिएबल एक्सट्रैक्ट करने की नीति में इस्तेमाल किए गए <XPath> एक्सप्रेशन को नोडसेट में बदला जा सकता है. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract-Variables-1">
    <DisplayName>Extract Variables-1</DisplayName>
    <Properties/>
    <Source clearPayload="false">request</Source>
    <VariablePrefix>visitor</VariablePrefix>
    <XMLPayload stopPayloadProcessing="false">
        <Namespaces/>
        <Variable name="age" type="nodeset">
            <XPath>/visitor/age</XPath>
        </Variable>
    </XMLPayload>
</ExtractVariables>

InvalidPattern

गड़बड़ी का मैसेज

गड़बड़ी के इस मैसेज के साथ, Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता:

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

गड़बड़ी के मैसेज का उदाहरण

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

स्क्रीनशॉट का उदाहरण

वजह

अगर वैरिएबल एक्सट्रैक्ट करने की नीति में मौजूद URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload जैसे किसी भी एलिमेंट में <Pattern> एलिमेंट की डेफ़िनिशन अमान्य है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. गड़बड़ी के मैसेज में से वैरिएबल एक्सट्रैक्ट करने की नीति की पहचान करें जो काम नहीं कर रही. उदाहरण के लिए, नीचे दी गई गड़बड़ी में, नीति का नाम Extract-Variables-2 है:

    Pattern {*} is invalid in ExtractVariables stepDefinition ExtractVariables-2.
    
  2. वैरिएबल एक्सट्रैक्ट करने की नीति की फ़ेल हो गई एक्सएमएल में, देखें कि इनमें से कोई एलिमेंट मौजूद है या नहीं और <Pattern> एलिमेंट शामिल करें.: URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload.

    उदाहरण के लिए, यहां <QueryParam> एलिमेंट में <Pattern> एलिमेंट वाली वैरिएबल एक्सट्रैक्ट करने की नीति का उदाहरण दिया गया है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables name="ExtractVariables-2">
        <DisplayName>ExtractVariables-2</DisplayName>
        <Source>request</Source>
        <QueryParam name="code">
            <Pattern ignoreCase="true">{*}</Pattern>
        </QueryParam>
        <VariablePrefix>queryinfo</VariablePrefix>
    </ExtractVariables>
    
  3. हर <Pattern> एलिमेंट की परिभाषा की जांच करें. अगर किसी <Pattern> एलिमेंट की परिभाषा अमान्य है, तो यह गड़बड़ी की वजह है.

    ऊपर दी गई, वैरिएबल एक्सट्रैक्ट करने की नीति के उदाहरण में देखें कि <QueryParam> एलिमेंट में <Pattern> की परिभाषा अमान्य है; इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. इन्हें भी देखें मैच करने और वैरिएबल बनाने के बारे में जानकारी

    <Pattern ignoreCase="true">{*}</Pattern>
    
    

रिज़ॉल्यूशन

पक्का करें कि वैरिएबल एक्सट्रैक्ट करने की नीति में, URIPath, QueryParam, Header, FormParam, XMLPayload या JSONPayload एलिमेंट में मौजूद <Pattern> एलिमेंट की परिभाषा मान्य है. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables name="ExtractVariables-2">
    <DisplayName>Extract a value from a query parameter</DisplayName>
    <Source>request</Source>
    <QueryParam name="code">
        <Pattern ignoreCase="true">{code}</Pattern>
    </QueryParam>
    <VariablePrefix>queryinfo</VariablePrefix>
</ExtractVariables>

मैच करने और वैरिएबल बनाने के बारे में जानकारी लेख भी पढ़ें

XPathCompilationFailed

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge मैनेजमेंट एपीआई के ज़रिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता इस गड़बड़ी के मैसेज के साथ:

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].

गड़बड़ी के मैसेज का उदाहरण

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.

स्क्रीनशॉट का उदाहरण

वजह

अगर <XPath> एलिमेंट में इस्तेमाल किया गया प्रीफ़िक्स या वैल्यू, एक्सट्रैक्ट वैरिएबल नीति में बताए गए किसी भी नेमस्पेस का हिस्सा नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

आपको एक्सएमएल नेमस्पेस और OAuth और XSLT पर असर और XSLT पर पड़ने वाले असर के बारे में ज़्यादा जानकारी के लिए, नेमस्पेस, एसएएमएल, और प्रीफ़िक्स के बारे में ज़्यादा जानकारी मिल सकती है.

संक्रमण की जांच

  1. वैरिएबल एक्सट्रैक्ट करने की नीति की पहचान करें जहां गड़बड़ी हुई थी और उस X स्ट्रिंग की पहचान करें जिसे कंपाइल नहीं किया जा सका. आपको गड़बड़ी के मैसेज में ये दोनों आइटम मिल जाएंगे. उदाहरण के लिए, इस गड़बड़ी में , नीति का नाम EV-XML-Age है और xpath का नाम /apigee:Directions/apigee:route/apigee:leg/apigee:name है.

    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. फ़ेल होने वाले वैरिएबल निकालने की नीति के एक्सएमएल में, पुष्टि करें कि <XPath> एलिमेंट में सेट किया गया एसएएमएल, गड़बड़ी के मैसेज में बताए गए {7/} से मेल खाता है (ऊपर चरण #1). उदाहरण के लिए, यह नीति को /apigee:Directions/apigee:route/apigee:leg/apigee:name के तौर पर बताती है, जो गड़बड़ी के मैसेज में मौजूद जानकारी से मेल खाता है:

    <?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="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. वैरिएबल एक्सट्रैक्ट करने की नीति में, <Namespaces> और <XPath> एलिमेंट की जांच करें. अगर गड़बड़ी के मैसेज में बताए गए खास <XPath> में ऐसे प्रीफ़िक्स या वैल्यू का इस्तेमाल किया जाता है जो वैरिएबल एक्सट्रैक्ट करने की नीति में बताए गए नेमस्पेस का हिस्सा नहीं है, तो गड़बड़ी की वजह यही है.

    ध्यान दें कि खास <XPath>, वैरिएबल एक्सट्रैक्ट करने की नीति के उदाहरण में प्रीफ़िक्स apigee का इस्तेमाल करता है.

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

    हालांकि, किसी भी <Namespace> एलिमेंट में, प्रीफ़िक्स apigee के बारे में नहीं बताया गया है; इसलिए, <XPath> को कंपाइल करने में गड़बड़ी होती है और डिप्लॉयमेंट नहीं हो पाता है.

रिज़ॉल्यूशन

पक्का करें कि <XPath> एलिमेंट में इस्तेमाल किए जा रहे सभी नेमस्पेस, वैरिएबल एक्सट्रैक्ट करने से जुड़ी नीति में शामिल किए गए हैं. उदाहरण के लिए:

<?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">http://www.apigee.com</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>