Integration コントロールを使用する

     前  次    新しいウィンドウで目次を開く     
ここから内容

電子メール コントロール

コントロールの挿入 : 電子メール

電子メール コントロールを使用すると、Oracle WebLogic Integration ビジネス プロセスでは、特定の送り先に電子メールを送信できます。電子メールを受信するには、電子メール イベント ジェネレータを使用する必要があります。イベント ジェネレータの作成および管理には Oracle WebLogic Integration Administration Console を使用します。イベント ジェネレータを作成および管理する方法については、『WebLogic Integration Administration Console の使用』の「イベント ジェネレータ」を参照してください。

コントロール インスタンスをビジネス プロセスに追加する方法については、「ビジネス プロセスでコントロールを使用する」を参照してください。

 


この節に含まれるトピック

概要 : 電子メール コントロール

電子メール コントロールの概要を示します。

電子メール コントロールをコンフィグレーションする

既存の電子メール コントロールをコンフィグレーションする方法について説明します。

新しい電子メール コントロールを作成する

電子メール コントロールを作成およびコンフィグレーションする方法について説明します。

サンプル : 電子メール メッセージ

サンプルの電子メール メッセージを複数のフォーマットで示します。

 


概要 : 電子メール コントロール

電子メール コントロールを使用すると、Oracle Workshop for WebLogic の Web サービスおよびビジネス プロセスでは、特定の送り先に電子メールを送信できます。電子メール メッセージの本体には、テキスト (プレーン、HTML、または XML) または XML オブジェクトを使用できます。このコントロールはカスタマイズ可能であり、電子メール送信プロパティをアノテーション内で指定したり、XML 変数として渡される動的なプロパティを使用できます。

電子メール コントロールは柔軟性が高いため、さまざまなコンテンツ タイプや、本体と添付ファイルのさまざまな組み合わせを送信できます。電子メール コントロールを使用して送信できる電子メール メッセージの例については、「サンプル : 電子メール メッセージ」を参照してください。

関連トピック

EmailControl インタフェース

EmailControl アノテーション

 


電子メール コントロールをコンフィグレーションする

ビジネス プロセスに電子メール コントロールを追加する場合、既存の電子メール コントロール拡張ファイル (.java) を使用することも、新しく作成することもできます。選択するメッセージ本体のデータ型によって、.java ファイルには次のいずれかの sendEmail ユーティリティ メソッドが含まれます (2 つのメソッドの本体の型が異なることに注意してください)。フィールドの値は、.java ファイル内でクラスのアノテーションとして指定できます。

Text データ型のメッセージ本体
@EmailControl.send to="{to}"
cc="{cc}"
bcc="{bcc}"
subject="{subject}"
body="{body}"
attachments="{attachments}"
content-type="text/plain"
void sendEmail(String to, String cc, String bcc, String subject,
String body, String attachments);
XML オブジェクト データ型のメッセージ本体

@EmailControl.send to="{to}"
cc="{cc}"
bcc="{bcc}"
subject="{subject}"
body="{body}"
attachments="{attachments}"
content-type="text/xml"
void sendEmail(String to, String cc, String bcc, String subject,
XmlObject body, String attachments);

電子メール コントロールをカスタマイズする

アプリケーションの要件に合わせて、基本コントロールをカスタマイズできます。基本コントロールを拡張する場合、電子メールの送信プロパティをアノテーション内に指定するメソッドを追加できます。カスタマイズされたメソッドで、同じ数のパラメータを指定する必要がありません。

カスタム電子メール コントロール。             
@EmailControl
smtp-address = "smtp.myorg.com:25"
from-address = "joe.user@myorg.com"
from-name = "Joe User"
reply-to-address = "reply@myorg.com"
reply-to-name = "Customer Service"
header-encoding=""
username=""
password=""
public interface MyEmailControl extends EmailControl,com.bea.control.ControlExtension
@EmailControl.send to="{to}"
subject="Thanks for your order"
body="{body}"
attachments="/weblogic/samples/order.txt"
public void sendOrderConfirmation(String to,
String body);

