ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1(11.1.1)
B56238-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

I Oracle User Messaging Serviceアプリケーション

この付録では、提供されているプロシージャおよびコードを使用して、独自のOracle User Messaging Serviceアプリケーションを作成する方法について説明します。

項目は次のとおりです。

I.1 ユーザー指定のチャネルへのメッセージの送信

この章では、Oracle User Messaging Serviceで提供されている、ユーザー指定のチャネルにメッセージを送信するためのアプリケーションを作成し、実行する方法を説明します。


注意:

Oracle User Messaging Serviceのアーキテクチャおよびコンポーネントについては、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。

項目は次のとおりです。

I.1.1 概要

ユーザー指定のチャネルにメッセージを送信するアプリケーションでは、BPELプロセスによって、ユーザー・メッセージング・プリファレンスで指定されたメッセージング・チャネルを経由して、ユーザーにメッセージを送信できることを具体的な例で示します。サポートされるチャネルおよびデフォルト・デバイスのそれぞれに対してデバイスおよびメッセージ・チャネルのアドレスを構成すると、Oracle User Messaging Serviceは、構成された優先チャネルの設定に基づいて、メッセージをユーザーにルーティングします。

I.1.1.1 提供されるファイル

このアプリケーションには、次のファイルが含まれています。

  • SendMessage.pdf – このドキュメント

  • Project – Oracle JDeveloperプロジェクト・ファイルを含むディレクトリ

  • Readme.txt

  • リリース・ノート

I.1.2 SOAおよびUser Messaging Serviceのインストールおよび構成

SOAおよびUser Messaging Serviceは、ホストされたインスタンスにすでにインストールされており、サンプル・ユーザーは設定済です。soa-infraでの通知を可能にするには、次の手順を実行します(実行していない場合)。

  1. Enterprise Managerを使用して「SOAインフラストラクチャ」メニューに移動し、「SOA管理」「ワークフロー通知プロパティ」の順に選択して、「通知モード」「すべて」に設定します。

  2. 必要な場合は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』のドライバの構成に関する項の説明に従って、User Messagingドライバを構成します。

  3. ユーザーweblogicの電子メール・アドレスは、JXplorer LDAPブラウザを使用して設定します。 「LDAPユーザー・プロファイルのアドレスの更新」を参照してください。

  4. サーバーを再起動します。

I.1.2.1 LDAPユーザー・プロファイルのアドレスの更新

ユーザーweblogicの電子メール・アドレスをJXplorer LDAPブラウザを使用して設定するには、次の手順を実行します。

I.1.2.1.1 インストール

http://www.jxplorer.orgからJXplorerをダウンロードしてインストールします。

I.1.2.1.2 接続
  1. 埋込みLDAPサーバー管理パスワードを次のように設定します。

    • Oracle WebLogic Server管理コンソールにログインします。

    • ドメイン名のリンク→「セキュリティ」「組込みLDAP」の順にクリックします。

    • 新しい「資格証明」「資格証明の確認」(例: weblogic)を入力します。

    • 「保存」をクリックします。

  2. 表I-1に示す各フィールドに値を指定し、JXplorerから接続します。

表I-1 JXplorerの接続に関するフィールド

フィールド

Host

WLS AdminServerのホスト名

Port

WLS AdminServerのポート

Protocol

LDAP v3

Security Level

User + Password

User DN

cn=Admin

Password

パスワード


I.1.2.1.3 LDAPのユーザー・メッセージング・デバイス・アドレスの設定

次の例では、ユーザーweblogicを使用します。 追加のユーザーを作成して使用できます。

  1. ドメイン「myrealm」「people」「weblogic」の順にLDAPツリーを開きます。

  2. ユーザー・エントリをクリックします。

  3. 右側で「HTML view」タブを選択します。

  4. 必須の「Email Address」と「Mobile Phone Number」を入力します。

  5. 「Submit」をクリックします。

I.1.3 サンプルの作成

