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>