Fehlerbehebung bei der Bereitstellung von "XML-to-JSON"-Richtlinien

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

EitherOptionOrFormat

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Ist eines der Elemente <Options> oder <Format> in der "XML-to-JSON"-Richtlinie nicht deklariert, schlägt die Bereitstellung des API-Proxys fehl.

<Options> ist erforderlich, wenn <Format> nicht verwendet wird.

Verwenden Sie entweder das <Format>-Element oder die <Options>-Elementgruppe. Sie können nicht sowohl <Format> als auch <Options> verwenden. Vordefinierte Formate sind: xml.com, yahoo, google und badgerFish.

Diagnose

  1. Untersuchen Sie alle "XML-to-JSON"-Richtlinien in dem API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine "XML-to-JSON"-Richtlinie gibt, bei der eines der Elemente <Options> oder <Format> nicht deklariert ist, ist dies die Fehlerursache.

    Beispielsweise enthält die folgende Richtlinie keines der deklarierten Elemente:

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

Lösung

Prüfen Sie, ob in der XML der "XML-to-JSON"-Richtlinie eines der Elemente <Options> oder <Format> in der Richtlinie deklariert ist.

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

Beispiel 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

Fehlermeldung

Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:

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

Beispiel für Fehlermeldung

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

Beispiel-Screenshot

Ursache

Wenn für das Element <Format> in der "XML-to-JSON"-Richtlinie ein unbekanntes Format definiert ist, schlägt die Bereitstellung des API-Proxys fehl.

Vordefinierte Formate sind: xml.com, yahoo, google und badgerFish.

Diagnose

  1. Ermitteln Sie die Richtlinie „XML to JSON”, in der der Fehler aufgetreten ist, sowie das unbekannte Format. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise WithFormat und das unbekannte Format ist google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Prüfen Sie, ob das unbekannte Format, das in der fehlgeschlagenen "XML-to-JSON"-Richtlinie angegeben ist, mit dem in der Fehlermeldung angegebenen Wert übereinstimmt (Schritt 1 oben). Die folgende Richtlinie gibt beispielsweise die Anforderung als google.com an, was dem Inhalt der Fehlermeldung entspricht:

    <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. Wenn das angegebene Format nicht in den vordefinierten Formaten xml.com, yahoo, google oder badgerFish vorliegt, ist dies die Ursache des Fehlers.

    Im obigen Beispiel für die "XML-to-JSON"-Richtlinie ist das Format google.com ungültig. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Lösung

Prüfen Sie, ob das im Element <Format> der "XML-to-JSON"-Richtlinie spezifizierte Format gültig ist. Beispiel:

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