次の手順を実行してサンプルを新規に作成すると、SOAコンポジット・アプリケーションにメッセージを追加して、ユーザー・メッセージング・プリファレンスを使用する方法を学習できます。

  1. Oracle JDeveloper 11gを開きます。

  2. 「ファイル」「新規」「一般」「アプリケーション」「SOAアプリケーション」の順に選択して、新規アプリケーションを作成します。 「OK」をクリックします。

  3. 「アプリケーション名」を入力し、「次へ」をクリックします(図I-1)。

    図I-1 新規アプリケーションおよび新規プロジェクトの作成(1/3)

    図I-1の説明は次にあります。
    「図I-1 新規アプリケーションおよび新規プロジェクトの作成(1/3)」の説明

  4. プロジェクトの名前を入力し、「次へ」をクリックします(図I-2)。

  5. 図I-2 新規アプリケーションおよび新規プロジェクトの作成(2/3)

    図I-2の説明は次にあります。
    「図I-2 新規アプリケーションおよび新規プロジェクトの作成(2/3)」の説明

  6. コンポジット・テンプレートとして、「BPELを使用するコンポジット」を選択します(図I-3)。 「終了」をクリックします。

    図I-3 新規アプリケーションおよび新規プロジェクトの作成(3/3)

    図I-3の説明は次にあります。
    「図I-3 新規アプリケーションおよび新規プロジェクトの作成(3/3)」の説明

  7. 「BPELプロセスの作成」ダイアログで、BPELプロセス名としてSendMessageと入力します(図I-4)。 「OK」をクリックします。

    図I-4 BPELプロセスの作成

    図I-4の説明は次にあります。
    「図I-4 BPELプロセスの作成」の説明

  8. 「SOAPサービスとして公開」が選択されていることを確認します。 「OK」をクリックします。

  9. これで、空のデフォルトBPELアプリケーションが作成されました(図I-5)。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなアプリケーションのコンポーネントが表示されます。

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。


    注意:

    User Notification BPELプロセスの作成時にメッセージ送信に使用するメッセージ・サービス・リソースは、後で作成します(手順13〜19)。

    図I-5 空のデフォルトBPELアプリケーション

    図I-5の説明は次にあります。
    「図I-5 空のデフォルトBPELアプリケーション」の説明

  10. 「アプリケーション・ナビゲータ」「xsd」フォルダを開き、「BPELProcess1.xsd」をダブルクリックして開きます(図I-6)。

    図I-6 BPELProcess1.xsdファイルへのアクセス

    図I-6の説明は次にあります。
    「図I-6 BPELProcess1.xsdファイルへのアクセス」の説明

  11. 「ソース」タブをクリックします(図I-7)。

  12. このBPELアプリケーションの入力に対して次の変更を行います。

    プロジェクトの「アプリケーション・ナビゲータ」の「xsd」フォルダ内に生成されたファイルSendMessage.xsdには、次の要素定義がデフォルトで作成されます。

    <element name="input" type="string"/>
    

    このXSD要素は、BPELプロセスの入力を定義します。

    「ソース」タブ(図I-7)を選択し、前述の行を次の3行に置換します。

    <element name="to" type="string"/>
    <element name="subject" type="string"/>
    <element name="body" type="string"/>
    

    図I-7 BPELProcess1.xsdファイルの入力内容の変更

    図I-7の説明は次にあります。
    「図I-7 BPELProcess1.xsdファイルの入力内容の変更」の説明

  13. 「ファイル」メニューから「すべて保存」をクリックします。

  14. 展開されたプロセス要素を表示します(図I-8)。

    図I-8 展開されたプロセス要素の表示

    図I-8の説明は次にあります。
    「図I-8 展開されたプロセス要素の表示」の説明

  15. このプロセスでメッセージングを可能にするには、「コンポーネント・パレット」にあるBPELアクティビティおよびコンポーネントから「User Notification」を、receiveInputアクティビティとcallbackClientアクティビティの間にドラッグ・アンド・ドロップします。

    user notificationアクティビティが表示されます(図I-9)。

    図I-9 入力構成前のuser notificationアクティビティ

    図I-9の説明は次にあります。
    「図I-9 入力構成前のuser notificationアクティビティ」の説明

  16. 「To」入力ボックスの右側にある「XPath式ビルダー」アイコンをクリックします。

  17. 「To」受信者の式を次のように変更します。

  18. 「件名」入力ボックスの右側にある「XPath式ビルダー」アイコンをクリックします。

  19. 「件名」の式を次のように変更します。

    • 「BPEL変数」ペインで、「変数」「InputVariable」「payload」「clientprocess」「client:subject」の順に選択します(図I-11)。

    • 「式に挿入」をクリックします。

    • 「OK」をクリックします。

      図I-11 件名式の定義

      図I-11の説明は次にあります。
      「図I-11 件名式の定義」の説明

  20. 「本文」入力ボックスの右側にある「XPath式ビルダー」アイコンをクリックします。

  21. 「本文」の式を次のように変更します。

