Il segmento seguente di codice Java mostra in che modo avvengono le interazioni con il sistema di messaggistica in uscita. L'esempio 1 mostra come creare un nuovo messaggio XML ed inviarlo tramite il sistema di messaggistica in uscita. L'esempio 2 indica come creare un nuovo messaggio di posta elettronica e inviarlo tramite il sistema di messaggistica in uscita:
Esempio 1
try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// Si presume che l'utente abbia impostato msgType nella tabella MSGTYPES su 100 e che si stia
utilizzando
// storeId di 1.
api.setMsgType(new Integer(100));
api.setStoreID(new Integer(1));
// L'utente deve scegliere come creare il messaggio:
// Prima scelta: creare il messaggio xml in un oggetto String e
utilizzare setContent().
String OrderCreateMsg = new String("<?xml version="1.0"
encoding="UTF-8"?> ...");
api.setContent(OrderCreateMsg);
// Oppure, utilizzare i servizi di composizione messaggi (compose())
passando la maschera/nome visualizzazione
// Questo nome di visualizzazione deve essere registrato nelle tabelle VIEWREG
e MSGTYPES che si riferiscono
// a una maschera di layout di messaggio JSP.
String viewName = new String("OrderCreateMsgView");
TypedProperty tp = new TypedProperty();
// ottenere orderRefNumber e metterlo in tp
tp.put("ORDER_REF_NUMBER", getOrderRn().toString());
// ottenere languageId e metterlo in tp
tp.put("LANGUAGE_ID", getCommandContext().getLanguageId());
// Passare viewName, il comando Context e i parametri contenuti in tp
per creare servizi.
Dopo aver completato correttamente l'operazione, viene creato un
messaggio in base al layout di messaggio definito nella
// maschera di layout di messaggio JSP a cui viewName fa riferimento.
api.compose(viewName, getCommandContext(), tp);
// Inviare il messaggio utilizzando il servizio di invio
sendTransacted.
api.sendTransacted();
// Impostare il contesto del comando ottenuto dal comando del
controller.
api.setCommandContext(getCommandContext());
// Eseguire i servizi del sistema di messaggistica in uscita
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);
}
Esempio 2
try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// Si presume che l'utente abbia impostato msgType nella tabella
MSGTYPES su 200 e che si stia utilizzando
// storeId di 1.
api.setMsgType(new Integer(200));
api.setStoreID(new Integer(1));
// L'utente deve scegliere come creare il messaggio:
// Prima scelta: creare il messaggio xml in un oggetto String e
utilizzare setContent().
String OrderNotifyMsg =
new String("L'ordine è stato ricevuto. Grazie per aver fatto
acquisti da noi.");
api.setContent(OrderNotifyMsg);
// Oppure, utilizzare i servizi di composizione messaggi (compose())
passando la maschera/nome visualizzazione
// Questo nome di visualizzazione deve essere registrato nelle tabelle VIEWREG
e MSGTYPES che si riferiscono
// a una maschera di layout di messaggio JSP.
String viewName = new String("OrderNotifyMsgView");
TypedProperty tp = null;
// Passare viewName, il comando Context e i parametri null contenuti in
tp
per creare servizi.
Dopo aver completato correttamente l'operazione, viene creato un
messaggio in base al layout di messaggio definito nella
// maschera di layout di messaggio JSP a cui viewName fa riferimento.
api.compose(viewName, getCommandContext(), tp);
// Impostare le informazioni su oggetto, destinatario e mittente
utilizzando i servizi dei dati di messaggi configurabili
api.setConfigData("subject","L'ordine è stato ricevuto");
api.setConfigData("recipient",getEmailAddress());
api.setConfigData("sender","storeAdmin@storeABC.com);
// Inviare il messaggio utilizzando il servizio di invio
sendImmediate.
api.sendImmediate();
// Impostare il contesto del comando ottenuto dal comando del
controller.
api.setCommandContext(getCommandContext());
// Eseguire i servizi del sistema di messaggistica in uscita
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);
![]() |