عیب‌یابی خطای استقرار خط‌مشی XML به JSON

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

EitherOptionOrFormat

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر 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.

نماگرفت نمونه

علت

اگر یکی از عناصر <Options> یا <Format> در «خط‌مشی XML به JSON» اعلام نشده باشد، استقرار پراکسی API ناموفق خواهد بود.

اگر از <Format> استفاده نمی‌شود، <Options> الزامی است.

از عنصر <Format> یا گروه عنصر <Options> استفاده کنید. نمی‌توانید از <Format> و <Options> به‌طور هم‌زمان استفاده کنید. قالب‌های ازپیش تعریف‌شده شامل این موارد می‌شود: xml.com، yahoo، google، و badgerFish.

تشخیص

  1. همه خط‌مشی‌های XML به JSON را در پراکسی API خاصی که در آن خرابی رخ داده است بررسی کنید. اگر خط‌مشی XML به 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> را در خط‌مشی اعلام کرده باشد.

مثال ۱:

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

مثال ۲:

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

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامه‌سازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:

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

خطای نمونه

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

نماگرفت نمونه

علت

اگر عنصر <Format> در خط‌مشی XML به JSON قالب ناشناخته‌ای داشته باشد، استقرار پراکسی API ناموفق خواهد بود.

قالب‌های ازپیش تعریف‌شده شامل این موارد می‌شود: xml.com، yahoo، google، و badgerFish.

تشخیص

  1. خط‌مشی XML به 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 نباشد، این دلیل خطا است.

    در «خط‌مشی تبدیل XML به JSON» نمونه نشان‌داده‌شده در بالا، قالب google.com نامعتبر است. بنابراین، استقرار «پراکسی API» با این خطا ناموفق است:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

وضوح

مطمئن شوید قالبی که در عنصر <Format> خط‌مشی XML به JSON مشخص شده است معتبر باشد. برای مثال:

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