I.1.4 新規アプリケーション・サーバー接続の作成

次の手順を実行し、新規アプリケーション・サーバー接続を作成します。

  1. プロジェクトを右クリックし、「新規」「接続」「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します(図I-15)。

    図I-15 新規アプリケーション・サーバー接続

    図I-15の説明は次にあります。
    「図I-15 新規アプリケーション・サーバー接続」の説明

  2. 接続にSOA_serverという名前を付けて、「次へ」をクリックします(図I-16)。

  3. 「接続タイプ」「WebLogic 10.3」を選択します。

    図I-16 新規アプリケーション・サーバー接続

    図I-16の説明は次にあります。
    「図I-16 新規アプリケーション・サーバー接続」の説明

  4. 認証情報を入力します。 ユーザー名の一般的な値はweblogicです。

  5. 「接続」ダイアログで、SOA管理サーバーのホスト名、ポートおよびSSLポートを入力し、WLSドメインのドメイン名を入力します。

  6. 「次へ」をクリックします。

  7. 「テスト」ダイアログで、「接続のテスト」をクリックします。

  8. メッセージSuccess!が表示されていることを確認します。

    アプリケーション・サーバー接続が作成されました。

I.1.5 プロジェクトのデプロイ

次の手順を実行し、プロジェクトをデプロイします。

  1. プロジェクトをデプロイするには、「SendMessage project」「デプロイ」「SendMessageProj」「デプロイ先」「SOA_server」の順に選択します(図I-17)。

    図I-17 プロジェクトのデプロイ

    図I-17の説明は次にあります。
    「図I-17 プロジェクトのデプロイ」の説明

  2. メッセージBuild Successfulがログに表示されていることを確認します。

  3. デフォルトのリビジョンを入力し、「OK」をクリックします。

  4. メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します(図I-18)。

    図I-18 デプロイメント成功の確認

    図I-18の説明は次にあります。
    「図I-18 デプロイメント成功の確認」の説明

    アプリケーションが正常にデプロイされました。

    サンプルを実行するには、その前に、次の項の説明に従って、Oracle User Messaging Serviceの追加ドライバを構成し、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。


    注意:

    詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。

I.1.6 ユーザー・メッセージング・プリファレンスの構成

通知を受信するユーザーは、ユーザー・メッセージング・プリファレンスを介してメッセージにアクセスする際に使用するデバイスを登録する必要があります。次の手順を実行します。

  1. 次のいずれかのURLで、ユーザー・メッセージング・プリファレンス・アプリケーションにログインします。

    • http://server:port/sdpmessaging/userprefs-uiで直接ログインします。

    • http://server:port/integration/worklistappで、ワークリスト・アプリケーションの「プリファレンス」→「通知」タブを介してログインします。

    ユーザー・メッセージング・プリファレンス・アプリケーションが表示されます。

  2. 「メッセージング・チャネル」タブをクリックします(図I-19)。

    図I-19 「メッセージング・チャネル」タブ

    図I-19の説明は次にあります。
    「図I-19 「メッセージング・チャネル」タブ」の説明

    ログイン資格証明の入力を求められます。

  3. 「メッセージング・チャネル」タブで、チャネルを選択します。

  4. デバイス・フォルダを開いてから、選択したチャネルの横の「デフォルトとして設定」をクリックして、デフォルトとしてチャネルを設定します。

    選択したチャネルの横にチェックマークが表示され、デフォルトの通知受信方法として指定されます。そのユーザーに送信されるすべてのメッセージが、そのチャネルに送信されます。

I.1.7 サンプルのテスト

次に、Enterprise Managerを介してテスト・メッセージを転送する方法を説明します。

