Solucionar problemas de errores de implementación de políticas de XML a JSON

Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

EitherOptionOrFormat

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

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

Ejemplo de error

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

Captura de pantalla de ejemplo

Se debe especificar un formato o una opción.

Causa

Si uno de los elementos <Options> o <Format> no se declara en la política de XML a JSON, se producirá un error al implementar el proxy de API.

<Options> es obligatorio si no se usa <Format>.

Usa el elemento <Format> o el grupo de elementos <Options>. No puedes usar <Format> y <Options> al mismo tiempo. Entre los formatos predefinidos se incluyen xml.com, yahoo, google y badgerFish.

Diagnóstico

  1. Examina todas las políticas de XML a JSON del proxy de API específico en el que se ha producido el error. Si hay alguna política de XML a JSON en la que no se haya declarado ninguno de los elementos <Options> o <Format>, ese será el motivo del error.

    Por ejemplo, la siguiente política no tiene ninguno de los 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>
    

Resolución

Asegúrate de que el XML de la política XML a JSON tenga uno de los elementos <Options> o <Format> declarados en la política.

Ejemplo 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>

Ejemplo 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

Mensaje de error

La implementación del proxy de API a través de la interfaz de usuario o la API de Apigee falla y se muestra este mensaje de error:

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

Ejemplo de error

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

Captura de pantalla de ejemplo

Mensaje de error de formato desconocido.

Causa

Si el elemento <Format> de la política XML a JSON tiene un formato desconocido, no se podrá implementar el proxy de API.

Entre los formatos predefinidos se incluyen xml.com, yahoo, google y badgerFish.

Diagnóstico

  1. Identifica la política de XML a JSON en la que se ha producido el error y el formato desconocido. Puedes encontrar esta información en el mensaje de error. Por ejemplo, en el siguiente error, el nombre de la política es WithFormat y el formato desconocido es google.com:

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Verifica que el formato desconocido especificado en la política de XML a JSON fallida coincida con el valor identificado en el mensaje de error (paso 1 anterior). Por ejemplo, la siguiente política especifica el formato google.com, que coincide con lo que aparece en el mensaje de error:

    <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. Si el formato especificado no es uno de los formatos predefinidos xml.com, yahoo, google o badgerFish, esa es la causa del error.

    En el ejemplo de política de XML a JSON que se muestra arriba, el formato es google.com, que no es válido. Por lo tanto, el despliegue del proxy de API falla y se muestra el siguiente error:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Resolución

Asegúrate de que el formato especificado en el elemento <Format> de la política XML a JSON sea válido. Por ejemplo:

<?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>