アウトバウンド・メッセージ・システム・インターフェースのプログラミング例

以下の Java コード・セグメントは、アウトバウンド・メッセージ・システムとの対話をどのように実行できるかを示しています。 例 1 は、新規 XML メッセージを作成して、そのメッセージをアウトバウンド・メッセージ・システム経由で送信する方法を示しています。 例 2 は、E メール・メッセージを作成して、そのメッセージをアウトバウンド・メッセージ・システム経由で送信する方法を示しています。

例 1

try
{
com.ibm.commerce.messaging.commands.SendMsgCmd api =
(com.ibm.commerce.messaging.commands.SendMsgCmd)
CommandFactory.createCommand(SendMsgCmd.NAME, getStoreId());
// MSGTYPES テーブル中の msgType を 100 に設定してあり、
// ストア ID の 1 を使用しようとしているものとします。
api.setMsgType(new Integer(100));
api.setStoreID(new Integer(1));
 
// msg の作成方法を選択しなければなりません:
// 最初の選択: xml msg を String オブジェクトに作成してから、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 に設定してあり、
// ストア ID の 1 を使用しようとしているものとします。
api.setMsgType(new Integer(200));
api.setStoreID(new Integer(1));
 
// msg の作成方法を選択しなければなりません:
// 最初の選択: xml msg を String オブジェクトに作成してから、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","オーダーが受信されました");
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 著作権