Como restringir, acessar e converter mensagens

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

É possível usar políticas incluídas no Apigee Edge para manipular as mensagens que passam pelos proxies da API. Com as políticas, você pode:

  • Converter mensagens entre formatos, por exemplo, de XML para JSON.
  • Definir valores de variável do conteúdo da mensagem e crie mensagens a partir de valores variáveis.
  • Usar código processual, como JavaScript, Java e Python, para lidar com mensagens e dados de maneiras mais complexas.

Em geral, ao usar essas políticas, você especifica a entrada e a saída como variáveis de fluxo. No ambiente de execução, o Apigee Edge recupera o valor de entrada de uma variável de origem e grava o valor de saída em uma variável de saída.

Este tópico apresenta esses recursos. Para mais informações técnicas e completas, consulte as referências de política de cada um.

Processamento simples para XML e JSON

O Apigee Edge inclui políticas que facilitam a conversão entre XML e JSON e para transformar XML com XSL.

Como converter JSON em XML

A política JSON para XML converte a entrada JSON em XML.

No exemplo de política a seguir, a política usa uma mensagem formatada em JSON da variável request e substitui o valor da variável por uma mensagem formatada em XML. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <OutputVariable>.

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

Como converter XML em JSON

A política XML para JSON converte uma mensagem de entrada XML em JSON.

No exemplo de política a seguir, a política usa uma mensagem formatada em XML da variável response e substitui o valor da variável por uma mensagem formatada em JSON. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <OutputVariable>.

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

Como transformar XML com XSL

Você pode usar a política de transformação XSL para transformar mensagens usando o XSL. Por exemplo, após a conversão de um payload JSON em XML, é possível usar a política de transformação XSL com uma folha de estilo para executar a transformação necessária.

No exemplo de política a seguir, a política usa uma mensagem formatada em XML da variável response e substitui o valor da variável por uma mensagem formatada por my_transform.xsl. A entrada é especificada no elemento <Source>, enquanto a saída é especificada no elemento <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/>

Como processar dados variáveis

O gerenciamento de dados em um proxy geralmente envolve apenas o trabalho com dados de estado como valores de variável de fluxo. Geralmente, isso é feito usando uma política que obtém ou define valores variáveis. Por exemplo, é possível moldar valores de variáveis em uma mensagem ou extrair o conteúdo de uma mensagem para definir valores variáveis.

Consulte as referências para as duas políticas a seguir:

Como criar transformações mais complexas

Para o processamento de dados com complexidade fora da capacidade das políticas incluídas, use linguagens procedurais como JavaScript, Java ou Python.

Geralmente, isso envolve a gravação do código em um desses idiomas e, em seguida, a invocação do código a partir de uma política específica para a linguagem. Para saber mais, consulte Como incorporar código processual.