Risoluzione dei problemi relativi al deployment dei criteri XML to JSON

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

EitherOptionOrFormat

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Errore di esempio

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

Screenshot di esempio

Causa

Se uno degli elementi <Options> o <Format> non è dichiarato nel criterio XML to JSON, il deployment del proxy API non va a buon fine.

<Options> è obbligatorio se non viene utilizzato <Format>.

Utilizza l'elemento <Format> o il gruppo di elementi <Options>. Non puoi utilizzare sia <Format> sia <Options>. I formati predefiniti includono: xml.com, yahoo, google e badgerFish.

Diagnosi

  1. Esamina tutte le norme XML to JSON nel proxy API specifico in cui si è verificato l'errore. Se in un criterio XML to JSON uno degli elementi <Options> o <Format> non è dichiarato, questo è il motivo dell'errore.

    Ad esempio, la seguente policy non ha dichiarato nessuno dei due elementi:

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

Risoluzione

Assicurati che l'XML della policy XML to JSON abbia uno degli elementi <Options> o <Format> dichiarati nella policy.

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

Esempio 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

Messaggio di errore

Il deployment del proxy API tramite la UI Edge o l'API di gestione Edge non riesce e viene visualizzato questo messaggio di errore:

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

Errore di esempio

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

Screenshot di esempio

Causa

Se l'elemento <Format> all'interno del criterio XML to JSON ha un formato sconosciuto definito, il deployment del proxy API non va a buon fine.

I formati predefiniti includono: xml.com, yahoo, google e badgerFish.

Diagnosi

  1. Identifica la policy XML to JSON in cui si è verificato l'errore e il formato sconosciuto. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nel seguente errore, il nome della policy è WithFormat e il formato sconosciuto è google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Verifica che il formato sconosciuto specificato nel criterio XML in JSON non riuscito corrisponda al valore identificato nel messaggio di errore (passaggio 1 sopra). Ad esempio, la seguente policy specifica il formato come google.com, che corrisponde a quello del messaggio di errore:

    <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. Se il formato specificato non è uno dei formati predefiniti xml.com, yahoo, google o badgerFish, questo è il motivo dell'errore.

    Nell'esempio di policy XML to JSON mostrato sopra, il formato è google.com, che non è valido. Pertanto, il deployment del proxy API non riesce e viene visualizzato il seguente errore:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Risoluzione

Assicurati che il formato specificato nell'elemento <Format> del criterio XML in JSON sia valido. Ad esempio:

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