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 Edge management API gagal dengan pesan error ini:

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

Error contoh

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

Contoh screenshot

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 meliputi: xml.com, yahoo, google, dan badgerFish.

Diagnosis

  1. Periksa semua kebijakan XML ke JSON dalam proxy API tertentu tempat kegagalan terjadi. Jika ada kebijakan XML ke JSON yang salah satu elemen <Options> atau <Format> tidak dideklarasikan, berarti 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 Edge management API gagal dengan pesan error ini:

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

Error contoh

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

Contoh screenshot

Penyebab

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

Format yang telah ditentukan sebelumnya 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 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 yang telah ditentukan xml.com, yahoo, google, atau badgerFish, berarti itulah penyebab error.

    Pada contoh Kebijakan XML ke JSON yang ditunjukkan 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>