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

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

पर क्लिक करें.

EitherOptionOrFormat

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

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

Error Saving Revision [revision_number]
XMLToJSON[{0}]: Either Options or Format must be specified.

गड़बड़ी का उदाहरण

Error Saving Revision 1
XMLToJSON[{0}]: Either Options or Format must be specified.

उदाहरण के तौर पर दिया गया स्क्रीनशॉट

वजह

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

अगर <Format> का इस्तेमाल नहीं किया जाता है, तो <Options> देना ज़रूरी है.

<Format> एलिमेंट या <Options> एलिमेंट ग्रुप का इस्तेमाल करें. <Format> और <Options>, दोनों का इस्तेमाल नहीं किया जा सकता. पहले से तय किए गए फ़ॉर्मैट में ये शामिल हैं: xml.com, yahoo, google, और badgerFish.

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

  1. उस एपीआई प्रॉक्सी में मौजूद, XML से JSON में बदलने की सभी नीतियों की जांच करें जहां गड़बड़ी हुई है. अगर एक्सएमएल से JSON में बदलने की किसी नीति में, <Options> या <Format> में से किसी भी एलिमेंट के बारे में नहीं बताया गया है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, यहां दी गई नीति में, बताए गए दोनों एलिमेंट मौजूद नहीं हैं:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
        <DisplayName>XMLToJSON</DisplayName>
        <Properties/>
        <OutputVariable>response</OutputVariable>
        <Source>response</Source>
    </XMLToJSON>
    

रिज़ॉल्यूशन

पक्का करें कि XML से JSON में बदलने की नीति के एक्सएमएल में, नीति में बताए गए <Options> या <Format> में से कोई एक एलिमेंट मौजूद हो.

उदाहरण 1:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
    <DisplayName>XMLToJSON</DisplayName>
    <Properties/>
    <Format>google</Format>
    <OutputVariable>response</OutputVariable>
    <Source>response</Source>
</XMLToJSON>

उदाहरण 2:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
    <DisplayName>XMLToJSON</DisplayName>
    <Properties/>
    <Options>
        <RecognizeNumber>true</RecognizeNumber>
        <RecognizeBoolean>true</RecognizeBoolean>
        <RecognizeNull>true</RecognizeNull>
    </Options>
    <OutputVariable>response</OutputVariable>
    <Source>response</Source>
</XMLToJSON>

UnknownFormat

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

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

Error Saving Revision [revision_number]
XMLToJSON[policy_name]: Unknown Format [unknown_format].

गड़बड़ी का उदाहरण

Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.

उदाहरण के तौर पर दिया गया स्क्रीनशॉट

वजह

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

पहले से तय किए गए फ़ॉर्मैट में ये शामिल हैं: xml.com, yahoo, google, और badgerFish.

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

  1. उस XML से JSON नीति का पता लगाएं जिसमें गड़बड़ी हुई है और जिसका फ़ॉर्मैट पता नहीं है. यह जानकारी, गड़बड़ी के मैसेज में देखी जा सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में नीति का नाम WithFormat है और फ़ॉर्मैट की जानकारी नहीं है google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. पुष्टि करें कि XML से JSON में बदलने की नीति का पालन न करने वाले XML में दिया गया अज्ञात फ़ॉर्मैट, गड़बड़ी के मैसेज (ऊपर दिया गया पहला चरण) में बताई गई वैल्यू से मेल खाता हो. उदाहरण के लिए, यहां दी गई नीति में फ़ॉर्मैट को google.com के तौर पर बताया गया है. यह गड़बड़ी के मैसेज में दिए गए फ़ॉर्मैट से मेल खाता है:

    <XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
      <DisplayName>WithFormat</DisplayName>
      <Properties/>
      <Format>google.com</Format>
      <OutputVariable>response</OutputVariable>
      <Source>response</Source>
    </XMLToJSON>
    
  3. अगर तय किया गया फ़ॉर्मैट, पहले से तय किए गए फ़ॉर्मैट xml.com, yahoo, google या badgerFish में से कोई एक नहीं है, तो यह गड़बड़ी की वजह है.

    ऊपर दिखाई गई, XML से JSON में बदलने की नीति के उदाहरण में, फ़ॉर्मैट google.com है, जो अमान्य है. इसलिए, एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सका. गड़बड़ी का मैसेज यह है:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

रिज़ॉल्यूशन

पक्का करें कि एक्सएमएल से JSON में बदलने की नीति के <Format> एलिमेंट में दिया गया फ़ॉर्मैट मान्य हो. उदाहरण के लिए:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
  <DisplayName>WithFormat</DisplayName>
  <Properties/>
  <Format>google</Format>
  <OutputVariable>response</OutputVariable>
  <Source>response</Source>
</XMLToJSON>