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

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

EitherOptionOrFormat

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

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

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. उस एपीआई प्रॉक्सी में, एक्सएमएल से 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>
    

रिज़ॉल्यूशन

पक्का करें कि एक्सएमएल से 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 मैनेजमेंट एपीआई की मदद से, एपीआई प्रॉक्सी को डिप्लॉय करने पर गड़बड़ी का यह मैसेज दिखता है:

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. एक्सएमएल से JSON नीति की उस जगह की पहचान करें जहां गड़बड़ी हुई. साथ ही, बिना जानकारी वाले फ़ॉर्मैट की भी पहचान करें. गड़बड़ी के मैसेज से आपको यह जानकारी मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में, नीति का नाम WithFormat है और अज्ञात फ़ॉर्मैट google.com है:

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

    ऊपर दिए गए एक्सएमएल से 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>