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

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

Вы можете использовать политики, включенные в 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.

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