Está a ver a documentação do Apigee e do Apigee Hybrid.
Ver documentação do
Apigee Edge.
EitherOptionOrFormat
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] XMLToJSON[{0}]: Either Options or Format must be specified.
Exemplo de erro
Error Saving Revision 1
XMLToJSON[{0}]: Either Options or Format must be specified.
Captura de ecrã de exemplo
Causa
Se um dos elementos <Options>
ou <Format>
não for declarado na política de XML para JSON, a implementação do proxy de API falha.
O campo <Options>
é obrigatório se o campo <Format>
não for usado.
Use o elemento <Format>
ou o grupo de elementos <Options>
. Não pode usar <Format>
e <Options>
ao mesmo tempo. Os formatos predefinidos incluem: xml.com
, yahoo
, google
e badgerFish
.
Diagnóstico
Examine todas as políticas de XML para JSON no proxy de API específico onde ocorreu a falha. Se existir alguma política de XML para JSON em que qualquer um dos elementos
<Options>
ou<Format>
não esteja declarado, essa é a causa do erro.Por exemplo, a seguinte política não tem nenhum dos elementos declarados:
<?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>
Resolução
Certifique-se de que o XML da política XML para JSON tem um dos elementos <Options>
ou <Format>
declarados na política.
Exemplo 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>
Exemplo 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
Mensagem de erro
A implementação do proxy de API através da IU ou da API Apigee falha com esta mensagem de erro:
Error Saving Revision [revision_number] XMLToJSON[policy_name]: Unknown Format [unknown_format].
Exemplo de erro
Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.
Captura de ecrã de exemplo
Causa
Se o elemento <Format>
no interior da política XML para JSON tiver um formato desconhecido definido, a implementação do proxy de API falha.
Os formatos predefinidos incluem: xml.com
, yahoo
, google
e badgerFish
.
Diagnóstico
Identifique a política de XML para JSON onde ocorreu o erro e o formato desconhecido. Pode encontrar estas informações na mensagem de erro. Por exemplo, no erro seguinte, o nome da política é
WithFormat
e o formato desconhecido égoogle.com
:Error Saving Revision 1 XMLToJSON[WithFormat]: Unknown Format google.com.
Verifique se o formato desconhecido especificado na política de XML para JSON com falha corresponde ao valor identificado na mensagem de erro (passo n.º 1 acima). Por exemplo, a seguinte política especifica o formato como
google.com
, que corresponde ao que está na mensagem de erro:<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat"> <DisplayName>WithFormat</DisplayName> <Properties/> <Format>google.com</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
Se o formato especificado não estiver entre os formatos predefinidos
xml.com
,yahoo
,google
oubadgerFish
, essa é a causa do erro.No exemplo de política de XML para JSON apresentado acima, o formato é
google.com
, que é inválido. Por conseguinte, a implementação do proxy de API falha com o erro:XMLToJSON[WithFormat]: Unknown Format google.com.
Resolução
Certifique-se de que o formato especificado no elemento <Format>
da política de XML para JSON
é válido. Por exemplo:
<?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>