El siguiente segmento de código Java muestra cómo pueden llevarse a cabo las interacciones con el sistema de mensajería de salida. El ejemplo 1 muestra cómo crear un nuevo mensaje XML y cómo enviarlo a través del sistema de mensajería de salida. El ejemplo 2 muestra cómo crear un mensaje de correo electrónico y cómo enviarlo a través del sistema de mensajería de salida:
Ejemplo 1
try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// Suponga que a msgType le ha dado un valor de 100 en la tabla MSGTYPES y que para
// storeId utiliza el valor de 1.
api.setMsgType(new Integer(100));
api.setStoreID(new Integer(1));
// Tiene que elegir cómo crear el mensaje:
// Primera opción: crear su propio mensaje xml en un objeto String y, a continuación, utilizar
setContent().
String OrderCreateMsg = new String("<?xml version="1.0"
encoding="UTF-8"?> ...");
api.setContent(OrderCreateMsg);
// O utilizar los servicios de composición de mensajes (compose()) pasando el nombre de plantilla/vista
// Este nombre de vista debe estar registrado en las tablas VIEWREG y MSGTYPES y hacer referencia a
// una plantilla de diseño de mensaje JSP.
String viewName = new String("OrderCreateMsgView");
TypedProperty tp = new TypedProperty();
// obtener el valor de orderRefNumber y ponerlo en tp
tp.put("ORDER_REF_NUMBER", getOrderRn().toString());
// obtener el valor de languageId y ponerlo en tp
tp.put("LANGUAGE_ID", getCommandContext().getLanguageId());
// Pasar viewName, CommandContext y los parámetros almacenados en tp a los
servicios de composición.
// Cuando haya finalizado correctamente, se creará un mensaje según el diseño de mensaje definido en
// la plantilla de diseño de mensajes JSP al que hace referencia
viewName.
api.compose(viewName, getCommandContext(), tp);
// Enviar el mensaje utilizando el servicio de envío sendTransacted.
api.sendTransacted();
// Establecer el contexto de mandato obtenido del mandato de controlador.
api.setCommandContext(getCommandContext());
// Ejecutar los servicios del sistema de mensajería de salida
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);
}
Ejemplo 2
try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// Suponga que a msgType le ha dado un valor de 200 en la tabla MSGTYPES y que para
// storeId utiliza el valor de 1.
api.setMsgType(new Integer(200));
api.setStoreID(new Integer(1));
// Tiene que elegir cómo crear el mensaje:
// Primera opción: crear su propio mensaje xml en un objeto String y, a continuación, utilizar
setContent().
String OrderNotifyMsg =
new String("Su pedido se ha recibido. Gracias por realizar sus compras con nosotros.");
api.setContent(OrderNotifyMsg);
// O utilizar los servicios de composición de mensajes (compose()) pasando el nombre de plantilla/vista
// Este nombre de vista debe estar registrado en las tablas VIEWREG y MSGTYPES y hacer referencia a
// una plantilla de diseño de mensaje JSP.
String viewName = new String("OrderNotifyMsgView");
TypedProperty tp = null;
// Pasar viewName, CommandContext y el parámetro nulo almacenados en tp a
los servicios de composición.
// Cuando haya finalizado correctamente, se creará un mensaje según el diseño de mensaje definido en
// la plantilla de diseño de mensajes JSP al que hace referencia
viewName.
api.compose(viewName, getCommandContext(), tp);
// Definir la información que contendrá el asunto, el destinatario y el emisor utilizando los servicios de datos de mensajes configurables
api.setConfigData("subject","Su pedido se ha recibido.");
api.setConfigData("recipient",getEmailAddress());
api.setConfigData("sender","storeAdmin@storeABC.com);
// Enviar el mensaje utilizando el servicio de envío sendImmediate.
api.sendImmediate();
// Establecer el contexto de mandato obtenido del mandato de controlador.
api.setCommandContext(getCommandContext());
// Ejecutar los servicios del sistema de mensajería de salida
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);
![]() |