Формирование, доступ и преобразование сообщений

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

С помощью политик, входящих в состав Apigee Edge, вы можете управлять сообщениями, проходящими через ваши API-прокси. С помощью политик вы можете:

  • Преобразовывать сообщения между форматами, например, из XML в JSON.
  • Задавайте значения переменных из содержимого сообщений и создавайте сообщения на основе значений переменных.
  • Для более сложной обработки сообщений и данных используйте процедурный код, например, JavaScript, Java и Python.

Как правило, при использовании этих политик входные и выходные данные указываются в виде переменных потока. Во время выполнения Apigee Edge извлекает входное значение из исходной переменной и записывает выходное значение в выходную переменную.

В этом разделе представлены эти возможности. Для получения более полной и технической информации см. соответствующие справочные материалы по каждой из них.

Простая обработка XML и JSON.

Apigee Edge включает в себя политики, упрощающие преобразование между XML и JSON, а также преобразование XML с помощью XSL.

Преобразование JSON в XML

Политика преобразования JSON в XML принимает ваши входные данные в формате JSON и преобразует их в XML.

В приведенном ниже примере политики используется сообщение в формате JSON, полученное из переменной request , после чего значение переменной заменяется сообщением в формате XML. Входные данные указываются в элементе <Source> , а выходные данные — в элементе <OutputVariable> .

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

Преобразование XML в JSON

Политика преобразования XML в JSON преобразует входное XML-сообщение в JSON.

В приведенном ниже примере политики используется XML-сообщение из переменной response , после чего значение переменной заменяется JSON-сообщением. Входные данные указываются в элементе <Source> , а выходные данные — в элементе <OutputVariable> .

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

Преобразование XML с помощью XSL

Политику преобразования XSL можно использовать для преобразования сообщений с помощью XSL. Например, после преобразования полезной нагрузки JSON в XML, вы можете использовать политику преобразования XSL с таблицей стилей для выполнения необходимого преобразования.

В приведенном ниже примере политики используется XML-форматированное сообщение из переменной response , после чего значение переменной заменяется сообщением, отформатированным с помощью my_transform.xsl . Входные данные указываются в элементе <Source> , а выходные данные — в элементе <OutputVariable> .

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

Обработка переменных данных

Обработка данных внутри прокси-сервера часто сводится к простой работе с данными состояния в качестве значений переменных потока. Зачастую это можно сделать с помощью политики, которая получает или устанавливает значения переменных. Например, может потребоваться преобразовать значения переменных в сообщение или извлечь содержимое сообщения для установки значений переменных.

Обязательно ознакомьтесь с источниками информации по следующим двум политикам:

Создание более сложных преобразований

Для обработки данных, сложность которых выходит за рамки возможностей включенных политик, можно использовать процедурные языки, такие как JavaScript, Java или Python.

Как правило, это включает в себя написание кода на одном из этих языков, а затем вызов этого кода из политики, специфичной для данного языка. Подробнее об этом см. в разделе «Включение процедурного кода» .