Richiamo di un servizio Web di un'applicazione abilitata WebSphere MQ

In questo scenario viene rappresentata un'applicazione che utilizza WebSphere MQ per richiamare un servizio Web durante l'elaborazione di un messaggio. Per questo esempio viene utilizzato il dominio MIME. Di seguito vengono forniti il flusso di messaggi e le relative strutture per tale scenario:

Nel diagramma viene illustrato l'invio e la ricezione dei messaggi da un flusso di messaggi mediante un client abilitato MQ esterno. Il flusso di messaggi è composto da un nodo MQInput connesso a un nodo Compute denominato Compute1. Il nodo Compute viene connesso quindi a un nodo HTTPRequest. Il nodo HTTPRequest effettua una richiesta presso un servizio Web esterno e riceve la risposta. Il messaggio viene quindi inviato a un secondo nodo Compute denominato Compute2. Tale nodo viene connesso a un nodo MQOutput che invia un messaggio di risposta al client MQ.

Quando un messaggio MIME viene immesso in un flusso di messaggi il Content-Type e altre intestazioni MIME principali vengono memorizzate nella struttura MIME. Il broker memorizza inoltre una copia del Content-Type del messaggio come valore ContentType nell'albero secondario Proprietà. Nel diagramma riportato di seguito vengono descritte alcune parti dell'albero dei messaggi dopo che ha lasciato il nodo MQInput:

Nel diagramma viene descritto l'albero logico dei messaggi dopo che il messaggio ha lasciato il nodo MQInput. Il valore principale dell'albero viene denominato Root e dispone di tre elementi child. Questi sono, nell'ordine, Proprietà, MQMD e MIME.

Il primo nodo Compute, Compute1, viene utilizzato per impostare HTTPRequestHeader se è richiesto. E' inoltre possibile utilizzare Compute 1 per creare un nuovo albero MIME o modificare la struttura MIME esistente se l'applicazione intermedia che fornisce il servizio Web richiede un messaggio MIME.

Quando il nodo HTTPRequest emette un messaggio di richiesta, l'intestazione MQMD viene rimossa dall'albero dei messaggi. Se è necessario salvare le informazioni da MQMD, ad esempio MsgId, per utilizzarle nel messaggio di risposta al client MQ client, è possibile eseguire tale operazione effettuando una delle procedure riportate di seguito.
  • E' possibile salvare i campi richiesti nell'albero Environment mediante Compute1 in modo da consentire una nuova creazione di MQMD mediante il secondo nodo Compute, Compute2.
  • Compute1 salva i campi richiesti nell'albero OutputLocalEnvironment in modo da consentire a Compute2 di creare nuovamente MQMD. Per effettuare tale operazione, è necessario configurare la propagazione di Messaggio e Ambiente Locale mediante Compute1.
  • Configurare il nodo HTTPRequest in modo da non sostituire il messaggio di input con la risposta HTTP. Specificare invece che la risposta venga allegata come OutputRoot.MIME. La struttura di input originale e MQMD sono ancora disponibili, ma è necessario che Compute2 modifichi la struttura prima di trasmettere il messaggio al nodo MQOutput. Ad esempio, è possibile che sia necessario che Compute2 rimuova parti della struttura, ad esempio HTTPRequestHeader e HTTPResponseHeader. Per effettuare tale operazione, copiare solo le parti della struttura che si desidera mantenere. Il seguente ESQL è un esempio di procedura per effettuare tale operazione:
    SET OutputRoot.MQMD = InputRoot.MQMD; 
    SET OutputRoot.MIME = InputRoot.MIME;

Le proprietà del nodo HTTPRequest verificano il contenuto della struttura di output.

Nei diagrammi riportati di seguito viene descritto l'albero dei messaggi prima e dopo la chiamata del servizio Web nel nodo HTTPRequest:

Nel diagramma viene descritto l'albero logico dei messaggi quando la richiesta del servizio Web viene inviata dal nodo HTTPRequest. Il valore principale dell'albero viene denominato Root e dispone di tre elementi child. Questi sono, nell'ordine, Proprietà, HTTPRequestHeader e MIME.

Nel diagramma viene descritto l'albero logico dei messaggi quando il messaggio viene restituito dalla richiesta del servizio Web al nodo HTTPRequest. Il valore principale dell'albero viene denominato Root e dispone di quattro elementi child. Questi sono, nell'ordine, Proprietà, HTTPRequestHeader, HTTPResponseHeader e MIME.

Compute2 viene utilizzato per creare o ripristinare MQMD se è necessario uno e per rimuovere dall'albero intestazioni non appropriate, ad esempio HTTPResponseHeader.

Concetti correlati
Manipolazione dei messaggi nel dominio MIME
Dettagli della struttura MIME
Messaggi MIME
Attività correlate
Sviluppo di ESQL
Sviluppo di Java
Riferimenti correlati
Creazione di un servizio Web con trasporto HTTP
Creazione di un servizio Web con trasporto WebSphere MQ
Accesso alle applicazioni abilitate WebSphere MQ come servizio Web
Nodo HTTPReply
Nodo HTTPRequest
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac30050_