次の手順を実行し、サンプルを実行およびテストします。

  1. Webブラウザ・ウィンドウを開き、SOAドメインのEnterprise Managerにログインします。 たとえば、http://host:port/emなどです。

  2. Oracle Enterprise Managerで、ナビゲーション・ツリーの「SOA」フォルダを開いて、デプロイされた「SendMessageProj」コンポジット・アプリケーションをクリックします。 「テスト」ボタンをクリックして、テスト・クライアント・ページを起動します。

  3. 「引数を入力」セクションでは、SendMessageProjを起動するための入力値が提供されます。

    次の値を入力します。

    • to: weblogic(ユーザー)

    • subject: 通知テスト(件名)

    • body: メッセージ・コンテンツ

  4. 「Webサービスのテスト」をクリックします。

I.1.7.1 電子メール送信実行の確認

ヒューマン・ワークフロー・エンジンにログインします。送信通知とそのステータスを「通知マネージャ」タブから確認します(図I-20)。

図I-20 送信通知の表示

図I-20の説明は次にあります。
「図I-20 送信通知の表示」の説明

I.2 添付ファイル付き電子メールの送信

この項では、Oracle User Messaging Serviceで提供されている、添付ファイル付き電子メールの送信アプリケーションを作成して実行する方法を説明します。


注意:

Oracle User Messaging Serviceのアーキテクチャおよびコンポーネントについては、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。

項目は次のとおりです。

I.2.1 概要

添付ファイル付き電子メールを送信するアプリケーションでは、電子メールを添付ファイルとともに送信するBPELプロセスを具体的な例で示します。 BPELプロセスは、アイデンティティ・ストアからユーザーの電子メール・アドレスを参照し、ファイル・システムからファイルを読み取り、電子メールのコンテンツを作成してから、電子メールをそのユーザーに送信します。I.2.5項「サンプルの作成」では、添付ファイル付き電子メールをSOAコンポジット・アプリケーションに追加し、使用しているアプリケーションでメッセージングに対応できるようにする方法を説明します。このアプリケーションを最初からモデル化する場合は、「サンプルの作成」の項に進んでください。 あるいは、このチュートリアルで提供されている事前作成のプロジェクトを直接使用できます。事前作成のサンプルを実行したり、アプリケーションを最初から作成するには、その前に、I.2.2項「SOAおよびUser Messaging Serviceのインストールおよび構成」の説明に従って、サーバーをインストールして構成する必要があります。デフォルトでは、soa-infraによる通知の送信はありません。 次に、電子メール・サーバーとの通信に必要な電子メール・ドライバをインストールして構成する手順を説明します。

I.2.1.1 提供されるファイル

サンプル・アプリケーションには、次のファイルが含まれています。

  • ns_sendemail.pdf – このドキュメント

  • Project – Oracle JDeveloperプロジェクト・ファイルを含むディレクトリ

  • Readme.txt

  • リリース・ノート

I.2.2 SOAおよびUser Messaging Serviceのインストールおよび構成

SOAおよびUser Messaging Serviceは、ホストされたインスタンスにすでにインストールされており、サンプル・ユーザーweblogicはすでに作成されています。soa-infraでの通知を可能にするには、次の手順を実行します(実行していない場合)。

  1. Enterprise Managerを使用して「SOAインフラストラクチャ」メニューに移動し、「SOA管理」→「ワークフロー通知プロパティ」の順に選択して、「通知モード」「すべて」に設定します。

  2. 必要な場合は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』のドライバの構成に関する項の説明に従って、User Messagingドライバを構成します。

  3. ユーザーweblogicの電子メール・アドレスは、JXplorer LDAPブラウザを使用して設定します。 「LDAPユーザー・プロファイルのアドレスの更新」を参照してください。

  4. サーバーを再起動します。

I.2.2.1 LDAPユーザー・プロファイルのアドレスの更新

ユーザーweblogicの電子メール・アドレスをJXplorer LDAPブラウザを使用して設定するには、次の手順を実行します。

I.2.2.1.1 インストール

http://www.jxplorer.orgからJXplorerをダウンロードしてインストールします。

