WebSphere Commerce peut interagir avec d'autres systèmes par l'intermédiaire du SendReceiveImmediate de messagerie sortante (précédemment Envoi/Réception). Cela permet à WebSphere Commerce d'envoyer un message à un autre système et d'attendre la réponse. Le comportement de SendMsgCmd.sendReceiveImmediate() est similaire à la méthode SendMsgCmd.sendImmediate(), si ce n'est qu'une réponse du système qui reçoit la demande de message est attendue.
Remarque : l'ensemble 'mode' de la console d'administration doit être défini sur 1.
Après l'envoi du message de demande, WebSphere Commerce écoute la file d'attente des communications entrantes (JMSInboundQueue, par défaut) tant que le message de réponse n'a pas été placé dans la file d'attente avec un ID de corrélation identique à l'ID message du message de demande.
Vous devez utiliser des files d'attente pour SendReceiveImmediate distinctes de celles utilisées pour le programme d'écoute WebSphere MQ.
Pour permettre à WebSphere Commerce d'utiliser le service de messagerie SendReceiveImmediate, procédez comme suit :
- Créez un type de message dans la table MSGTYPES pour le nouveau message utilisé pour l'Envoi/Réception.
- Pour générer le message sortant, créez une entrée dans la table VIEWREG afin d'associer le VIEWNAME
créé à l'étape 1 à un fichier JSP. L'entrée doit utiliser les valeurs suivantes :
- INTERFACENAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommand
- CLASSNAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl
- PROPERTIES
- docname=nom de fichier JSP
La valeur de la colonne VIEWNAME est celle utilisée pour générer le message à envoyer.
- Créez un fichier JSP afin de générer le message à envoyer à la file d'attente des communications sortantes. Le nom du fichier JSP doit être spécifié lorsqu'une ligne est ajouté à la table VIEWREG.
- Créez ou personnalisez une instruction (instruction d'activité uniquement, si vous souhaitez personnaliser) qui utilise le mode SendMsgCmd.sendReceiveImmediate() et l'ID type de message créé à l'étape 1. Celui-ci est utilisé pour appeler l'interface SendMsgCmd.
- Utilisez la console d'administration pour vous assurer que le transfert affecté à la fonction SendReceiveImmediate est actif, comme WebSphere MQ Adapter.
- Utilisez la console d'administration pour définir chaque type de message créé à l'étape 1. Dans la zone Mode, indiquez 1 (correspond au mode de communication SendReceiveImmediate).