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

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

EitherOptionOrFormat

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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 jeden z elementów <Options> lub <Format> nie jest zadeklarowany w zasadzie XML na JSON, wdrożenie serwera proxy interfejsu API się nie uda.

Jeśli pole <Format> nie jest używane, pole <Options> jest wymagane.

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

Diagnostyka

  1. Sprawdź wszystkie zasady XML na JSON na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli występuje zasada XML na JSON, w której nie zadeklarowano żadnego z elementów <Options> lub <Format>, to jest przyczyną błędu.

    Na przykład ta zasada nie zawiera żadnego z zadeklarowanych 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 kod XML zasady XML na 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 na JSON ma zdefiniowany nieznany format, wdrożenie serwera proxy interfejsu API się nie uda.

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

Diagnostyka

  1. Wskaż 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 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 błędnej zasadzie 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 google.com, który jest zgodny z treścią komunikatu 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 podany format nie należy do wstępnie zdefiniowanych formatów xml.com, yahoo, google lub badgerFish, to jest przyczyną błędu.

    W przykładowej zasadzie XML na JSON przedstawionej powyżej format to google.com, co jest nieprawidłowy. W związku z tym wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:

    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>