Creazione, accesso e conversione dei messaggi

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Puoi utilizzare le policy incluse in Apigee Edge per manipolare i messaggi che transitano attraverso i tuoi proxy API. Con le policy puoi:

  • Convertire i messaggi tra formati, ad esempio da XML a JSON.
  • Impostare i valori delle variabili dal contenuto dei messaggi e creare messaggi dai valori delle variabili.
  • Utilizzare codice procedurale, come JavaScript, Java e Python, per gestire messaggi e dati in modi più complessi.

In generale, quando utilizzi queste policy, specifichi l'input e l'output come variabili di flusso. In fase di runtime, Apigee Edge recupera il valore di input da una variabile di origine e scrive il valore di output in una variabile di output.

Questo argomento introduce queste funzionalità. Per informazioni più complete e tecniche, consulta i riferimenti alle policy per ciascuna.

Gestione semplice di XML e JSON

Apigee Edge include policy che semplificano la conversione tra XML e JSON e la trasformazione di XML con XSL.

Conversione di JSON in XML

La policy JSON to XML accetta l'input JSON e lo converte in XML.

Nell'esempio di policy seguente, la policy accetta un messaggio in formato JSON dalla request variabile, quindi sostituisce il valore della variabile con un messaggio in formato XML. L'input è specificato nell'elemento <Source>, mentre l'output è specificato nell'elemento <OutputVariable>.

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

Conversione di XML in JSON

La policy XML to JSON converte il messaggio di input XML in JSON.

Nell'esempio di policy seguente, la policy accetta un messaggio in formato XML dalla response variabile, quindi sostituisce il valore della variabile con un messaggio in formato JSON. L'input è specificato nell'elemento <Source>, mentre l'output è specificato nell'elemento <OutputVariable>.

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

Trasformazione di XML con XSL

Puoi utilizzare la policy XSL Transform per trasformare i messaggi utilizzando XSL. Ad esempio, dopo aver convertito un payload JSON in XML, puoi utilizzare la policy XSL Transform con un foglio di stile per eseguire la trasformazione di cui hai bisogno.

Nell'esempio di policy seguente, la policy accetta un messaggio in formato XML dalla response variabile, quindi sostituisce il valore della variabile con un messaggio formattato da my_transform.xsl. L'input è specificato nell'elemento <Source>, mentre l'output è specificato nell'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/>

Gestione dei dati delle variabili

La gestione dei dati all'interno di un proxy spesso comporta semplicemente l'utilizzo dei dati di stato come valori delle variabili di flusso. Spesso puoi farlo utilizzando una policy che recupera o imposta i valori delle variabili. Ad esempio, potresti voler trasformare i valori delle variabili in un messaggio o estrarre il contenuto di un messaggio per impostare i valori delle variabili.

Assicurati di consultare i riferimenti per le seguenti due policy:

Creazione di trasformazioni più complesse

Per la gestione dei dati la cui complessità non rientra nelle funzionalità delle policy incluse, puoi utilizzare linguaggi procedurali come JavaScript, Java o Python.

In genere, ciò comporta la scrittura di codice in uno di questi linguaggi, quindi l'invocazione del codice da una policy specifica per il linguaggio. Per saperne di più, consulta Incorporare codice procedurale.