Servicios de envío

Se proporcionan los métodos siguientes con los servicios de envío del sistema de mensajería de salida:

public void sendImmediate()
Este método envía el mensaje inmediatamente a los destinatarios. El llamante se bloquea hasta que se ha enviado el mensaje.
public void sendTransacted()
Este método almacena el mensaje en la tabla de base de datos MSGSTORE. A una hora predeterminada, el planificador de HCL Commerce invoca un trabajo que envía todos los mensajes almacenados en modalidad de proceso por lotes. Este método asegura que se producirá un envío únicamente después de que el llamante haya comprometido o finalizado correctamente. Este método debe utilizarse si no se puede tolerar el bloqueo de una llamada mediante el método sendImmediate().
public void sendReceiveImmediate()
Este método se utiliza para realizar un envío de tipo petición-respuesta, (request-reply). Este tipo de envío se utiliza con el transporte JMS de IBM MQpara mensajes de integración de programas de fondo. El contenido de la respuesta se almacena internamente y se puede acceder a ella con el método getReply(). Sugerencia: Para llevar a cabo un envío-recepción utilizando el transporte JMS de IBM MQ, debe asegurarse de que ha establecido el atributo de modalidad de forma correcta, ya sea utilizando la consola de administración o el método setConfigData() en los servicios de datos de mensajes configurables.
public byte[] getResult()
Este método se utiliza para recuperar el resultado del método sendReceiveImmediate(). Para obtener el resultado, debe llamarse a este método después del método performExecute(), que ejecuta el mandato SendMsgCmd. Si se utiliza el servicio de envío SendReceiveImmediate, el mandato que realiza la llamada puede, opcionalmente, recibir el resultado (es decir, el mensaje de respuesta). Si la respuesta es un mensaje XML, los usuarios pueden procesar el mensaje de respuesta de este modo:

... byte[] result = sendMsgCmd.getResult(); String xmlResponse = new 
String(result); CommandProperty cmd = 
MessageMapperGroup.getObjectForMessage(xmlResponse,"WCS.INTEGRATION"); 
donde WCS.INTEGRATION es el nombre del correlacionador de mensajes.

Para realizar el paso anterior es necesario definir el contenido del mensaje en el archivo user_template.xml y la DTD correspondiente, lo mismo que al añadir un nuevo mensaje XML de entrada al sistema de mensajería. El nombre del mandato puede ser un nombre de mandato ficticio.


if (cmd != null) { TypedProperty tp = cmd.getRequestProperties(); 
donde tp contiene todos los parámetros correlacionados.