Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編
メールアダプタの定義方法について説明します。
メールアダプタを設定する前に知っておく必要がある注意事項について説明します。
メールアダプタで使用する電文フォーマットの種類と形式を次に示します。
メールアダプタで使用する電文フォーマットは次の2種類です。
要求電文フォーマットには,メールサーバの情報や,メール本文,アドレス,主題など,ユーザ入力情報を設定します。応答電文フォーマットには送信メールのメッセージIDが設定されます。
メールアダプタでは,サービスプラットフォームが提供するXMLスキーマを電文フォーマットに使用します。要求電文および応答電文に使用するXMLスキーマは,それぞれ「adpmail_smtp_request.xsd」および「adpmail_smtp_response.xsd」です。
ここでは,メールアダプタで使用する要求電文フォーマットおよび応答電文フォーマットの形式について説明します。
ファイルの格納場所は「<サービスプラットフォームのインストールディレクトリ>\CSC\schema\mail」です。
表3-84 要求電文フォーマット
タグ名 | 種別 | 出現回数 | 説明 | |||
---|---|---|---|---|---|---|
<request> | − | 1回 | − | |||
|
<smtp-host-name> | string | 0または1回 | 接続するメールサーバのIPアドレスまたはホスト名を示すタグです。
|
||
<request-id> | string | 0または1回 | 受付で作成したリクエストIDを示すタグです。
|
|||
<smtp-port> | long | 0または1回 | 接続するメールサーバのポート番号を示すタグです。
|
|||
<mail-user> | string | 0または1回 | 接続するメールサーバのログインユーザ名を示すタグです。
|
|||
<mail-addr-to>※1 | string | 0または1回 | メールの送付先ユーザの電子メールアドレスを示すタグです。複数の電子メールアドレスを指定する場合,電子メールアドレスをコンマ(,)で区切ります。
|
|||
<mail-addr-from> | string | 0または1回 | メールの発信元ユーザの電子メールアドレスを示すタグです。指定できる電子メールアドレスは1つだけです。
|
|||
<mail-addr-cc>※1 | string | 0または1回 | 「CC」フィールドに設定するユーザの電子メールアドレスを示すタグです。 複数の電子メールアドレスを指定する場合,電子メールアドレスをコンマ(,)で区切ります。
|
|||
<mail-addr-bcc>※1 | string | 0または1回 | 「BCC」フィールドに設定するユーザの電子メールアドレスを示すタグです。 複数の電子メールアドレスを指定する場合,電子メールアドレスをコンマ(,)で区切ります。
|
|||
<mail-subject-text> | string | 0または1回 | メールの主題を示すタグです。
|
|||
<mail-body>※2 | − | 0または1回 | メールの本文を示すタグです。メール本文は<message>および<file>で指定します。
|
|||
|
<message> | string | 0または1回 | メール本文として使用する文字列を示すタグです。「<」,「>」などの文字を使う場合は,事前に文字列をサニタイズしてください。
|
||
<file> | − | 0または1回 | 内容をメール本文として使用するファイルのパスおよび文字セットを示すタグです。ファイルパスと文字セットは,<folder-name>,<mail-body-file-name>,および<file-charset>で指定します。
|
|||
|
<folder-name> | string | 1回 | ファイルを取得するフォルダを示すタグです。
|
||
<mail-body-file-name> | string | 1回 | 取得するファイル名を示すタグです。
|
|||
<file-charset> | string | 0または1回 | メール本文の内容が記述されたファイルの文字セットを指定します。
|
|||
<attachment-file> | − | 0または1回 | メールの添付ファイルを示すタグです。添付ファイルは<item>で指定します。複数の添付ファイルを指定できます。
|
|||
|
<item> | − | 1回以上 | メールの添付ファイルの詳細を示すタグです。添付ファイルの詳細は<attach-folder>および<attach-file-name>で指定します。
|
||
|
<attach-folder> | string | 1回 | 添付ファイルが格納されているフォルダを示すタグです。
|
||
<attach-file-name> | string | 1回 | 添付ファイル名を示すタグです。
|
|||
<mail-format> | string | 0または1回 | メールフォーマットを示すタグです。次のどれかを指定します。 text/plain:メール本文をプレーンテキストで作成します。 text/html:メール本文をhtml形式で作成します。 text/xml:メール本文をxml形式で作成します。※4
|
|||
<mail-encoding> | string | 0または1回 | メールのエンコードを示すタグです。
|
|||
<mail-auth> | string | 0または1回 | SMTP認証の形式を示すタグです。次のどちらかを指定します。 PLAIN:認証しません。 LOGIN:ログイン時にユーザ名およびパスワードで認証します。
|
|||
<mail-option> | − | 0回以上 | ユーザ定義のメールヘッダを示すタグです。 ヘッダ名および値は,<option-key>および<option-value>を組み合わせて指定します。
|
|||
|
<option-key> | string | 1回 | ユーザ定義のメールヘッダのキー名を指定します。
|
||
<option-value> | string | 1回 | ユーザ定義のメールヘッダの値を指定します。
|
|||
<smtps> | − | 0または1回 | TLSに関する設定を示すタグです。
|
|||
|
<smtps-enable> | boolean | 0または1回 | SMTPサーバとの接続にTLSを使用するかどうかを指定するタグです。次のどちらかを指定します。 true:TLSを使用してSMTPサーバに接続します。 false:TLSを使用しません。SMTPでSMTPサーバに接続します。
|
||
<smtps-starttls-enable> | boolean | 0または1回 | SMTPサーバとの接続にTLSを使用する場合にSTARTTLSを使用するかどうかを指定するタグです。次のどちらかを指定します。 true:STARTTLSを使用します。通常のSMTPで通信を開始し,「STARTTLS」で双方がTLSに対応しているか確認したあとにTLSで再接続します。 false:STARTTLSを使用しません。SMTP通信がすべてTLSによって暗号化されます。 この指定は,SMTPサーバとの接続にTLSを使用する場合だけ有効となります。
|
|||
<smtps-starttls-required> | boolean | 0または1回 | メールアダプタでSTARTTLSを使用する設定にしている場合で,接続先のSMTPサーバでSTARTTLSが処理できないときに,メールアダプタでエラーを発生させるかどうかを指定するタグです。 true:接続先のSMTPサーバがSTARTTLSをサポートしていない場合,またはSTARTTLSの処理中にエラーが発生した場合,メールアダプタでエラーを発生させます。 false:接続先のSMTPサーバがSTARTTLSをサポートしていない場合,またはSTARTTLSの処理中にエラーが発生した場合,メールアダプタでエラーを発生させません。SMTPを使用してSMTPサーバに接続します。 この指定は,SMTPサーバとの接続にTLSとSTARTTLSを使用する場合だけ有効となります。
|
表3-85 応答電文フォーマット
タグ名 | 種別 | 出現回数 | 説明 | |
---|---|---|---|---|
<response> | − | 1回 | − | |
<message-id> | string | 1回 | 送信されるメールメッセージのメッセージIDを示すタグです。 メール送信時,内部で作成されたMimeMessageがメールサーバに送信されます。このMimeMessageのIDがメッセージIDとなります。 |
作成する定義ファイルの種類を次に示します。
各定義ファイルの作成手順を次に示します。
メールアダプタコマンド定義ファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「メールアダプタコマンド定義ファイル」を参照してください。
メールヘッダ定義ファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「メールヘッダ定義ファイル」を参照してください。
メールアダプタ実行環境プロパティファイルで編集できる定義内容については,マニュアル「サービスプラットフォーム リファレンス」の「メールアダプタ実行環境プロパティファイル」を参照してください。
メールアダプタ実行環境プロパティファイルは,メールアダプタを開始する際に実行環境に反映されます。このため,メールアダプタ実行環境プロパティファイルの内容を変更する場合は,いったんメールアダプタを停止する必要があります。
メールアダプタを定義する場合の手順を次に示します。
サービスプラットフォームのインストール後のディレクトリ構成を次の図に示します。なお,ここではメールアダプタの定義を格納するディレクトリ,およびメールアダプタの電文スキーマを格納するディレクトリだけ記載しています。
図3-23 メールアダプタのディレクトリ構成
上記以外のディレクトリ構成については,マニュアル「サービスプラットフォーム システム構築・運用ガイド」の「2.1.2 Service Platformのインストール」を参照してください。
ここでは,標準受付に渡されたメッセージをメール本文に設定し,メールアダプタ実行環境プロパティファイルで設定した宛先にメール送信する場合を例に,メールアダプタおよびビジネスプロセスの設定例について説明します。
開発環境でのメールアダプタの設定例,およびメールアダプタ実行環境プロパティファイルの設定例について説明します。
開発環境でのサービスアダプタ定義画面の各項目は次のように設定します。なお,電文フォーマットおよび定義ファイルの格納先,開発環境での操作方法については,「3.2.12 メールアダプタを新規に追加する」を参照してください。
図3-24 サービスアダプタ定義画面(基本)の設定例
表3-86 サービスアダプタ定義画面(基本)の設定項目
分類 | 項目 | 設定内容 | |
---|---|---|---|
サービス部品制御情報 | サービス名 | mailadp | |
サービスID | mailadp | ||
サービス種別 | メールアダプタ | ||
アドレス | − | ||
最大インスタンス数 | 0 | ||
サービスクラス名 | − | ||
オペレーション | SEND | ||
オペレーション情報 | オペレーション名 | SEND | |
通信モデル | 同期 | ||
要求電文 | any型を使う(チェックボックス) | 使わない(チェックしない) | |
標準 | 使う(チェックボックス) | 使わない(チェックしない) | |
フォーマットID | − | ||
電文フォーマット | − | ||
サービス部品 | フォーマットID | mailadp_request | |
電文フォーマット | adpmail_smtp_request.xsd | ||
データ変換定義 | − | ||
応答電文 | any型を使う(チェックボックス) | 使わない(チェックしない) | |
標準 | 使う(チェックボックス) | 使わない(チェックしない) | |
フォーマットID | − | ||
電文フォーマット | − | ||
サービス部品 | フォーマットID | mailadp_response | |
電文フォーマット | adpmail_smtp_response.xsd | ||
データ変換定義 | − | ||
フォルト電文 | − | − |
図3-25 サービスアダプタ定義画面(詳細)の設定例
表3-87 サービスアダプタ定義画面(詳細)の設定項目
分類 | 項目 | 設定内容 |
---|---|---|
サービスアダプタ制御情報 | サービスアダプタ(EJB-JAR ファイル) | cscmsg_adpejb.jar |
ユーティリティクラス(JARファイル) | adpmailpc.jar | |
独自定義ファイル | − |
開発環境で定義したメールアダプタに対応するメールアダプタ実行環境プロパティファイルを作成します。ここでは,ファイル名を「mailadp.properties」としています。
なお,メールアダプタ実行環境プロパティファイルの作成方法については,「3.3.12(3) メールアダプタの定義ファイルの作成」を参照してください。
メールアダプタ実行環境プロパティファイルの作成例を次に示します。斜体部分が変更個所です。
# All Rights Reserved. Copyright (C) 2011, Hitachi, Ltd. mailadp.smtp.host.name = mail-server #mailadp.smtp.port = 25 #mailadp.user = mailadp.addr.from = sampleuser2@XXXXXX.com mailadp.addr.to = sampleuser@XXXXXX.com #mailadp.addr.cc = #mailadp.addr.bcc = #mailadp.addr.count.max = 768 #mailadp.mail.body.size = 1024000 #mailadp.attach.path.1 = #mailadp.attach.file.size = 5242880 #mailadp.max.attach.count.per.mail = 10 #mailadp.mail.format = text/plain #mailadp.mail.body-text = #mailadp.mail.body-filepath = #mailadp.mail.body-filecharset = UTF-8 #mailadp.subject.size = 80 #mailadp.subject.text = mailadp.smtp.encoding = ISO-2022-JP #mailadp.smtp.auth = PLAIN #mailadp.user.header.path = #mailadp.account.file.path = #mailadp.methodtrace.level = 3 #mailadp.methodtrace.filepath = #mailadp.methodtrace.filenum = #mailadp.methodtrace.filesize = 2097152 #mailadp.messagelog.level = 10 #mailadp.smtp.timeout = 180 #mailadp.smtp.connectiontimeout = 180 #mailadp.read-lock.retry.count = 0 #mailadp.read-lock.retry.interval = 1 |
作成したメールアダプタ実行環境プロパティファイルは,「<サービスプラットフォームのインストールディレクトリ>\CSC\config\mail」フォルダに格納します。
開発環境でのビジネスプロセスの設定例,およびデータ変換定義の設定例について説明します。
なお,開発環境で使用する画面の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「1. 画面(開発環境)」を参照してください。開発環境での操作方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5. ビジネスプロセスの定義」および「6. データ変換の定義」を参照してください。
開発環境のビジネスプロセス定義画面で次のようにアクティビティを定義します。
図3-26 ビジネスプロセスの設定例
ビジネスプロセス内の電文の受け渡しに必要なサービス部品電文用および標準電文用の変数を作成します。なお,この設定例では相関セットを使用しません。
表3-88 サービス部品電文用の変数
変数名 | 説明 |
---|---|
mail_input | メールアダプタの要求電文の変数 |
mail_output | メールアダプタの応答電文の変数 |
表3-89 [電文フォーマットの取込]ダイアログでの設定値
項目名 | 変数名 | |
---|---|---|
mail_input | mail_output | |
サービス/受付 | サービス名 | サービス名 |
サービス/受付の名称 | mailadp | mailadp |
オペレーション名 | SEND | SEND |
電文種別 | 要求電文(ボディ) | 応答電文(ボディ) |
電文フォーマット | mail_input | mail_output |
<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="SampleSOAPinput"> <xsd:complexType> <xsd:sequence> <xsd:element name="MAIL_BODY" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> |
<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="SampleSOAPoutput"> <xsd:complexType> <xsd:sequence> <xsd:element name="MESSAGE_ID" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> |
表3-90 標準電文用の変数
変数名 | 説明 |
---|---|
input | 標準受付の要求電文の変数 |
output | 標準受付の応答電文の変数 |
表3-91 指定する電文フォーマット
変数名 | 指定する電文フォーマット |
---|---|
input | input.xsd |
output | output.xsd |
データ変換アクティビティ(メールアダプタ要求電文作成)では,標準受付の要求電文からメールアダプタの要求電文を作成するマッピングをします。同様に,データ変換アクティビティ(応答電文作成)では,メールアダプタの応答電文から標準受付の応答電文を作成するマッピングをします。
まず,ビジネスプロセス定義画面でデータ変換アクティビティ(メールアダプタ要求電文作成)を右クリックし,[マッピング定義起動]を選択します。
標準受付の要求電文のMAIL_BODY要素をメールアダプタの要求電文にあるmail-body要素の子要素のmessage要素にマッピングします。
図3-27 要求電文のマッピング
同様に,ビジネスプロセス定義画面でデータ変換アクティビティ(応答電文作成)を右クリックし,[マッピング定義起動]を選択します。
メールアダプタの応答電文にあるmessage-id要素を標準受付の応答電文のMESSAGE_ID要素にマッピングします。
図3-28 応答電文のマッピング
ビジネスプロセス定義画面のサービス呼出アクティビティ(メールアダプタ呼出)をダブルクリックし,表示される[サービス呼出アクティビティ]ダイアログで次のように設定します。
図3-29 サービス呼出アクティビティの設定値
設定内容を次の表に示します。
表3-92 サービス呼出アクティビティの設定内容
分類 | 項目 | 設定値 |
---|---|---|
アクティビティ名 | メールアダプタ呼出 | |
サービス名 | mailadp | |
オペレーション名 | SEND | |
通信モデル | 同期 | |
要求電文 | ボディ割当変数 | mail_input |
ヘッダ割当変数 | − | |
応答電文 | ボディ割当変数 | mail_output |
ヘッダ割当変数 | − | |
割当相関セット群 | − |
これで,メールアダプタおよびビジネスプロセスの設定は完了です。
なお,この設定例でビジネスプロセスを実行するには,サービスリクエスタから標準受付に対して要求電文を指定してメッセージを送信する必要があります。サービスリクエスタの作成方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「8.2 標準の同期受付(Webサービス)に要求を出すサービスリクエスタ(SOAP通信基盤)」を参照してください。
そのあと,コンポーネントの検証とパッケージングをしてからテスト環境に配備定義して動作を確認してください。詳細は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「7. HCSCコンポーネントのパッケージングと配備定義」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.