電子メール コントロールの動的なプロパティを使用する

動的なプロパティを使用して、電子メール コントロールのクラスレベルのアノテーションをオーバーライドできます。動的なプロパティを使用するには、コントロールの動的なプロパティ スキーマに準拠する XML 変数を、コントロールの setProperties() メソッドに渡します。getProperties() メソッドを使用して、現在のプロパティ設定を取得できます。

setProperties() メソッドは EmailControlPropertiesDocument パラメータを受け付けます。EmailControlPropertiesDocument タイプは、DynamicProperties.xsd で定義されている対応するスキーマ要素から生成される XML Bean クラスです。DynamicProperties.xsd ファイルは、新しいプロセス アプリケーションのシステム フォルダ内、またはスキーマ プロジェクトのシステム フォルダ内にあります。

以下は、動的なプロパティの設定に使用する XML 変数の例です。

<EmailControlProperties>
<smtp-address>myorg.mymailserver.com:25</smtp-address>
<from-name>Joe User</from-name>
<from-address>joe.user@myorg.com</from-address>
<reply-to-address>reply@myorg.com</reply-to-address>
<reply-to-name>Joe User</reply-to-name>
</EmailControlProperties>

 


新しい電子メール コントロールを作成する

ここでは、新しい電子メール コントロールを作成する方法について説明します。

Oracle Workshop for WebLogic コントロールについては、「ビジネス プロセスでコントロールを使用する」を参照してください。

新しい電子メール コントロールを作成するには

  1. [パッケージ・エクスプローラー] ペインで、電子メール コントロールを追加するビジネス プロセス (Process.java ファイル) をダブルクリックします。ビジネス プロセスがデザイン ビューに表示されます。
  2. データ パレットコントロールの挿入 : 電子メール をクリックし、ドロップダウン リストから Integration コントロールを選択して、アプリケーションの統合に使用するコントロールのリストを表示します。
  3. 注意 : [データ パレット] ビューが Oracle Workshop for WebLogic に表示されない場合は、メニュー バーから
    [ウィンドウビューの表示データ パレット] をクリックします。
  4. [電子メール] を選択します。
  5. [コントロールの挿入 : 電子メール] ダイアログ ボックスが表示されます。

    図 5-1 コントロールの挿入 : 電子メール


    コントロールの挿入 : 電子メール

  6. [コントロールの挿入 : 電子メール] ダイアログ ボックスで、以下の情報を入力します。
    • [フィールド名] に、ビジネス プロセスから新しい電子メール コントロール インスタンスにアクセスするときに使用する変数の名前を入力します。有効な Java 識別子を入力する必要があります。
    • [挿入位置] で、フィールド名をプロセス ファイルに挿入するポイントをドロップダウン リストから選択します。
    • これをコントロール ファクトリにするかどうかを決定し、[これを実行時に複数のインスタンスを作成できるコントロール ファクトリにする] チェック ボックスをチェックするか、チェックをはずします。
    • [次へ] をクリックします。
    • [コントロールの作成] ダイアログ ボックスが表示されます。

  7. [コントロールの作成] ダイアログ ボックスで、以下の情報を入力します。
    • [名前] フィールドに新しいコントロール拡張ファイルのクラス名を入力します。
    • 現在のプロジェクトのプロパティに設定されているようにコメントを追加するかどうかを決定し、[コメントの生成] チェック ボックスをチェックするか、チェックをはずします。
    • [次へ] をクリックします。
  8. [コントロールの挿入 : 電子メール] ダイアログ ボックスで、以下の名前とアドレスのパラメータを入力します。
    • [SMTP ホスト] - SMTP サーバのアドレス (形式は host:port または host)。ポートを指定しない場合、標準 SMTP ポートの 25 が使用されます。
    • [送信元のアドレス] - 送信元の電子メール アドレス。
    • [送信元の名前] - 送信元の電子メール アドレスの表示名。
    • [本文のタイプ] - メッセージ本体に含まれるデータの型を選択します。
    • [終了] をクリックします。

