WebSphere Commerce può interagire con altri sistemi mediante i servizi SendReceiveImmediate (precedentemente invio/ricezione) della messaggistica in uscita. Ciò consente a WebSphere Commerce di inviare un messaggio a un altro sistema e attendere una risposta. Il metodo SendMsgCmd.sendReceiveImmediate() è molto simile al metodo SendMsgCmd.sendImmediate() tranne per il fatto che viene attesa una risposta dal sistema che riceve la richiesta del messaggi.
Nota: Il 'modo' nella console di gestione deve essere impostato su 1.
Una volta inviato il messaggio di richiesta, WebSphere Commerce si pone in attesa sulla coda in entrata (per impostazione predefinita, JMSInboundQueue) fino a che sulla coda non arriva un messaggio di risposta che ha un ID di correlazione uguale all'ID del messaggio della richiesta.
Per SendReceiveImmediate (invio/ricezione) si consiglia di utilizzare code differenti da quelle utilizzate per l'adattatore WebSphere MQ.
Per abilitare WebSphere Commerce Suite ad utilizzare il servizio SendReceiveImmediate dei messaggi, effettuare le seguenti operazioni:
- Creare un tipo di messaggio nella tabella MSGTYPES per il nuovo messaggio utilizzato per l'invio/ricezione.
- Per generare il messaggio in uscita, creare una voce nella tabella
VIEWREG per associare il valore VIEWNAME creato nel passo 1 con un file JSP. Tale voce deve utilizzare i seguenti valori:
- INTERFACENAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommand
- CLASSNAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl
- Input properties
- docname=JSP filename
Il valore nella colonna VIEWNAME è il valore VIEWNAME utilizzato per generare il messaggio da inviare.
- Creare un file JSP per generare il messaggio da inviare alla coda in uscita. Questo nome file JSP deve essere specificato quando viene aggiunta una riga alla tabella VIEWREG.
- Creare o personalizzare un comando (solo comandi di attività, per la personalizzazione) che utilizzi la modalità SendMsgCmd.sendReceiveImmediate() e l'ID del tipo di messaggio creato nella fase 1. Questa operazione viene effettuata per richiamare l'interfaccia SendMsgCmd.
- Utilizzare la Console di gestione per accertarsi che il trasporto assegnato al servizio SendReceiveImmediate sia attivo, come l'adattatore WebSphere MQ.
- Utilizzare la Console di gestione per definire ogni tipo di messaggio creato nel passo 1. Nel campo Modalità specificare 1. Ciò indica una modalità di comunicazione SendReceiveImmediate.