การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบาย XML เป็น JSON ใช้งานได้

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

EitherOptionOrFormat

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ 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.

ตัวอย่างภาพหน้าจอ

สาเหตุ

หากไม่มีการประกาศองค์ประกอบ <Options> หรือ <Format> ในนโยบาย XML เป็น JSON การใช้งานพร็อกซี API จะล้มเหลว

ต้องระบุ <Options> หากไม่ได้ใช้ <Format>

ใช้องค์ประกอบ <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>
    

ความละเอียด

ตรวจสอบว่า XML ของนโยบาย 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

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ 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.

ตัวอย่างภาพหน้าจอ

สาเหตุ

หากองค์ประกอบ <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. ตรวจสอบว่ารูปแบบที่ไม่รู้จักที่ระบุในนโยบาย XML เป็น JSON ที่ล้มเหลวตรงกับค่าที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุรูปแบบเป็น 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>