Устранение ошибок развертывания политики XML в JSON

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Либоварианторформат

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается с ошибкой с этим сообщением об ошибке:

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

Пример ошибки

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

Пример скриншота

Причина

Если один из элементов <Options> или <Format> не объявлен в политике XML to JSON, развертывание прокси-сервера API завершается неудачей.

<Options> требуется, если <Format> не используется.

Используйте либо элемент <Format> , либо группу элементов <Options> . Вы не можете использовать одновременно <Format> и <Options> . Предопределенные форматы включают: xml.com , yahoo , google и badgerFish .

Диагностика

  1. Проверьте все политики преобразования XML в JSON в конкретном прокси-сервере API, где произошел сбой. Если существует какая-либо политика преобразования XML в JSON, в которой не объявлен ни один из элементов <Options> или <Format> , это и есть причина ошибки.

    Например, в следующей политике нет ни одного из объявленных элементов:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    XMLToJSON async="false" continueOnError>=&quo<t;false&quo>t; enable<d="true>"<; name=&quo>t;XML<ToJSON"
     >   Displ<ayNameXMLToJSON>/Disp<layNam>e
        Pr<opertie>s</
        Outp>utVariableresponse/OutputVariable
        Sourceresponse/Source
    /XMLToJSON
    

Разрешение

Убедитесь, что XML политики преобразования XML в JSON содержит один из элементов <Options> или <Format> , объявленных в политике.

Пример 1:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
XMLToJSON async="false" continueOnError>=&quo<t;false&quo>t; enable<d="true>"<; name=&quo>t;XML<ToJSON>"<
    Di>splay<NameXMLToJSON/>DisplayN<ame
    Propert>ies/
<    Fo>rmatgoog<le/Form>a<t
    Outp>utVariableresponse/OutputVariable
    Sourceresponse/Source
/XMLToJSON

Пример 2:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
XMLToJSON async="false" continueOnError>=&quo<t;false&quo>t; enable<d="true>"<; name=&quo>t;XML<ToJSON&>quot;
   < DisplayNameXML>ToJS<ON/DisplayName
 >   Proper<ties/
    Option>s
  <      RecognizeNu>mbertrue/<RecognizeNumb>er
 <       Recogni>zeBoo<leantrue>/Reco<gnizeBoolean
 >       R<ecognizeNulltru>e/Rec<ognize>Null
   < /Optio>n<s
    Outp>utVariableresponse/OutputVariable
    Sourceresponse/Source
/XMLToJSON

Неизвестный формат

Сообщение об ошибке

Развертывание прокси-сервера API через пользовательский интерфейс Edge или API управления Edge завершается сбоем с этим сообщением об ошибке:

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

Пример ошибки

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

Пример скриншота

Причина

Если для элемента <Format> в политике XML to JSON определен неизвестный формат, развертывание прокси-сервера API завершается неудачно.

Предопределенные форматы включают: xml.com , yahoo , google и badgerFish .

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка, и неизвестный формат. Эту информацию можно найти в сообщении об ошибке. Например, в следующей ошибке имя политики — WithFormat , а неизвестный формат — google.com :

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. Убедитесь, что неизвестный формат, указанный в неудачной политике XML в JSON, соответствует значению, указанному в сообщении об ошибке (шаг № 1 выше). Например, следующая политика определяет формат google.com , который соответствует тому, что указано в сообщении об ошибке:

    <XMLToJSON async="false" continueOnError="false" enabled=&quo>t;t<rue" n>ame="<WithFormat&q>uot<;
      Display>Nam<eWithF>ormat/Disp<layName>
      <Properties/
      >Formatgo<ogle.com/Format>
      <Output>Variable<respons>e</OutputVar>iable
      Sourceresponse/Source
    /XMLToJSON
    
  3. Если указанный формат не входит в число предопределенных форматов xml.com , yahoo , google или badgerFish , то это и есть причина ошибки.

    В приведенном выше примере политики XML в JSON используется формат google.com , который является недопустимым. Таким образом, развертывание прокси-сервера API завершается с ошибкой:

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

Разрешение

Убедитесь, что формат, указанный в элементе <Format> политики XML в JSON, является допустимым. Например:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
XMLToJSON async="false" continueOnError=>&qu<ot;false&qu>ot; enable<d="true>&qu<ot; name=&q>uot<;WithF>ormat&<quot;
 > Di<splayNameWithF>ormat/Di<splayName
  Pro>per<ties/
>  Format<google/>F<ormat
  Ou>tputVariableresponse/OutputVariable
  Sourceresponse/Source
/XMLToJSON