返信情報 (名前とアドレス) または SMTP 認証パラメータ (ユーザ名と、パスワードまたはパスワード エリアス) を指定する必要がある場合は、[プロパティ] ペインを使用して、値を以下の省略可能なパラメータに代入します。

注意 : [プロパティ] ペインが Oracle Workshop for WebLogic に表示されない場合は、メニュー バーから
[ウィンドウビューの表示プロパティ] を選択します。

電子メール コントロールのメソッド

電子メール コントロールで使用できるメソッドについては、EmailControl インタフェースを参照してください。

 


サンプル : 電子メール メッセージ

以下のサンプルでは、電子メール コントロールを使用して送信できるメッセージのタイプを示します。

サンプル 1 : HTML 本体、添付ファイルなし

指定された String タイプの本体が HTML ドキュメントの場合、content-type アノテーション属性を設定して次のような電子メールを生成できます。

To: user@myorg.com
Subject: Thanks for your order
Content-Type: text/html

<html>
<head>
<title>Thanks for your order</title>
...

サンプル 2 : 本体、添付ファイルあり

添付ファイル付きのメッセージ本体の場合、電子メール コントロールでは、メッセージ本体を含む multipart/mixed メッセージが最初のパートとして生成されます。添付ファイルは、ファイル名サフィックスに対応するコンテンツ タイプをもつ MIME パートとして追加されます。表 5-1 に、一般的に使用されるファイル サフィックスのリストを示します。

表 5-1 ファイル サフィックス
サフィックス
コンテンツ タイプ
.doc
application/msword
.gif
image/gif
.html
text/html
.jar
application/java-archive
.jpg
image/jpeg
.pdf
application/pdf
.txt
text/plain
.xls
application/msexcel
.xml
application/xml または text/xml
.zip
application/x-zip-compressed

不明な拡張子をもつ添付ファイルは application/octet-stream MIME タイプを受け取ります。また、次の例のように、電子メール コントロールでは、バイナリ データを含む添付ファイルに対して base64 エンコードが使用されます。

To: user@myorg.com
Subject: Thanks for your order
Content-Type: multipart/mixed;
boundary="------------F141E40DDE2763DF92513DD4"

------------F141E40DDE2763DF92513DD4
Content-type: text/plain; charset=us-ascii

Dear Sir,

Please see the attached diagram and brochure.

Thanks,
Customer Service

------------F141E40DDE2763DF92513DD4
Content-type: image/jpeg;
name="picture.jpg"
Content-Disposition: attachment; filename="picture.jpg"
Content-transfer-encoding: base64

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlA
...

------------F141E40DDE2763DF92513DD4
Content-Type: application/pdf;
name="brochure.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="brochure.pdf"

JVBERi0xLjIgDSXi48/TDQogDTEwIDAgb2JqDTw8DS9MZW5ndGggMTEgMCBSDS9Ga
...

------------F141E40DDE2763DF92513DD4

サンプル 3 : 本体なし、添付ファイル (1 ファイル) あり

本体がなく、添付ファイルが 1 つある電子メール コントロール送信アクションでは multipart/mixed メッセージが生成されません。これにより、メッセージ本体に XML ドキュメントを含める必要がある場合のメール交換シナリオをサポートします。

To: inbox@myorg.com
Subject: new XML order
Content-Type: application/xml

<?xml version="1.0" ?>
<PurchaseOrder>
...

例外とエラー

例外ハンドラを使用して、電子メール コントロールにより送出された例外の捕捉と処理を行うことができます。

1 つまたは複数の To 受信者または cc 受信者がローカル メール サーバにより無効と判断された場合、直ちに例外が送出されます。ただし、無効な受信者を送り先のメール サーバでしか検出できない場合は、電子メール コントロールにより対処できません。From アドレスは、送信者に返送されたメッセージを処理するためのメールボックスにすることをお勧めします。

1 つまたは複数の添付ファイル名が見つからない場合は、例外が送出されます。


  ページの先頭       前  次