出埠傳訊系統介面的程式設計範例

以下的 Java 程式碼區段說明如何與出埠傳訊系統進行交談。 範例 1 教您如何建置新 XML 訊息,並透過出埠傳訊系統傳送。範例 2 教您如何建置電子郵件訊息,並透過出埠傳訊系統傳送:

範例 1

try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// 假設您是將 MSGTYPES 表格中的 msgType 設為 100,且您所用的
// storeId 為 1。
api.setMsgType(new Integer(100));
api.setStoreID(new Integer(1));
 
// 您必須選擇如何建置訊息:
// 第一項選擇:在 String 物件中建置 XML 訊息,並使用 setContent()。
String OrderCreateMsg = new String("<?xml version="1.0" encoding="UTF-8"?> ...");
api.setContent(OrderCreateMsg);
 
// 或者,傳遞範本/檢視畫面名稱,以使用訊息撰寫服務程式 (compose())
// 這個檢視畫面名稱應登錄在會參照 JSP 訊息佈置範本的
//VIEWREG 與 MSGTYPES 表格中。
String viewName = new String("OrderCreateMsgView");
TypedProperty tp = new TypedProperty();
// 取得 orderRefNumber,並置於 tp 中
tp.put("ORDER_REF_NUMBER", getOrderRn().toString());
// 取得 languageId,並置於 tp 中
tp.put("LANGUAGE_ID", getCommandContext().getLanguageId());
// 傳遞儲存於 tp 中的 viewName、指令環境定義與參數給撰寫服務程式。
//當順利完成時,則會根據 viewName 所參照之 JSP 訊息佈置範本中所定義的訊息佈置,
//來建置訊息。
api.compose(viewName, getCommandContext(), tp);
 
// 使用 sendTransacted 傳送服務程式送出訊息。
api.sendTransacted();
// 設定從控制程式指令取得的指令環境定義。
api.setCommandContext(getCommandContext());
// 執行出埠傳訊系統服務程式
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);
}

範例 2

try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// 假設您是將 MSGTYPES 表格中的 msgType 設為 200,且您所用的
// storeId 為 1。
api.setMsgType(new Integer(200));
api.setStoreID(new Integer(1));
 
// 您必須選擇如何建置訊息:
// 第一項選擇:在 String 物件中建置 XML 訊息,並使用 setContent()。
String OrderNotifyMsg =
new String("已收到你的訂單。感謝您的購買。");
api.setContent(OrderNotifyMsg);
 
// 或者,傳遞範本/檢視畫面名稱,以使用訊息撰寫服務程式 (compose())
// 這個檢視畫面名稱應登錄在會參照 JSP 訊息佈置範本的
//VIEWREG 與 MSGTYPES 表格中。
String viewName = new String("OrderNotifyMsgView");
TypedProperty tp = null;
// 傳遞儲存於 tp 中的 viewName、指令環境定義與空參數給撰寫服務程式。
//當順利完成時,則會根據 viewName 所參照之 JSP 訊息佈置範本中所定義的訊息佈置,
//來建置訊息。
api.compose(viewName, getCommandContext(), tp);
 
// 使用可架構訊息資料服務程式,設定主題、收件人與寄件人資訊
api.setConfigData("subject","Your Order has been received");
api.setConfigData("recipient",getEmailAddress());
api.setConfigData("sender","storeAdmin@storeABC.com);
// 使用 sendImmediate 傳送服務程式送出訊息。
api.sendImmediate();
// 設定從控制程式指令取得的指令環境定義。
api.setCommandContext(getCommandContext());
// 執行出埠傳訊系統服務程式
api.execute();
}
catch (Exception ex )
{
ex.printStackTrace(System.err);

相關概念

相關參照

IBM copyright