Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
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świetlany jest 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 któryś z elementów <Options>
lub <Format>
nie jest zadeklarowany w zasadzie XML to JSON, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Jeśli nie używasz <Format>
, wymagana jest właściwość <Options>
.
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
Sprawdź wszystkie zasady z formacie XML do JSON na określonym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada z jakiegokolwiek formatu XML na JSON, w której żaden z elementów
<Options>
lub<Format>
nie jest zadeklarowany, to jest przyczyną błędu.Na przykład ta zasada nie ma zadeklarowanych żadnych 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 w pliku XML zasad z kodu XML do JSON występuje 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świetlany jest 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 to 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
Wskaż zasadę z kodu XML na JSON, w której wystąpił błąd, oraz wskaż nieznany format. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
WithFormat
, a nieznany format togoogle.com
:Error Saving Revision 1 XMLToJSON[WithFormat]: Unknown Format google.com.
Sprawdź, czy nieznany format określony w nieudanej zasadzie XML do 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
, co jest zgodne 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>
Jeśli podany format nie należy do wstępnie zdefiniowanych formatów
xml.com
,yahoo
,google
lubbadgerFish
, to jest przyczyną błędu.W przedstawionym powyżej przykładowej zasadzie XML na JSON format to
google.com
, co jest nieprawidłowy. Dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:XMLToJSON[WithFormat]: Unknown Format google.com.
Rozdzielczość
Sprawdź, czy format określony w elemencie <Format>
zasady z 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>