I.2.2.1.2 接続
  1. 埋込みLDAPサーバー管理パスワードを次のように設定します。

    • Oracle WebLogic Server管理コンソールにログインします。

    • ドメイン名のリンク→「セキュリティ」「組込みLDAP」の順にクリックします。

    • 新しい「資格証明」と「資格証明の確認」(例: weblogic)を入力します。

    • 「保存」をクリックします。

  2. 表I-2に示す各フィールドに値を指定し、JXplorerから接続します。

表I-2 JXplorerの接続に関するフィールド

フィールド

Host

WLS AdminServerのホスト名

Port

WLS AdminServerのポート

Protocol

LDAP v3

Security Level

User + Password

User DN

cn=Admin

Password

パスワード


I.2.2.1.3 LDAPのユーザー・メッセージング・デバイス・アドレスの設定

次の例では、ユーザーweblogicを使用します。 追加のユーザーを作成して使用できます。

  1. ドメイン「myrealm」「people」「weblogic」の順にLDAPツリーを開きます。

  2. ユーザー・エントリをクリックします。

  3. 右側で「HTML view」タブを選択します。

  4. 必須の「Email Address」と「Mobile Phone Number」を入力します。

  5. 「Submit」をクリックします。

I.2.3 事前作成されたサンプルの実行

次の手順を実行して、事前作成されたサンプル・アプリケーションを実行し、デプロイします。

  1. Oracle JDeveloperで、SendEmailWithAttachmentsApp.jws(.zipファイルに含まれています)を開きます。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなサンプル・アプリケーションのコンポーネントが表示されます。

    図I-21 Oracle JDeveloperのメイン・ウィンドウ

    図I-21の説明は次にあります。
    「図I-21 Oracle JDeveloperのメイン・ウィンドウ」の説明

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。

    • 右のボックスは、メッセージの送信に使用するメッセージ・サービス・リソースです。

  2. ナビゲーション・ペインでプロジェクトを右クリックし、「新規」を選択して、アプリケーション・サーバー接続を作成します。 I.2.6項「新規アプリケーション・サーバー接続の作成」の説明に従います。

  3. プロジェクトをデプロイするには、「SendEmail project」「デプロイ」「SendEmailProj」「デプロイ先」「SOA_server」の順に選択します(図I-22)。

    図I-22 プロジェクトのデプロイ

    図I-22の説明は次にあります。
    「図I-22 プロジェクトのデプロイ」の説明

  4. メッセージBuild Successfulがログに表示されていることを確認します。

  5. デフォルトのリビジョンを入力し、「OK」をクリックします。

  6. メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します。

    アプリケーションが正常にデプロイされました。

    サンプルを実行するには、その前に、次の項の説明に従って、Oracle User Messaging Serviceの追加ドライバを構成し、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。


    注意:

    詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。

I.2.4 サンプルのテスト

次に、Enterprise Managerを介してテスト・メッセージを転送する方法を説明します。

次の手順を実行し、サンプルを実行およびテストします。

  1. Webブラウザ・ウィンドウを開き、SOAドメインのEnterprise Managerにログインします。 たとえば、http://host:port/emなどです。

  2. Enterprise Managerで、ナビゲーション・ツリーの「SOA」フォルダを開いて、デプロイされた「SendEmailWithAttachmentsProj」コンポジット・アプリケーションをクリックします。 「テスト」ボタンをクリックして、テスト・クライアント・ページを起動します。

  3. 「引数を入力」セクションでは、SendEmailWithAttachmentsProjを起動するための入力値が提供されます。

    次の値を入力します。

    • to: weblogic(ユーザー)

    • subject: 通知テスト(件名)

    • body: メッセージ・コンテンツ

    • attachmentName: 拡張子も含めた添付ファイルの名前

    • attachmentMimeType: たとえば、image/gif

      PDF、DOC、GIF、JPEGなどのファイルを送信する場合、attachmentMimeTypeエントリには、次の値を使用できます。

      • file-name.doc – attachmentMimeType: application/msword

      • file-name.pdf – attachmentMimeType: application/pdf

      • file-name.jpg – attachmentMimeType: image/jpeg

      • file-name.gif – attachmentMimeType: image/gif

    • attachmentURI: 添付ファイルのURI

  4. 「Webサービスのテスト」をクリックします。

I.2.4.1 実行の確認

weblogic電子メール・アカウントを確認します。添付ファイル付きの電子メールを受信しているはずです。

