18 通知サービスの管理
次の各項で、通知テンプレートおよび通知プロバイダについて説明します。
18.1 通知プロバイダについて
Oracle Identity Managerで発生したイベントに関する情報は、リクエスタ、受益者、管理者などの様々なユーザーに送信する必要があります。このイベントに関する情報は、通知電子メール・メッセージ形式の通知サービスを使用して送信されます。通知サービスを使用してすべての通知関連操作を実行できます。
イベントとは、Oracle Identity Managerで発生する操作で、ユーザー作成、リクエスト開始またはユーザーが作成した任意のカスタム・イベントなどが含まれます。イベントは、ビジネス操作の一部として、またはエラー生成を介して生成されます。イベント定義は、イベントを記述するメタデータです。イベントのメタデータを定義するには、機能コンポーネントでサポートされるすべてのイベント・タイプを識別することが重要です。たとえば、スケジューラ・コンポーネントの一部として、スケジュール済ジョブ実行の失敗とスケジューラの停止に対してメタデータを定義できます。ジョブの失敗またはスケジューラの停止のたびにイベントが発生し、イベントに関連付けられている通知が送信されます。
イベントで使用可能なデータを使用して、通知のコンテンツが作成されます。イベントに定義された様々なパラメータにより、システムは適切な通知テンプレートを選択できます。イベントに定義されている各種のパラメータは、テンプレート設計時に使用可能にできるイベント変数をシステムが決定する際に役立ちます。
通知テンプレートは、通知を送信するために使用されます。これらのテンプレートには、より詳細な通知を提供するために、使用可能なデータを参照する変数が含まれています。通知が送信されるチャネルは、通知プロバイダと呼ばれます。このようなチャネルの例には、電子メール、インスタント・メッセージ(IM)、ショート・メッセージ・サービス(SMS)、ボイスなどがあります。これらの通知プロバイダを使用するために、Oracle Identity ManagerではOracle User Messaging Service (UMS)が使用されます。
バックエンドでは、通知エンジンが通知の生成と通知プロバイダを利用した通知の送信を担当します。
18.2 通知プロバイダの管理
通知プロバイダの管理には、通知のためのUMS、SMTPおよびSOAコンポジットの使用、カスタム通知プロバイダの構成、および通知プロバイダの有効化と無効化が含まれます。
次の各項で、通知プロバイダの管理について説明します。
18.2.1 通知へのUMSの使用
通知でUMSを使用すると、多様なメッセージ・チャネルとメッセージの堅牢な配信が確実にサポートされます。通知のためにUMSを構成するには、通知のためにUMSを有効化し、OWSMポリシーをUMS Webサービスに適用し、UMSクライアント接続プールを変更します。
この項では、通知でのUMSの使用方法について説明します。内容は次のとおりです。
18.2.1.1 通知のためのUMSについて
UMSには、通知を送信するための様々な機能があります。これらの機能は、Oracle Identity Manager通知エンジンによって次のことを行うために使用されます。
-
様々なメッセージング・チャネルに対するサポート: メッセージは、電子メール、IM、SMSおよびボイスを介して送受信できます。Oracle Identity Managerは、電子メールによる通知メッセージの送信のみをサポートしています。
-
強力なメッセージ配信: UMSは、メッセージング・ゲートウェイが提供する配信ステータス情報を継続して記録し、アプリケーションにこの情報を提供しているため、アプリケーションは失敗した配信に対応できます。
18.2.1.2 通知にUMSを使用するためのOracle Identity Governanceの有効化
通知にUMSを使用するためにOracle Identity Governanceを有効化するには:
-
UMSEmailNotificationProviderMBean MBeanを使用してUMSプロパティを構成します。そのように行うには:
-
Oracle Enterprise Managerにログインします。
-
「アプリケーションのデプロイ」をクリックします。
-
「OIMAppMetadata(11.1.2.0.0)(oim_server_name)」を右クリックし、「システムMBeanブラウザ」をクリックします。
-
システムMBeanブラウザで、「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim_server_name」→「アプリケーション: oim」→「IAMAppRuntimeMBean」に移動し、「UMSEmailNotificationProviderMBean」を選択します。
-
「属性」タブで、表18-1の情報を入力します。
表18-1 「属性」タブのパラメータ
属性 説明 ポリシー
メッセージングUMS Webサービスは、Oracle Identity ManagerとUMSとの間における統合に使用されます。Oracle Web Services Manager (OWSM)ポリシーを介して、Webサービスを保護できます。OWSMポリシーがメッセージングWebサービスにサーバー・レベルでアタッチされている場合は、対応するクライアント側ポリシーの名前を指定します。そうでない場合は、フィールドを空白のままにしておきます。たとえば、oracle/wss11_username_token_with_message_protection_service_policyがサーバー・レベルで適用される場合は、oracle/wss11_username_token_with_message_protection_client_policyなどの対応するクライアント・ポリシー名をここに指定します。
WSUrl
開始するUMS WebサービスのURL。デフォルトでは、Oracle Identity ManagerとUMSとの間における統合に使用されるメッセージングUMS WebサービスのURLが含まれます。
たとえば次のように、他のSOAサーバーがあれば、それも使用できます。
http://SOA_HOST:SOA_PORT/ucs/messaging/webservice
ここで、SOA_HOSTをSOAサーバーのホスト名、SOA_PORTをSOAサーバーに接続するためのポート番号で置き換えます。
CSFKey
UMS電子メール通知プロバイダ資格証明ストア(CSF)キー名。キー名はデフォルトで移入されます。このキーは、oracle.wsm.securityマップにあります。
oracle.wsm.securityマップにアクセスするには、次の手順に従います。
-
Oracle Enterprise Managerで、「WebLogicドメイン」を展開します。
-
ベース・ドメインを右クリックし、「セキュリティ」→「資格証明」を選択します。「資格証明」ページが表示されます。
-
「資格証明」列で、oracle.wsm.securityマップを展開します。
図18-1に、「システムMBeanブラウザ」の「属性」タブに表示されたUMSEmailNotificationProviderMBeanのプロパティを示します。 -
-
「適用」をクリックします。
-
-
Oracle Identity ManagerとUMSサーバーが異なるドメインにある場合は、UMSパブリック・キーをOracle Identity Managerドメインのキーストアにインポートし、Oracle Identity Managerドメインのパブリック・キーをUMSキーストアにインポートする必要があります。
関連項目:
UMS Webサービス・セキュリティの詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する項を参照してください。
-
電子メール・ドライバを構成します。構成済のデフォルト電子メール・ドライバはありません。電子メール・ドライバは明示的に構成する必要があります。
電子メール・ドライバを作成するには:
-
ドメイン名の横にある表のアイコンをクリックして、「ターゲット・ナビゲーション」に移動します。
-
「ユーザー・メッセージング・サービス」を開きます。
-
「usermessagingdriver-email (soa_server1)」をクリックします。
-
「ユーザー・メッセージング電子メール・ドライバ」ドロップ・ダウンを選択します。
-
「電子メール・ドライバ・プロパティ」をクリックします。
-
「作成」をクリックしてドライバを作成します。
-
次の値を指定して保存します。
名前:
EmailDriver1
(サンプル値)機能の選択:
SEND
送信メール・サーバー:
localhost
(サンプル値)送信メール・サーバー・ポート:
25
(サンプル値)
-
-
メール・サーバーのセキュリティがSSLの場合は、DemoTrustストア参照をSOA環境から削除する必要があります。そのように行うには:
-
テキスト・エディタで、DOMAIN_HOME/bin/setDomainEnv.shファイルを開きます。Microsoft Windowsの場合は、setDomainEnv.batファイルを開きます。
-
次の行を削除します。
-Djavax.net.ssl.trustStore=$WL_HOME/server/lib/DemoTrust.jks from EXTRA_JAVA_PROPERTIES
-
保存してファイルを閉じます。
-
テキスト・エディタで、DOMAIN_HOME/bin/startManagedWeblogic.shファイルを開きます。Microsoft Windowsの場合は、startManagedWeblogic.batファイルを開きます。
-
このファイルからJAVA_OPTIONSで設定された次のweblogic.security.SSL.trustedCAKeyStoreプロパティを削除します。
JAVA_OPTIONS="-Dweblogic.security.SSL.trustedCAKeyStore="{MW_HOME}/server/server/lib/cacerts" ${JAVA_OPTIONS}"
-
保存してファイルを閉じます。
-
管理および管理対象サーバーを再起動します。
ノート:
SSLを使用してメール・サーバーに接続するUMSの構成の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する項を参照してください。
-
-
CSFキーのユーザー名とパスワードを編集します。そのように行うには:
-
Oracle Enterprise Managerで、「WebLogicドメイン」を展開します。
-
ベース・ドメインを右クリックし、「セキュリティ」→「資格証明」を選択します。「資格証明」ページが表示されます。
-
「資格証明」列で、oracle.wsm.securityマップを展開します。
-
Notification.Provider.Key資格証明キーのレコードを選択します。
-
ツールバーで、「編集」をクリックします。「キーの編集」ダイアログ・ボックスが表示されます。
-
「ユーザー名」および「パスワード」フィールドの値を編集し、「OK」をクリックします。
-
18.2.1.3 UMS WebサービスへのOWSMポリシーの適用
サーバー側OWSMポリシーをUMS Webサービスに適用して、EMを使用する他のWebサービスを保護できます。対応するクライアント側ポリシー、ユーザー名およびパスワードをプロバイダXMLで、またはMBeanを介して指定する必要があります。
18.2.1.4 UMSクライアントの接続プーリングの変更
パフォーマンスを拡張するために、Oracle Identity ManagerではUMSクライアント・オブジェクトのプールを作成します。デフォルトのプールの構成は、次のようになります。
構成パラメータ | 値 |
---|---|
abandonedConnectionTimeout |
600ms |
connectionWaitTimeout |
60ms |
inactiveConnectionTimeout |
300000ms |
initialPoolSize |
5 |
maxPoolSize |
40 |
minPoolSize |
10 |
timeoutCheckInterval |
30ms |
connectionPoolingSupported |
true |
Oracle Identity Managerサーバーの起動時に次のシステム・プロパティを新しい値とともに渡すことにより、これらのデフォルト値を変更できます。
システム・プロパティ | 説明 |
---|---|
ums.ucp.abandonedConnectionTimeout |
中止接続タイムアウト用 |
ums.ucp.connectionWaitTimeout |
接続待機タイムアウト用 |
ums.ucp.inactiveConnectionTimeout |
非アクティブ接続タイムアウト用 |
ums.ucp.initialPoolSize |
プールの初期サイズ用 |
ums.ucp.maxPoolSize |
プールの最大サイズ用 |
ums.ucp.minPoolSize |
プールの最小サイズ用 |
ums.ucp.timeoutCheckInterval |
タイムアウト・チェック間隔用 |
ums.ucp.connectionPoolingSupported |
接続プーリングのサポート用 |
たとえば、プールの初期サイズ・プロパティ(initialPoolSize)を変更するには、次の方法でシステム・プロパティを構成できます。
sh startManagedWebLogic.sh oim_server1 -Dums.ucp.initialPoolSize=10
18.2.2 通知へのSMTPの使用
通知のためにSMTPを使用するには、SMTP電子メール通知プロバイダ・プロパティを構成して、CSFキーを追加します。
デフォルトでは、SMTP電子メール通知プロバイダは無効化されています。これは、有効化された属性の値をtrueに設定することで有効化されます。
18.2.2.1 SMTP電子メール通知プロバイダのプロパティの構成
EmailNotificationProviderMBean MBeanを使用してSMTP電子メール通知プロバイダのプロパティを構成するには:
- Oracle Enterprise Managerにログインします。
- 「アプリケーションのデプロイ」をクリックします。
- 「OIMAppMetadata(11.1.2.0.0)(oim_server1)」を右クリックし、「システムMBeanブラウザ」を選択します。「システムMBeanブラウザ」が表示されます。
- 「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim_server1」→「アプリケーション: oim」→「IAMAppRuntimeMBean」→「EmailNotificationProviderMBean」に移動します。EmailNotificationProviderMBean MBeanのすべての属性が「属性」タブに表示されます。
図18-2に、「システムMBeanブラウザ」の「属性」タブに表示されたEmailNotificationProviderMBeanのプロパティを示します。
表18-3に、デフォルトのSMTP電子メール通知プロバイダのプロパティを示します。
表18-3 デフォルトのSMTP電子メール通知プロバイダのプロパティ
プロパティ | 説明 |
---|---|
Enabled |
このプロパティは通知プロバイダのステータスを決定します。このプロパティの値がfalseの場合、プロバイダは非アクティブです。プロバイダを有効化するには、値をtrueに変更します。 |
Type |
このプロパティは通知プロバイダのタイプを決定します。Oracle Identity ManagerではEmailタイプのみがサポートされています。 |
IsAuth |
このフラグの値がfalseの場合、メール・サーバーで認証は必要ありません。その結果、CSFKeyおよびCSFMapの値を指定する必要がありません。ただし、これは使用されているメール・サーバーによって異なります。ほとんどのメール・サーバーはこのフラグをサポートしています。いずれかのメール・サーバーがこのフラグをサポートしていない場合は、CSFKeyおよび対応するCSFMapで認証資格証明を指定する必要があります。 |
ItrName |
メール・サーバー・タイプのITリソース・インスタンスを介して接続性情報を提供する場合は、ITリソース・インスタンスの名前をここに指定します。これは推奨されるオプションではありません。 |
CSFMap |
このプロパティは、既存のCSFマップの名前を決定します(oimやoracle.wsm.securityなど)。 |
CSFKey |
このプロパティは、認証証明書(ユーザー名とパスワード)を含むキーの名前をとります。このキーは、マップ名の下に存在します。デフォルトでは、名前がNotification.Provider.Keyという1つのキーが1oracle.wsm.securityマップにあります。このキーは、UMS電子メール通知プロバイダに使用されます。 UMS電子メール・プロバイダが無効化されている場合は、同じマップとキーを使用して、メール・サーバーで認証に必要なユーザー名とパスワードを指定します。そうでない場合は、いずれかのデフォルト・マップに新しいキーを作成し、これらのプロパティでマップの名前とキーを指定します。 CSFキーの追加については、この項で後ほど説明します。 |
ConnectionTimeout |
ミリ秒単位です。接続確立の最大時間を設定するために必要です。 |
MailServername |
メール・サーバーの名前。 |
Sender |
Oracle Identity Managerで電子メールの送信に使用される送信者。 |
18.2.3 通知へのSOAコンポジットの使用
通知のためにSOAコンポジットを使用するには、通知アクティビティを含むSOAコンポジットを作成し、そのSOAコンポジットをSOAサーバーにデプロイし、ワークフロー通知プロパティを設定し、SOA電子メール通知プロバイダ・プロパティを構成し、ユーザー・メッセージング・ドライバを構成します。
デフォルトでは、SOA電子メール通知プロバイダは無効化されています。有効化されたプロパティの値をtrueに変更して、この通知プロバイダを有効化できます。
通知でOracle Identity ManagerのSOAコンポジットを使用するには、次の手順を順序どおりに実行します。
18.2.3.1 通知アクティビティを含むSOAコンポジットの作成
SOAコンポジットを通知アクティビティで作成します。詳細は、『Oracle SOA Suite開発者ガイド』の通知サービスの使用に関する項を参照してください。
図18-3は、式ビルダーを介したコンポジット・ペイロードのマッピング例を示します。
18.2.3.2 SOAサーバーへのSOAコンポジットの手動デプロイ
SOAコンポジットをSOAサーバーに手動でデプロイします。そのように行うには:
-
アプリケーション接続を作成します。そのように行うには:
-
JDeveloperでSOAコンポジットを開きます。
-
プロジェクトを右クリックし、「新規」→「接続」→「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します。
-
接続に
SOA_server
という名前を付けて、「次へ」をクリックします。 -
「接続タイプ」に「WebLogic 10.3」を選択します。
-
認証情報を入力します。一般的な値:
ユーザー名: weblogic
パスワード: PASSWORD
-
「接続」画面で、SOA管理サーバーまたは管理サーバーのホスト名、ポートおよびSSLポートを入力し、WebLogicドメインの名前を入力します。
-
「次へ」をクリックします。
-
「テスト」画面で、「接続のテスト」をクリックします。成功メッセージが表示されることを確認します。
-
-
プロジェクトをデプロイします。そのように行うには:
-
プロジェクトを右クリックし、「デプロイ」を選択し、プロジェクト名を選択します。「デプロイ先」オプションを選択してアプリケーション接続(SOA_server)を作成します。ビルド成功メッセージがログに格納されたことを確認します。
-
デフォルトのリビジョンを入力し、「OK」をクリックします。デプロイ終了のメッセージがデプロイメント・ログに格納されたことを確認します。
-
18.2.3.3 ワークフロー通知プロパティの設定
Enterprise Managerを使用して、soa-infraに移動します。「soa-infra」を右クリックして「SOA管理」→「ワークフロー・プロパティ」を選択します。「ワークフロー通知プロパティ」で、ドロップダウンから「すべて」を選択して、通知モードを「すべて」に設定します。
18.2.3.4 SOA電子メール通知プロバイダのプロパティの構成
SOAEmailNotificationProviderMBean MBeanを使用してSOA電子メール通知プロバイダのプロパティを構成します。そのように行うには:
- Oracle Enterprise Managerにログインします。
- 「アプリケーションのデプロイ」を展開します。「OIMAppMetadata(11.1.2.0.0)(oim_server1)」を右クリックし、「システムMBeanブラウザ」を選択します。
- 「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim_server1」→「アプリケーション: oim」→「IAMAppRuntimeMBean」→「SOAEmailNotificationProviderMBean」に移動します。
SOAEmailNotificationProviderMBeanで有効化されたプロパティの値をfalseからtrueに変更します。表18-4に、SOA電子メール通知プロバイダのBeanのプロパティを示します。
表18-4に、SOA電子メール通知プロバイダのプロパティの一部を示します。
表18-4 SOA電子メール通知プロバイダのプロパティ
プロパティ | 説明 |
---|---|
Enabled |
このプロパティは通知プロバイダのステータスを決定します。このプロパティの値がfalseの場合、プロバイダは非アクティブです。プロバイダを有効化するには、値をtrueに変更します。 |
Type |
このプロパティは通知プロバイダのタイプを決定します。Oracle Identity ManagerではEmailタイプのみがサポートされています。 |
CompositeID |
SOAコンポジットの名前を表します。名前にはpkg/Name!versionが含まれます。 |
ServiceName |
SOAコンポジットのサービスに付けられる名前。 |
OperationName |
SOAコンポジットのプロセスに付けられる名前。 |
PayloadID |
SOAコンポジットのペイロードに付けられる名前。 |
TargetNamespace |
SOAコンポジットの作成時に生成される各種XMLで指定されるtargetNamespaceの名前。 |
Sender |
Oracle Identity Managerで電子メールの送信に使用される送信者。 |
18.2.5 通知プロバイダの無効化と有効化
UMS通知プロバイダやEmailNotificationProviderなどの通知プロバイダは、Oracle Enterprise Managerを使用して無効化および有効化できます。
たとえば、UMS通知プロバイダを無効化するには:
- Enterprise Managerにログインします。
- 「アプリケーションのデプロイ」に移動します。
- 「OIMAppMetadata(11.1.2.0.0)(oim_server1)」を右クリックし、「システムMBeanブラウザ」を選択します。「システムMBeanブラウザ」ペインが表示されます。
- 「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim_server1」→「アプリケーション: oim」→「IAMAppRuntimeMBean」に移動します。
- 「UMSEmailNotificationProviderMBean」を選択します。
- 「属性」タブで、有効化されている属性に対応する「値」リストから「false」を選択してUMS通知プロバイダを無効化します。UMS通知プロバイダを有効化するには、「true」を選択します。
- 「適用」をクリックします。
18.3 通知テンプレートの管理
通知テンプレート(より詳細な通知を提供するために、使用可能なデータを参照する変数が含まれている)を使用して通知を送信します。通知テンプレートの管理には、テンプレートの検索、作成、変更、有効化と無効化、削除、通知テンプレートに対するロケールの追加と削除、および通知のプロキシ構成が含まれます。
この項では、通知テンプレートについて説明します。内容は次のとおりです。
18.3.1 デフォルトの通知テンプレート
デフォルト通知テンプレートは、バルク・リクエスト、プロキシ、パスワード生成、警告、期限切れ、リセット、およびリクエストの作成とステータス変更など、様々な通知シナリオで使用できます。
表18-5に示すように、Oracle Identity Managerにはデフォルトの通知テンプレート・セットが用意されています。
表18-5 デフォルトの通知テンプレート
通知テンプレート | 説明 |
---|---|
プロキシ通知の追加 |
ユーザーにプロキシが追加された後で通知を送信するためのテンプレート |
バルク・リクエスト作成 |
バルク・リクエストの作成中に通知を送信するためのテンプレート |
ユーザー・セルフ・サービス通知の作成 |
新しいユーザーの作成後に通知を送信するためのテンプレート |
終了日 |
報告者の終了日を経過したときにマネージャに通知を送信するためのテンプレート |
ユーザー名忘れ通知 |
ユーザーが「ユーザー名忘れ」フォームを送信した後に通知を送信するためのテンプレート |
生成されたパスワードの通知 |
Oracle Identity Managerによるパスワード生成後に通知を送信するためのテンプレート |
パスワード有効期限切れ通知 |
パスワードの有効期限が切れた後で通知を送信するためのテンプレート |
パスワード警告通知 |
パスワードの有効期限が切れる前に通知を送信するためのテンプレート |
リクエスト作成 |
リクエストの作成中に通知を送信するためのテンプレート |
リクエスト・アイデンティティ作成 |
ユーザーの作成のリクエスト中に通知を送信するためのテンプレート |
リクエスト・ステータス変更 |
リクエスト・ステータスの変更中に通知を送信するためのテンプレート |
パスワードのリセット |
パスワードがリセットされた後で通知を送信するためのテンプレート |
ユーザーが削除されました |
終了日の期限切れにより報告先のユーザー・アカウントが削除されたときにマネージャに通知を送信するためのテンプレート |
18.3.3 通知テンプレートの作成
「通知」ページを使用し、テンプレートの名前と説明、イベントの主催、ロケール情報など様々な属性を指定して、新しい通知テンプレートを作成します。
ノート:
発生する各イベントに対してXMLファイルを構成する必要があります。XMLファイルは、各イベントの動作を定義します。最初に、イベントのXMLを構成する必要があります。これを行った後で、イベントに対して通知テンプレートを作成できます。
イベントXMLファイルの作成の詳細は、Oracle Identity Governanceのためのアプリケーションの開発とカスタマイズのイベント・メタデータの定義に関する項を参照してください。
通知テンプレートを作成するには:
-
Oracle Identity System Administrationにログインします。
-
左ペインの「システム構成」で、「通知」をクリックします。「通知」ページが表示されます。
-
「アクション」メニューから、「作成」を選択します。または、「作成」アイコンをクリックします。「テンプレートの作成」ページが表示されます。
-
「テンプレート情報」セクションで、次のフィールドに値を入力します。
-
テンプレート名: テンプレート名を入力します。
-
説明テキスト: テンプレートの簡単な説明を入力します。
ノート:
「説明テキスト」フィールドは翻訳できず、表示は英語のみになります。
-
-
「イベントの詳細」セクションで、「使用可能なイベント」リストから、使用可能なイベントのリストから通知テンプレートを作成するイベントを選択します。選択内容に応じて、他のフィールドが「イベントの詳細」セクションに表示されます。
-
「ロケール情報」セクションの下で、次のフィールドに値を入力します。
ノート:
デフォルトのロケールの情報はPTY表に格納されており、そこから取得されます。
-
エンコーディング形式を指定するには、UTF-8かASCIIのいずれかを選択します。
-
「メッセージの件名」フィールドに、通知の件名を入力します。
-
「タイプ」オプションから、メッセージを送信するデータ型を選択します。「HTML」か「Text/Plain」のどちらかを選択できます。
-
「ショート・メッセージ」フィールドに、メッセージの短縮バージョンを入力します。
-
「ロング・メッセージ」フィールドに、通知として送信されるメッセージを入力します。ステップ7を参照してください。
-
-
通知として送信するメッセージ内で、使用可能なデータのトークンを使用するには:
-
「イベントの詳細」セクションの「使用可能なデータ」リストから属性を選択します。この属性は、「選択したデータ」フィールドに表示されます。
-
属性をコピーして${}の内側に配置し、メッセージ・テキストに追加します。たとえば、選択したデータがFA_Territoryの場合、${FA_Territory}としてテキスト内に含めます。
図18-6に、サンプル値を使用した「通知テンプレートの作成」ページを示します。
-
-
すべてのフィールドに必要な値を入力し終わったら、「保存」をクリックします。
-
通知テンプレートの作成を確認するメッセージが表示されます。「OK」をクリックします。
18.3.5 通知テンプレートの無効化
アイデンティティ・システム管理の「通知」セクションを使用して、通知テンプレートを無効にします。
有効にされている通知テンプレートは、次の方法で無効にできます。
-
通知の検索結果で通知テンプレートを選択して無効化します。そのように行うには:
-
Identity System Administrationの「システム構成」で、「通知」をクリックします。
-
無効化する通知テンプレートを検索します。
-
無効にするテンプレートを選択します。通知テンプレートが有効な状態の場合は、「無効化」ボタンがアクティブになります。
-
「無効化」をクリックします。無効化操作の確認を求めるメッセージが表示されます。「はい」をクリックします。無効化の操作を確認するメッセージが表示されます。
-
-
通知テンプレートの詳細を開いて無効化します。そのように行うには:
-
Identity System Administrationの「システム管理」で、「通知」をクリックします。
-
無効化する通知テンプレートを検索します。
-
テンプレート名をクリックして、テンプレートの詳細を開きます。「通知テンプレートの詳細」ページでは、通知テンプレートが有効な状態の場合に、「無効化」ボタンがアクティブになります(図18-7を参照)。
-
「無効化」をクリックします。無効化の操作を確認するメッセージが表示されます。
-
18.3.6 通知テンプレートの有効化
アイデンティティ・システム管理の「通知」セクションを使用して、通知テンプレートを有効にします。
無効にされている通知テンプレートは、次の方法で有効にできます。
-
通知の検索結果で通知テンプレートを選択して有効化します。そのように行うには:
-
Identity System Administrationの「システム構成」で、「通知」をクリックします。
-
有効化する通知テンプレートを検索します。
-
無効にするテンプレートを選択します。通知テンプレートが無効な状態の場合は、「有効化」ボタンがアクティブになります。
-
「有効化」をクリックします。有効化操作の確認を求めるメッセージが表示されます。「はい」をクリックします。有効化の操作を確認するメッセージが表示されます。
-
-
通知テンプレートの詳細を開いて有効化します。そのように行うには:
-
Identity System Administrationの「システム管理」で、「通知」をクリックします。
-
有効化する通知テンプレートを検索します。
-
テンプレート名をクリックして、テンプレートの詳細を開きます。「通知テンプレートの詳細」ページでは、通知テンプレートが無効な状態の場合に、「有効化」ボタンがアクティブになります。
-
「有効化」をクリックします。有効化の操作を確認するメッセージが表示されます。
-
18.3.7 通知テンプレートへのロケールの追加
Oracle Identity Managerインスタンスに存在するロケールのリストから、ロケールを通知テンプレートに追加できます。
通知テンプレートにロケールを追加するには:
18.3.9 通知テンプレートの削除
アイデンティティ・システム管理の「通知」セクションの「削除」アイコンを使用して、必要ない通知テンプレートまたは使用されていない通知テンプレートを削除します。
通知テンプレートを削除するには:
- Identity System Administrationの「システム構成」で、「通知」をクリックします。
- 削除する通知テンプレートを検索します。
- 削除するテンプレートを選択します。
- 「アクション」メニューから、「削除」を選択します。または、ツールバーにある十字アイコンをクリックします。削除操作の確認を求めるメッセージが表示されます。「はい」をクリックします。削除操作を確認するメッセージが表示されます。
18.3.10 プロキシ用の通知の構成
新しい電子メールITリソースを構成し、別のユーザーのプロキシとしてユーザーを指定することで、プロキシ用に通知を構成できます。
プロキシ用の通知を構成するには、次のステップを使用します。
- 新しい電子メールITリソースを構成します。
- 新規ユーザーを作成(たとえば、ユーザーJane Doeを作成します。)
- 2人目のユーザーを作成します。(たとえば、ユーザーJohn Doeを作成します。)
- ユーザーJane DoeをJohn Doeのマネージャとして割り当てます。
- John Doeに自分の電子メールIDを指定し、通知を自分の受信箱で受信できるようにします。
- Jane DoeとしてOracle Identity Self Serviceにログインします。
- 「セルフ・サービス」タブで、「本人情報」をクリックします。「本人情報」ページが表示されます。
- 「プロキシ」を展開します。「プロキシ」セクションで、John DoeをJane Doeのプロキシとして追加します。
ノート:
プロキシが正常に追加されると、ユーザー(この場合はJohn Doe)は次のような電子メール通知メッセージを受け取ります。
Jane Doe [JANED]のプロキシが2012年4月9日12:00:00 AMから2010年4月30日12:00:00 AMまで作成されています。
18.4 プロビジョニング・ワークフローの電子メールの構成
デフォルトの電子メール・プロバイダを構成することで、プロビジョニング・プロセスで使用するように電子メール通知を構成できます。
デフォルト電子メール・プロバイダを構成するには:
- Oracle Identity System Administrationにログインし、電子メール・サーバーの名前のITリソースを指すように(キーワードXL.MailServerを使用して)「電子メール・サーバー」システム・プロパティ値を設定します。このシステム・プロパティの詳細は、「Oracle Identity Governanceの構成」を参照してください。
- 電子メール・サーバーのITリソースが存在することを確認します。このITリソースにはメール・サーバーがITリソース・タイプとして存在する必要があり、localhostなどのサーバー名を持つ必要があります。このITリソースがメール・サーバーにない場合、ITリソースを作成します。ITリソースの作成の詳細は、「ITリソースの作成」を参照してください。
18.5 SOA電子メール通知の構成
SOAでアクション可能な電子メール通知を構成し、SOA電子メール通知に関連する問題のトラブルシューティングを行うことができます。
この項では、SOA電子メール通知の構成方法を説明します。内容は次のとおりです。
18.5.1 SOAにおけるアクション可能な電子メール通知の構成
アクション可能な電子メール通知をSOAで構成するには、電子メールを通知モードとして指定し、電子メール通知のドライバ固有の属性を指定します。
電子メール通知をSOAで構成にするには:
-
電子メール通知をSOAで構成するステップを実行する前に、次を確認してください。
-
タスクを割り当てられたユーザーが、Oracle Identity Managerで設定された有効な電子メール・アカウントを所持していることを確認します。
-
電子メール通知をアクション可能にする場合(承認や却下のリクエストを電子メールから可能にするなど)、アクションを通知で送信するようにヒューマン・タスクが構成されていることを確認します。SOAコンポーザを使用することでこれを確認できます。そのように行うには:
-
次のURLを使用して、SOAコンポーザにWeblogicユーザーでログインします。
http://SOA_HOST:SOA_PORT/soa/composer
-
「オープン」メニューから「オープン・タスク」を選択します。
-
「開くタスクの選択」ダイアログ・ボックスで、設定を確認する対象ヒューマン・タスクを選択して「オープン」をクリックします。
-
「通知設定」セクションで「通知をアクション可能にする」オプションが選択されていることを確認します。
-
-
-
Oracle Enterprise ManagerにWeblogicユーザーとしてログインします。
-
「SOA」に移動します。「soa-infra (soa_server_name)」を右クリックし、「SOA管理」→「ワークフロー・プロパティ」を選択します。
-
「ワークフロー通知プロパティ」ダイアログ・ボックスで、「通知モード」から「電子メール」を選択します。
-
次の値を入力します。
-
電子メール: 送信者アドレス: 通知が承認者に送信される送信元電子メール・アカウント
-
電子メール : アクション可能なアドレス: 電子メールを介して承認者が送信する承認レスポンスや却下レスポンスを受信する電子メール・アカウント
-
電子メール: 返信先アドレス: オプションの返信先電子メール・アドレス(no.reply@yourdomain.comなど)
-
-
「適用」をクリックします。
-
「ユーザー・メッセージング・サービス」に移動します。「usermessagingdriver-email (soa_server_name)」を右クリックし、「電子メール・ドライバ・プロパティ」を選択します。
-
「ドライバ固有の構成」セクションで電子メール通知が適切に動作するように次の最小属性を構成します。
-
MailAccessProtocol: 「IMAP」またはPOP3を選択します
-
OutgoingMailServer: SMTPサーバーの名前(myhost.mycompany.comなど)
-
OutgoingMailServerPort: SMTPサーバーのポート(465など)
-
OutgoingDefaultFromAddress: OutgoingMailServerと同じ
-
OutgoingPassword: パスワードをクリアテキストでdriverconfig.xmlに格納したり、間接オプションを使用してパスワードをCSFで格納できます。
-
IncomingMailServer: 受信メール・サーバーのホスト名。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。
-
IncomingMailIDs: ユーザー名に対応する電子メール・アドレス。各電子メール・アドレスはカンマで区切られ、対応するユーザー名がユーザー名リストに表示されているとおりに、リスト内で同じ位置に配置されている必要があります。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。
-
IncomingUserPasswords: パスワードをクリアテキストでdriverconfig.xmlに格納したり、間接オプションを使用してパスワードをCSFで格納できます。
-
Debug(オプション): これをtrueに設定すると、すべての電子メール・アクティビティがSOAサーバーのコンソールのログに記録されますが、SOAログ・ファイルには記録されません。通知が適切に動作することを確認するまでこれをtrueに設定します。
関連項目:
ドライバ固有の構成とヒューマン・ワークフロー・サービス・コンポーネントの詳細は、Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのヒューマン・ワークフロー・サービス・コンポーネントとエンジンの構成に関する項およびOracle User Messaging Serviceの構成に関する項を参照してください。
-
-
「適用」をクリックし、SOA管理対象サーバーを再起動します。
18.5.2 SOA電子メール通知のトラブルシューティング
SOA電子メール通知のトラブルシューティングの考慮事項には、ドライバ固有構成での「デバッグ」モードの有効化、電子メール・サーバーとアカウントの確認、SOAサーバー・ログの確認があります。
SOA電子メール通知で発生した問題をトラブルシューティングするには、次の事項を検討してください。
-
通知の送受信で問題が発生した場合、「デバッグ」オプションをドライバ固有の構成で有効にします。電子メール・ドライバのプロパティを変更した場合、SOAサーバーを再起動します。
-
テスト通知を送信します。そのように行うには:
Oracle Enterprise Managerにログインします。「SOA」に移動します。「soa-infra (soa_server_name)」を右クリックし、「サービス・エンジン」→「ヒューマン・ワークフロー」→「通知管理」→「テスト通知の送信」を選択します。
-
電子メール・サーバーとアカウントが動作していることを確認します。電子メール・クライアントを使用して電子メールの送受信を試行します。
-
SOAサーバーのログを確認します。通常、メッセージング・サービス構成のユーザーが問題となります。デバッグ・オプションを有効にすると、SOAサーバーのログにデバッグ情報が格納されます。
-
電子メールが特定の電子メール・アカウントに送信されていない場合(適切でない構成が原因)、SOAサーバーでは不正アドレスとマークします。そのような不正アドレスを手動で削除する必要があります。そのように行うには:
Oracle Enterprise Managerにログインします。「SOA」に移動します。「soa-infra (soa_server_name)」を右クリックし、「サービス・エンジン」→「ヒューマン・ワークフロー」→「通知管理」→「不正アドレスの表示」→「不正アドレスの削除」を選択します。
18.6 Oracle Identity Governanceの電子メール通知の無効化
電子メール通知を無効化するには、SelfServiceNotificationHandlerまたはPasswordNotificationHandlerを削除して電子メール通知を無効化します。
この項では、Oracle Identity Governanceの電子メール通知を無効化する方法を説明します。内容は次のとおりです。
18.6.1 Oracle Identity Governanceの電子メール通知の無効化について
一部のシナリオでは、UIやSPMLでユーザーが作成されたときにイベント・ハンドラにより通知が送信されます。シナリオには、手動パスワードによるユーザー作成、手動または自動生成パスワードの変更、および電子メール通知の無効化があります。
ユーザーがUIやSPMLにより作成されると、次のシナリオでイベント・ハンドラにより通知が送信されます。
関連項目:
イベント・ハンドラの詳細は、Oracle Identity Governanceのためのアプリケーションの開発とカスタマイズのイベント・ハンドラの開発に関する項を参照してください。
-
SelfServiceNotificationHandlerの結果としてユーザーは手動パスワードで作成されます。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-selfservice/event-definition/EventHandlers.xmlでSelfServiceNotificationHandlerセクションを削除します。このためには、「SelfServiceNotificationHandlerの削除による電子メール通知送信の無効化」を参照してください。
-
PasswordNotificationHandlerの結果としてシステム管理者が自動生成パスワードのユーザーを作成します。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xmlファイルでPasswordNotificationHandlerセクションを削除します。
このためには、「PasswordNotificationHandlerの削除による電子メール通知送信の無効化」を参照してください。
-
システム管理者がパスワードを手動で変更します。UIで選択されている電子メール・チェック・ボックスに基づいて通知を無効にできます。
-
ResetPasswordActionHandlerの結果としてシステム管理者が自動生成パスワード(パスワードのリセット)でパスワードを変更します。これは、無効にできる後処理イベント・ハンドラではありません。
-
リコンシリエーションと関連する通知を無効にするには、Oracle Identity System Administrationにログインし、「リコンシリエーションで通知を送信する必要があるかどうか」システム・プロパティをFALSEに設定します。このシステム・プロパティの詳細は、「Oracle Identity Governanceのデフォルトのシステム・プロパティ」を参照してください。
-
Oracle Identity Managerのすべての電子メール通知を無効にするには、XL.DisableAllNotificationsシステム・プロパティの値をtrueに設定します。デフォルトでは、このシステム・プロパティの値はfalseです。このシステム・プロパティに不正な値を指定すると、通知は有効化されます。このシステム・プロパティの詳細は、「Oracle Identity Governanceのデフォルトのシステム・プロパティ」を参照してください。
18.6.2 SelfServiceNotificationHandlerの削除による電子メール通知送信の無効化
SelfServiceNotificationHandlerの結果としてユーザーは手動パスワードで作成されます。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-selfservice/event-definition/EventHandlers.xmlでSelfServiceNotificationHandlerセクションを削除します。
SelfServiceNotificationHandlerの結果としてユーザーは手動パスワードで作成されます。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-selfservice/event-definition/EventHandlers.xmlでSelfServiceNotificationHandlerセクションを削除します。そのように行うには:
18.6.3 PasswordNotificationHandlerの削除による電子メール通知送信の無効化
PasswordNotificationHandlerの結果としてシステム管理者が自動生成パスワードのユーザーを作成します。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xmlファイルでPasswordNotificationHandlerセクションを削除します。
MDSの/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xmlファイルでPasswordNotificationHandlerセクションを削除するには:
18.7 通知のトラブルシューティング
通知のトラブルシューティングには、誤ったURLに関連する問題、送信サーバーの電子メール・ドライバの誤ったプロパティ、SOAサーバーのエラー、認証の失敗、Enterprise Managerで報告されない電子メール配信の失敗が含まれます。
この項では、UMS構成で発生する可能性のある次の問題および対応する解決策について説明します。
18.7.1 誤ったURLに関連する問題
誤ったURLに関連する通知の問題は、URLの形式が正しくないかURLが間違っているために発生することがあります。
問題
Oracle Identity Managerログに次のエラーが表示されます。
<Jun 13, 2012 12:53:25 AM PDT> <Warning> <oracle.adfinternal.view.faces.renderkit.rich.SelectItemUtils> <ADF_FACES-30118> <No help provider found for helpTopicId=create_user.> java.net.MalformedURLException: For input string: "SOA_PORT" at java.net.URL.<init>(URL.java:601) at java.net.URL.<init>(URL.java:464) at java.net.URL.<init>(URL.java:413) at java.net.URI.toURL(URI.java:1081) at oracle.j2ee.ws.common.transport.HttpTransport.transmit(HttpTransport.java:61) at oracle.j2ee.ws.common.async.MessageSender.call(MessageSender.java:64) at oracle.j2ee.ws.common.async.Transmitter.transmitSync(Transmitter.java:134) at oracle.j2ee.ws.common.async.Transmitter.transmit(Transmitter.java:90) at oracle.j2ee.ws.common.async.RequestorImpl.transmit(RequestorImpl.java:273) at oracle.j2ee.ws.common.async.RequestorImpl.invoke(RequestorImpl.java:94) at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:811) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:235) at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:106) at oracle.j2ee.ws.client.jaxws.WsClientProxyInvocationHandler.invoke(WsClientProxyInvocationHandler.java:254) at $Proxy422.send(Unknown Source) at oracle.ucs.messaging.ws.MessagingClient.send(MessagingClient.java:299) at oracle.iam.notification.provider.UMSEmailServiceProvider.sendMessage(UMSEmailServiceProvider.java:188) at oracle.iam.notification.provider.UMSEmailServiceProvider.sendNotification(UMSEmailServiceProvider.java:173) at oracle.iam.notification.impl.NotificationServiceImpl.sendEmailNotification(NotificationServiceImpl.java:601) at oracle.iam.notification.impl.NotificationServiceImpl.notify(NotificationServiceImpl.java:540) at oracle.iam.notification.impl.NotificationServiceImpl.notify(NotificationServiceImpl.java:271) <Jun 13, 2012 12:53:31 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Provider UMSEmailServiceProvider has encountered exception : null> <Jun 13, 2012 12:53:31 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider has encountered exception : Error occured while Sending Notification through Provider UMSEmailServiceProvider : null> <Jun 13, 2012 12:53:31 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider detailed exception : null>
解決策
これは、不正なURLが原因のエラーです。この問題を解決するには、Enterprise Manager (EM)のSOA_PORTおよびSOA_HOSTに正しい値を指定します。
問題
Oracle Identity Managerログに次のエラーが表示されます。
<Jun 13, 2012 3:14:14 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Provider UMSEmailServiceProvider has encountered exception : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 404 Not Found from url http://myhost.mycompany.com:8003/ucs/messaging/webservice> <Jun 13, 2012 3:14:14 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider has encountered exception : Error occured while Sending Notification through Provider UMSEmailServiceProvider : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 404 Not Found from url http://myhost.mycompany.com:8003/ucs/messaging/webservice> <Jun 13, 2012 3:14:14 AM PDT> <Error> <oracle.iam.notification.impl> <BEA-000000> <Sending notification with Provider UMSEmailServiceProvider detailed exception : javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Bad response: 404 Not Found from url http://myhost.mycompany.com:8003/ucs/messaging/webservice>
解決策
これは、不正なURLが原因のエラーです。この問題を解決するには、EMに正しいURLを指定します。
18.7.2 送信サーバーの電子メール・ドライバの誤ったプロパティ
送信サーバーの電子メール・ドライバ・プロパティに関連する通知の問題をトラブルシューティングするには、正しい電子メール・サーバー・アドレスを指定し、サーバーが実行していることを確認します。
問題
次のエラーが生成されます。
<Jun 13, 2012 3:39:14 AM PDT> <Error> <oracle.sdp.messaging.driver.email> <SDP-25700> <An unexpected exception was caught. javax.mail.MessagingException: Unknown SMTP host: abc.example.com; nested exception is: java.net.UnknownHostException: abc.example.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1389) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: java.net.UnknownHostException: abc.example.com at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:564) at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) >
解決策
この問題は、送信サーバーの電子メール・ドライバの誤ったプロパティが原因で発生します。この問題を修正するには、正しい電子メール・サーバー・アドレスを指定し、サーバーが動作していることを確認します。
18.7.3 SOAサーバーで生成されるエラー
SOAサーバーで生成されたエラーをトラブルシューティングするには、送信サーバー・ホスト、送信サーバー・ポートおよび送信サーバー・セキュリティ情報が正しく提供されていることを確認します。
問題
SOAサーバー・ログに次のエラーが表示されます。
<Jun 13, 2012 3:53:20 AM PDT> <Error> <oracle.sdp.messaging.driver.email> <SDP-25700> <An unexpected exception was caught. javax.mail.MessagingException: Could not connect to SMTP host: stbeehive.example.com, port: 25; nested exception is: java.net.ConnectException: Connection refused at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy345.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:564) at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141) at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233) at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy345.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) >
解決策
これは、SOAサーバーのエラーです。この問題を修正するには、送信サーバー・ホスト、送信サーバー・ポートおよび送信サーバー・セキュリティ情報が正しく提供されていることを確認します。
18.7.4 認証の失敗
認証の失敗をトラブルシューティングするには、正しいユーザー名とパスワードを指定し、アプリケーション・サーバーをデプロイして構成し、証明書の交換を確認します。
問題
次のエラーが生成されます。
javax.mail.AuthenticationFailedException
または
<Jun 13, 2012 4:30:41 AM PDT> <Error> <oracle.sdp.messaging.driver.email> <SDP-25700> <An unexpected exception was caught. javax.mail.MessagingException: Exception reading response; nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1611) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1731) at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241) at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1206) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:785) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217) at sun.security.validator.Validator.validate(Validator.java:218) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1185) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:785) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused By: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217) at sun.security.validator.Validator.validate(Validator.java:218) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1185) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:785) at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:88) at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1589) at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1369) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) at javax.mail.Service.connect(Service.java:310) at javax.mail.Service.connect(Service.java:169) at javax.mail.Service.connect(Service.java:118) at oracle.sdpinternal.messaging.driver.email.EmailDriver.send(EmailDriver.java:780) at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send(EmailManagedConnection.java:50) at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverConnectionImpl.java:41) at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessage(DriverDispatcherBean.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy349.onMessage(Unknown Source) at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583) at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486) at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388) at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) >
解決策
次のことを確認します。
-
ユーザー名およびパスワードが正しく指定されていること。
-
DemoTrust.jksのエンティティがsetDomainEnvスクリプトから削除されていること。
-
アプリケーション・サーバー(Oracle WebLogic Serverなど)が正しくデプロイされ、構成されていること。
-
証明書の交換が完了していること。
18.7.5 電子メール配信の失敗がEMを介してレポートされない問題
電子メールが無効な場合でも、Enterprise ManagerのUsermessagingserverメッセージ・ステータスで、ステータス・コードがDELIVERY_TO_GATEWAY_SUCCESSになることがあります。
問題
Enterprise Manager (EM) Usermessagingserverメッセージ・ステータスでは、電子メールが無効であっても、ステータス・コードが常にDELIVERY_TO_GATEWAY_SUCCESSになります。ユーザーが電子メールを受信しない場合でも、このステータス・コードが更新されて失敗になることはありません。
解決策
ドライバ構成の次の受信設定が適切に構成されていることを確認します。
-
MailAccessProtocol
-
ReceiveFolder
-
IncomingMailServer
-
IncomingMailServerPort
-
IncomingMailServerSSL
-
IncomingMailIDs
-
IncomingUserIDs
-
IncomingUserPasswords
-
ImapAuthPlainDisable
詳細は、Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのOracle User Messaging Serviceの構成に関する項を参照してください。