WebSphere Commerce puede interactuar con otros sistemas a través de los servicios SendReceiveImmediate (anteriormente Servicios de Envío/Recepción) de la mensajería de salida. Esto permite a WebSphere Commerce enviar un mensaje a otro sistema y esperar la respuesta. El comportamiento de SendMsgCmd.sendReceiveImmediate() es similar al del método SendMsgCmd.sendImmediate() con la excepción de que espera que le devuelva una respuesta el sistema que ha recibido su petición de mensaje.
Nota: El valor de modalidad en la Consola de administración debe establecerse en 1.
Después de enviar el mensaje de petición, WebSphere Commerce escucha la cola de entrada (por omisión, JMSInboundQueue) y espera hasta que el mensaje de respuesta se coloque en la con un ID de correlación igual al ID de mensaje del mensaje de petición.
Debería utilizar colas para SendReceiveImmediate distintas de las colas que utiliza para el escucha de WebSphere MQ.
Para habilitar WebSphere Commerce para que utilice el servicio de mensajes SendReceiveImmediate, haga lo siguiente:
- Cree un tipo de mensaje en la tabla MSGTYPES para el mensaje nuevo que se utiliza para el Envío/Recepción.
- Para generar el mensaje de salida, cree una entrada en la tabla
VIEWREG para asociar el valor VIEWNAME creado en el paso 1 con un archivo
JSP. La
entrada debe utilizar los valores siguientes:
- INTERFACENAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommand
- CLASSNAME
- com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl
- PROPERTIES
- docname=nombre archivo JSP
El valor en la columna VIEWNAME es el VIEWNAME utilizado para generar el mensaje que se ha de enviar.
- Cree un archivo JSP para generar el mensaje a enviar a la cola de salida. Este nombre de archivo JSP se debe haber especificado cuando se añade una fila a la tabla VIEWREG.
- Cree o personalice un mandato (solamente mandato de tarea, si trabaja con la personalización) que utilice la modalidad SendMsgCmd.sendReceiveImmediate() y el ID de tipo de mensaje creado en el paso 1. Esto se utiliza para llamar a la interfaz SendMsgCmd.
- Utilice la Consola de administración para asegurarse de que el transporte asignado al servicio SendReceiveImmediate esté activo como, por ejemplo, el adaptador WebSphere MQ.
- Utilice la Consola de administración para definir cada tipo de mensaje que ha creado en el paso 1. En el campo Modalidad especifique 1. Esto indica una modalidad de SendReceiveImmediate de comunicación.