Rozwiązywanie problemów z wdrażaniem zasad z XML na JSON

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

EitherOptionOrFormat

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:

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

Przykład błędu

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli jeden z elementów <Options> lub <Format> nie jest zadeklarowany w zasadach XML-JSON, wdrożenie serwera proxy interfejsu API się nie powiedzie.

Właściwość <Options> jest wymagana, jeśli nie używasz właściwości <Format>.

Użyj elementu <Format> lub grupy elementów <Options>. Nie możesz używać jednocześnie właściwości <Format><Options>. Wstępnie zdefiniowane formaty to: xml.com, yahoo, google i badgerFish.

Diagnostyka

  1. Sprawdź wszystkie zasady konwersji XML na JSON w poszczególnych serwerach proxy interfejsu API, w których wystąpił błąd. Jeśli istnieje jakakolwiek zasada XML na JSON, w której nie jest zadeklarowany żaden z elementów <Options> ani <Format>, jest to przyczyna błędu.

    Na przykład te zasady nie zawierają żadnego z tych elementów:

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

Rozdzielczość

Upewnij się, że kod XML w zasadzie XML do JSON zawiera jeden z elementów <Options> lub <Format> zadeklarowanych w zasadzie.

Przykład 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>

Przykład 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

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetleniem tego komunikatu o błędzie:

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

Przykład błędu

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli element <Format> w zasadach konwersji XML na JSON ma zdefiniowany nieznany format, wdrażanie proxy interfejsu API się nie powiedzie.

Wstępnie zdefiniowane formaty to: xml.com, yahoo, google i badgerFish.

Diagnostyka

  1. Określ zasadę XML na JSON, w której wystąpił błąd, i nieznany format. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa zasad to WithFormat, a nieznany format to google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
  2. Sprawdź, czy nieznany format podany w zasadach konwersji XML na JSON odpowiada wartości wskazanej w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa format jako google.com, który jest zgodny z formatem w komunikatach o błędach:

    <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. Jeśli wybrany format nie jest jednym z wstępnie zdefiniowanych formatów xml.com, yahoo, google lub badgerFish, to jest to przyczyna błędu.

    W wymienionym powyżej przykładzie zasad XML na JSON format jest nieprawidłowy (google.com). W związku z tym wdrożenie interfejsu API Proxy kończy się niepowodzeniem z powodu tego błędu:

    XMLToJSON[WithFormat]: Unknown Format google.com.

Rozdzielczość

Sprawdź, czy format określony w elemencie <Format> zasady XML na JSON jest prawidłowy. Na przykład:

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