Pemecahan masalah error deployment kebijakan XML ke JSON

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

EitherOptionOrFormat

Pesan error

Deployment proxy API melalui UI Edge atau API pengelolaan Edge 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.

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> secara bersamaan. Format standar meliputi: 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 salah satu elemennya, <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

Deployment proxy API melalui UI Edge atau API pengelolaan Edge 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.

Screenshot contoh

Penyebab

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

Format standar meliputi: xml.com, yahoo, google, dan badgerFish.

Diagnosis

  1. Identifikasi kebijakan XML ke JSON tempat error terjadi 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 yang tidak diketahui 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 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> 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>