I.2.5 サンプルの作成

次の手順を実行してサンプルを新規に作成すると、SOAコンポジット・アプリケーションにメッセージを追加して、ユーザー・メッセージング・プリファレンスを使用する方法を学習できます。

  1. Open Oracle JDe1veloper 11gを開きます。

  2. 「ファイル」「新規」「アプリケーション」「SOAアプリケーション」の順に選択して、新規アプリケーションを作成します。 「OK」をクリックします。

  3. 「アプリケーション名」を入力し、「次へ」をクリックします(図I-23)。

    図I-23 新規アプリケーションおよび新規プロジェクトの作成(1/3)

    図I-23の説明は次にあります。
    「図I-23 新規アプリケーションおよび新規プロジェクトの作成(1/3)」の説明

  4. プロジェクトの名前を入力し、「次へ」をクリックします(図I-24)。

  5. 図I-24 新規アプリケーションおよび新規プロジェクトの作成(2/3)

    図I-24の説明は次にあります。
    「図I-24 新規アプリケーションおよび新規プロジェクトの作成(2/3)」の説明

  6. コンポジット・テンプレートとして、「BPELを使用するコンポジット」を選択します(図I-25)。 「終了」をクリックします。

    図I-25 新規アプリケーションおよび新規プロジェクトの作成(3/3)

    図I-25の説明は次にあります。
    「図I-25 新規アプリケーションおよび新規プロジェクトの作成(3/3)」の説明

  7. 「BPELプロセスの作成」ダイアログで、BPELプロセス名としてSendEmailWithAttachmentsと入力します(図I-26)。 「OK」をクリックします。

    図I-26 BPELプロセスの作成

    図I-26の説明は次にあります。
    「図I-26 BPELプロセスの作成」の説明

  8. 「SOAPサービスとして公開」が選択されていることを確認します。 「OK」をクリックします。

  9. これで、空のデフォルトBPELアプリケーションが作成されました。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなサンプル・アプリケーションのコンポーネントが表示されます。

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。


      注意:

      User Notification BPELプロセスの作成時にメッセージ送信に使用するメッセージ・サービス・リソースは、後で作成します(手順13〜19)。

  10. 「アプリケーション・ナビゲータ」の「xsd」フォルダを開き、「SendEmailWithAttachments.xsd」をダブルクリックして開きます(図I-27)。

    図I-27 SendEmailWithAttachments.xsdファイルへのアクセス

    図I-27の説明は次にあります。
    「図I-27 SendEmailWithAttachments.xsdファイルへのアクセス」の説明

  11. 「ソース」タブをクリックします(図I-27)。

  12. このBPELアプリケーションの入力に対して次の変更を行います。

    プロジェクトの「アプリケーション・ナビゲータ」の「xsd」フォルダ内に生成されたファイルSendEmailWithAttachments.xsdには、次の要素定義がデフォルトで作成されます。

    <element name="process">
      <complexType>
        <sequence>
          <element name="input" type="string"/>    </sequence>
      </complexType>
    </element>
    

    「ソース」タブを選択し、前述の行を次の内容で置換します。

    <element name="process">
    <complexType>
         <sequence>
           <element name="to" type="string"/>
           <element name="subject" type="string"/>
           <element name="body" type="string"/>
           <element name="attachmentName" type="string"/>
           <element name="attachmentMimeType" type="string"/>
           <element name="attachmentURI" type="string"/>
         </sequence>
       </complexType>
     </element>
    

    このxsd要素は、BPELプロセスの入力を定義します。

    図I-28 Emailの編集

    図I-28の説明は次にあります。
    「図I-28 Emailの編集」の説明

  13. プロジェクトを保存します。

  14. SendEmailWithAttachments.bpelのエディタ画面を選択します。

  15. 「コンポーネント・パレット」にあるBPELアクティビティおよびコンポーネントからemailアクティビティを、receiveInputアクティビティとcallbackClientアクティビティの間にドラッグ・アンド・ドロップします(図I-28)。

  16. 「Emailの編集」ウィンドウでは、「送信元アカウント」を「Default」のままにします。

    図I-29 「Emailの編集」ウィンドウ

    図I-29の説明は次にあります。
    「図I-29 「Emailの編集」ウィンドウ」の説明

  17. 「To」に対して式を作成するには、「式ビルダー」(2番目のアイコン、図I-30)を選択して、次の手順を実行します。

    • 関数のドロップダウン・リストから「Identity Service Functions」を選択します。

    • getUserProperty()関数を選択して「式に挿入」を選択します。

    • 「BPEL変数」で、「変数」「プロセス」「変数」「inputVariable」「payload」「client:process」「client:to」の順に選択します。

    • 「式に挿入」をクリックします。

    • 文字列mailを手動で入力します。

    • カッコを適切に修正します。

    • 「OK」をクリックします。

    この式(図I-30)は、Webサービスからデータを取得し、そのデータをローカルSOAユーザーのビジネス電子メールにマップします。

    図I-30 Toパスに対する式ビルダー

    図I-30の説明は次にあります。
    「図I-30 Toパスに対する式ビルダー」の説明

    式は、次のように表示されます。

    ids:getUserProperty(  bpws:getVariableData('inputVariable',
    'payload', '/client:process/client:to'),
    'mail')
    
  18. 「件名」に対して式ビルダーを選択します。 「関数」から「getVariableData」を選択し、「式に挿入」をクリックします。

    図I-31に、件名に対する式ビルダーを示します。

    図I-31 件名に対する式ビルダー

    図I-31の説明は次にあります。
    「図I-31 件名に対する式ビルダー」の説明

    式は、次のように表示されます。

    bpws:getVariableData( 'inputVariable', 'payload','/client:process/client:subject')
    
  19. 「本文」に対して式ビルダーを選択し、図I-32に示すような式を設定します。

    図I-32 本文に対する式ビルダー

    図I-32の説明は次にあります。
    「図I-32 本文に対する式ビルダー」の説明

    式は、次のように表示されます。

    bpws:getVariableData('inputVariable','payload','/client:process/client:body')
    
  20. 「Emailの編集」ダイアログ(図I-33)で、添付ファイル付きマルチパート・メッセージ・ボックスが選択されている必要があります。

    電子メールに複数のパートがある場合、添付ファイルの件数には、前述のウィザードで設定した本体が含まれます。前述のウィザードで指定した本体は、最初の本体部分として設定されます。 たとえば、1つの添付ファイルがあるマルチパート・メールを表現するには、本体部分の数として、2を入力します。 添付ファイルが1つある場合は、本体部分の数として、1を入力します。

    図I-33 「Emailの編集」ウィンドウ

    図I-33の説明は次にあります。
    「図I-33 「Emailの編集」ウィンドウ」の説明

  21. 添付ファイルを次のように設定します。

    各本体部分には、「MimeType」「BodyPartName」「ContentBody」という3つの属性があります。デフォルトでは、ウィザードによって、デフォルトの名前、MIMEタイプおよび各添付ファイルのコンテンツが生成されます。 これらの本体部分の割当ては、適切なデータを設定するために変更する必要があります。変更するには、通知スコープ内のassignアクティビティのコピー・ルールを変更します。 このコピー・ルール(「コピー操作」タブで指定)は、割当てごとに次の順序でグループ化されます(copy-toコンストラクトもリストされます)。

    MimeType - <to variable="varNotificationReq" part="EmailPayload"
     query="/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[2]/
    ns1:MimeType"/>
    
    Name - <to variable="varNotificationReq" part="EmailPayload"
     query="/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[2]/
    ns1:BodyPartName"/>
    
    Contents - <to variable="varNotificationReq" part="EmailPayload"
     query="/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[2]/
    ns1:ContentBody"/>
    
    1. プラス記号アイコンを選択して、Emailノードを展開します(図I-34)。

      図I-34 Emailノードの展開

      図I-34の説明は次にあります。
      「図I-34 Emailノードの展開」の説明

    2. EmailParamAssignノードをダブルクリックします(図I-35)。

      図I-35 EmailParamAssignノード

      図I-35の説明は次にあります。
      「図I-35 EmailParamAssignノード」の説明

      EmailParamAssignノードで変更(XPath変数の編集など)を行った場合は、変更ごとに、「ファイル」メニューから「すべて保存」を実行してください。これによって、変更内容が.bpelファイルに確実に反映されます。

    3. 2番目の本体部分(最初の本体部分はウィザード内に設定されているコンテンツ)のMIMEタイプを編集するには、その本体部分をダブルクリックして、MimeTypeで終了している2番目の本体部分の変数を選択します(図I-36)。

      図I-36 2番目の本体部分のMIMEタイプの編集

      図I-36の説明は次にあります。
      「図I-36 2番目の本体部分のMIMEタイプの編集」の説明

    4. XPathを次のように編集します(図I-37)。

      From: /client:process/client:attachmentMimeType, To: /EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/
      ns1:BodyPart[2]/ns1:MimeType
      

      図I-37 MIMEタイプのXPathの編集

      図I-37の説明は次にあります。
      「図I-37 MIMEタイプのXPathの編集」の説明

    5. プロジェクトを保存します。

    6. 2番目の添付ファイルの添付ファイル名を編集するには、その添付ファイルをダブルクリックして、BodyPartNameで終了している2番目の本体部分の変数を選択します(図I-38)。

      図I-38 2番目の添付ファイルの添付ファイル名の編集

      図I-38の説明は次にあります。
      「図I-38 2番目の添付ファイルの添付ファイル名の編集」の説明

    7. XPathを次のように編集します。

      From: /client:process/client:attachmentName To: /EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart
      /ns1:BodyPart[2]/ns1:BodyPartName
      

      図I-39 BodyPartNameのXPathの編集

      図I-39の説明は次にあります。
      「図I-39 BodyPartNameのXPathの編集」の説明

    8. プロジェクトを保存します。

    9. 2番目の添付ファイルの添付コンテンツを編集するには、その添付ファイルをダブルクリックして、ContentBodyで終了している2番目の本体部分の変数を選択します(図I-40)。

      図I-40 2番目の添付ファイルの添付コンテンツの編集

      図I-40の説明は次にあります。
      「図I-40 2番目の添付ファイルの添付コンテンツの編集」の説明

    10. XPathを次のように編集します(図I-41)。

      From: ora:readFile(bpws:getVariableData('inputVariable','payload','/client:
      process/client:attachmentURI')) To:/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/
      ns1:BodyPart[2]/ns1:ContentBody
      

      ora:readFile() XPath関数は、「BPEL Xpath Extension Functions」の下にあります。

      図I-41 ContentBodyのXPathの編集

      図I-41の説明は次にあります。
      「図I-41 ContentBodyのXPathの編集」の説明

    11. 「コピー操作の編集」ダイアログで「OK」をクリックします。

      図I-42 「コピー操作」タブ

      図I-42の説明は次にあります。
      「図I-42 「コピー操作」タブ」の説明

    12. assignアクティビティで「OK」をクリックします。プロジェクトを保存します。

      プロセスのモデル化が終了しました。 この手順にある情報は、添付ファイル付き通知をSOAコンポジット・アプリケーションに追加する際に使用できます。これで、I.2.3項「事前作成されたサンプルの実行」で説明されているように、アプリケーションをデプロイして実行できます。

I.2.6 新規アプリケーション・サーバー接続の作成

次の手順を実行し、新規アプリケーション・サーバー接続を作成します。

  1. プロジェクトを右クリックし、「新規」「接続」「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します(図I-43)。

    図I-43 新規アプリケーション・サーバー接続

    図I-43の説明は次にあります。
    「図I-43 新規アプリケーション・サーバー接続」の説明

  2. 接続にSOA_serverという名前を付けて、「次へ」をクリックします(図I-44)。

  3. 「接続タイプ」「WebLogic 10.3」を選択します。

    図I-44 新規アプリケーション・サーバー接続

    図I-44の説明は次にあります。
    「図I-44 新規アプリケーション・サーバー接続」の説明

  4. 認証情報を入力します。 ユーザー名の一般的な値はweblogicです。

  5. 「接続」ダイアログで、SOA管理サーバーのホスト名、ポートおよびSSLポートを入力し、WLSドメインのドメイン名を入力します。

  6. 「次へ」をクリックします。

  7. 「テスト」ダイアログで、「接続のテスト」をクリックします。

  8. メッセージSuccess!が表示されていることを確認します。

    アプリケーション・サーバー接続が作成されました。