Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Il componente Data Mapper

Completiamo la procedura necessaria per la pubblicazione di un Web service con l'ausilio di Mule ESB aggiungendo il componente Data Mapper.
Completiamo la procedura necessaria per la pubblicazione di un Web service con l'ausilio di Mule ESB aggiungendo il componente Data Mapper.
Link copiato negli appunti

Dopo aver affrontato la fase dell creazione del Custom Transformer e del Logger aggiungiamo il componente Data Mapper dalla palette unitamente al Logger, selezioniamo quindi il Data mapper e nel tab delle "Properties" per la sezione dell'input scegliamo la voce "Json" ed effettuiamo il caricamento dal nostro file.

Per la sezione output carichiamo il pojo specificando nel tab "Type" il valore "Pojo" e per "Class" il nome qualificato, clicchiamo poi sul pulsante "Create Mapping" per ottenere il mapping automatico nel caso in cui i campi coincidano:

Figura 1. Risultato finale del mapping

Il mapping non dovrà essere necessariamente "1:1", nel senso che il Pojo avrebbe potuto avere anche il solo campo "codiceIban" anche se il messaggio JSON contiene più informazioni; se si clicca su uno dei campi è inoltre possibile associarlo manualmente ad un altro campo; Mule controllerà la compatibilità di tipo (se non a compile a run-time.

Ora non resta che aggiungere un componente Flow Control "Choice" per ottenere un'elaborazione diversa in base al valore restituito dal Web service:

Figura 2. Componente Flow Control

Ora trasciniamo tre componenti dalla palette nel riquadro di "Seleziona flusso", e cioè un Logger, un setPayload e un connector JMS per il ramo "Error":

Figura 3. Ramo Error

Dove il Logger stampa un messaggio, il setPayload prepara il messaggio da inviare alla coda "errorQueue"; basta impostare il value nella sezione "Settings" del tab, all'espressione "Codice Cliente Inesistente: #[payload]"; mentre la configurazione della coda JMS:

Figura 4. La configurazione di errorQueue

Non dimentichiamo infine di importare la libreria activemq-core-5.7.0.jar nel nostro progetto. Fatto questo ripetiamo gli stessi passi per il ramo "Success":

Figura 5. Configurazione del ramo Success

Infine aggiungiamo le conditions al "Choice" per i due rami:

Figura 6. Aggiunta delle condizioni allo Choice 'seleziona flusso'

L'ultimo passaggio consisterà nel convertire il messaggio di risposta dal browser in formato stringa, in modo che la visualizzazione avvenga senza problemi; ciò si otterrà aggiungendo all'esterno del flow il componente predefinito "Object to String".

Avviando l'applicazione il container di Mule avrà già pubblicato il nostro Web service; digitiamo quindi da browser l'url http://localhost:808/startMuleExample?codiceCliente=valore riceveremo la schermata di risposta:

Codice Cliente presente:
nome:Giuseppe
cognome:Astarita
iban:ACVXFXXFDCHS564243
potete anche verificare la correttezza dei messaggi stampati nella console di output:
per ActiveMQ, il messaggio è stato inviato alla coda come ci aspettavamo e potete verificarlo voi stessi.


Ti consigliamo anche