Pemecahan masalah error deployment kebijakan XML ke JSON

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

EitherOptionOrFormat

Pesan error

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error 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.

Contoh screenshot

Pesan error opsi atau format harus ditentukan.

Penyebab

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

<Options> wajib ada jika <Format> tidak digunakan.

Gunakan elemen <Format> atau grup elemen <Options>. Anda tidak dapat menggunakan <Format> dan <Options> secara bersamaan. Format standar 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 yang tidak mendeklarasikan salah satu elemen <Options> atau <Format>, 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

Deployment proxy API melalui UI atau API Apigee gagal dengan pesan error 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.

Contoh screenshot

Pesan error format tidak diketahui.

Penyebab

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

Format standar 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. Verifikasi bahwa 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 yang ada dalam 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 standar xml.com, yahoo, google, atau badgerFish, maka itulah penyebab errornya.

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