Pemecahan masalah error deployment kebijakan XML ke JSON

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

ini.

EitherOptionOrFormat

Pesan error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

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

Contoh error

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

Screenshot contoh

Penyebab

Jika salah satu elemen <Options> atau <Format> tidak dideklarasikan dalam Kebijakan XML ke JSON, deployment proxy API akan gagal.

<Options> diperlukan jika <Format> tidak digunakan.

Gunakan elemen <Format> atau grup elemen <Options>. Anda tidak dapat menggunakan <Format> dan <Options> sekaligus. Format yang telah ditentukan sebelumnya mencakup: xml.com, yahoo, google, dan badgerFish.

Diagnosis

  1. Periksa semua kebijakan XML ke JSON di proxy API tertentu tempat kegagalan terjadi. Jika ada kebijakan XML ke JSON di mana salah satu elemen <Options> atau <Format> tidak dideklarasikan, maka itulah penyebab error.

    Misalnya, kebijakan berikut tidak memiliki salah satu elemen yang dideklarasikan:

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

Resolusi

Pastikan XML kebijakan XML ke JSON memiliki salah satu elemen <Options> atau <Format> yang dideklarasikan dalam kebijakan.

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

Contoh 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

Pesan error

Penyebaran proxy API melalui Edge UI atau Edge API pengelolaan gagal dengan pesan kesalahan ini:

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

Contoh error

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

Screenshot contoh

Penyebab

Jika elemen <Format> dalam kebijakan XML ke JSON memiliki format yang tidak diketahui, deployment proxy API akan gagal.

Format yang telah ditentukan sebelumnya mencakup: xml.com, yahoo, google, dan badgerFish.

Diagnosis

  1. Identifikasi kebijakan XML ke JSON tempat terjadinya error dan format yang tidak diketahui. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, nama kebijakan adalah WithFormat dan format yang tidak diketahui adalah google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Pastikan format tidak dikenal yang ditentukan dalam kebijakan XML ke JSON yang gagal cocok dengan nilai yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan format sebagai google.com, yang cocok dengan isi pesan error:

    <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. Jika Format yang ditentukan bukan salah satu di antara format yang telah ditentukan xml.com, yahoo, google, atau badgerFish, maka itulah penyebab error.

    Pada contoh Kebijakan XML ke JSON yang ditampilkan di atas, formatnya adalah google.com yang tidak valid. Oleh karena itu, deployment Proxy API gagal dengan error:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Resolusi

Pastikan format yang ditentukan dalam elemen <Format> dari kebijakan XML ke JSON valid. Contoh:

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