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

Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:

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

Przykładowy błąd

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

Przykładowy zrzut ekranu

Przyczyna

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

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 <Format> i <Options>. Wstępnie zdefiniowane formaty to: xml.com, yahoo, google i badgerFish.

Diagnostyka

  1. Sprawdź wszystkie zasady XML do JSON w konkretnym serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli w zasadach XML do JSON nie zadeklarowano elementu <Options> lub <Format>, to jest to przyczyną błędu.

    Na przykład w tych zasadach nie ma ż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ść

Sprawdź, czy w pliku XML zasady XML do JSON zadeklarowano jeden z elementów <Options> lub <Format>.

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

Wdrażanie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetla ten komunikat o błędzie:

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

Przykładowy błąd

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli element <Format> w zasadzie XML do JSON ma zdefiniowany nieznany format, wdrożenie serwera proxy interfejsu API nie powiedzie się.

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

Diagnostyka

  1. Określ zasadę XML do JSON, w której wystąpił błąd, oraz nieznany format. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to WithFormat, a nieznany format to google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Sprawdź, czy nieznany format określony w zasadach dotyczących konwersji nieprawidłowego pliku XML na JSON jest zgodny z wartością podaną 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 komunikacie o błędzie:

    <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 określony format nie jest jednym z predefiniowanych formatów xml.com, yahoo, google lub badgerFish, to jest to przyczyną błędu.

    W przykładzie zasady XML do JSON powyżej format to google.com, co jest nieprawidłowe. W związku z tym wdrożenie proxy interfejsu API nie powiedzie się i zostanie wyświetlony błąd:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Rozdzielczość

Sprawdź, czy format określony w elemencie <Format> zasady XML do 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>