Oracle Identity Managerで発生したイベントに関する情報は、リクエスタ、受益者、管理者などの様々なユーザーに送信する必要があります。このイベントに関する情報は、通知電子メール・メッセージ形式の通知サービスを使用して送信されます。Oracle Identity Managerでは通知サービスを使用してすべての通知関連操作を実行できます。
イベントとは、Oracle Identity Managerで発生する操作で、ユーザー作成、リクエスト開始またはユーザーが作成した任意のカスタム・イベントなどが含まれます。イベントは、ビジネス操作の一部として、またはエラー生成を介して生成されます。イベント定義は、イベントを記述するメタデータです。イベントのメタデータを定義するには、機能コンポーネントでサポートされるすべてのイベント・タイプを識別することが重要です。たとえば、スケジューラ・コンポーネントの一部として、スケジュール済ジョブ実行の失敗とスケジューラの停止に対してメタデータを定義できます。ジョブの失敗またはスケジューラの停止のたびにイベントが発生し、イベントに関連付けられている通知が送信されます。
イベントで使用可能なデータを使用して、通知のコンテンツが作成されます。イベントに定義された様々なパラメータにより、システムは適切な通知テンプレートを選択できます。イベントに定義されている各種のパラメータは、テンプレート設計時に使用可能にできるイベント変数をシステムが決定する際に役立ちます。
通知テンプレートは、通知を送信するために使用されます。これらのテンプレートには、より詳細な通知を提供するために、使用可能なデータを参照する変数が含まれています。通知が送信されるチャネルは、通知プロバイダと呼ばれます。このようなチャネルの例には、電子メール、インスタント・メッセージ(IM)、ショート・メッセージ・サービス(SMS)、ボイスなどがあります。これらの通知プロバイダを使用するために、Oracle Identity ManagerではOracle User Messaging Service (UMS)が使用されます。
バックエンドでは、通知エンジンが通知の生成と通知プロバイダを利用した通知の送信を担当します。
次の各項で、通知テンプレートおよび通知プロバイダについて説明します。
次の各項で、通知プロバイダの管理について説明します。
UMSには、通知を送信するための様々な機能があります。これらの機能は、Oracle Identity Manager通知エンジンによって次のことを行うために使用されます。
様々なメッセージング・チャネルに対するサポート: メッセージは、電子メール、IM、SMSおよびボイスを介して送受信できます。Oracle Identity Managerは、電子メールによる通知メッセージの送信のみをサポートしています。
強力なメッセージ配信: UMSは、メッセージング・ゲートウェイが提供する配信ステータス情報を継続して記録し、アプリケーションにこの情報を提供しているため、アプリケーションは失敗した配信に対応できます。
この項には次のトピックが含まれます:
通知にUMSを使用するためにOracle Identity Managerを有効化するには:
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」を選択します。
「属性」タブで、次の情報を入力します。
ポリシー: メッセージング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マップにアクセスするには、次の手順に従います。
|
図19-1に、「システムMBeanブラウザ」の「属性」タブに表示されたUMSEmailNotificationProviderMBeanのプロパティを示します。
「適用」をクリックします。
Oracle Identity ManagerとUMSサーバーが異なるドメインにある場合は、UMSパブリック・キーをOracle Identity Managerドメインのキーストアにインポートし、Oracle Identity Managerドメインのパブリック・キーをUMSキーストアにインポートする必要があります。
関連項目: UMS Webサービス・セキュリティの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する項を参照してください。 |
メール・サーバーを構成します。UMSではデフォルトでローカルLINUXメール・サーバーが使用され、このメール・サーバーを構成するためにUMSでの構成変更は必要ありません。ただし、他のSimple Mail Transfer Protocol (SMTP)サーバーを使用するには:
Oracle Enterprise Managerで、「ユーザー・メッセージング・サービス」を展開し、「usermessagingdriver-email (soa_server_name)」を選択します。
「ユーザー・メッセージング電子メール・ドライバ」リストから、「電子メール・ドライバ・プロパティ」を選択します。
「ドライバ固有の構成」セクションで、次の必須フィールドに入力します。
OutgoingMailServer: SMTPサーバーの名前(stbeehive.oracle.comなど)。
OutgoingMailServerPort: SMTPサーバーのポート番号(465など)。
OutgoingMailServerSecurity: SMTPサーバーで使用されるセキュリティ設定。設定可能な値は「なし」、「TLS」または「SSL」です。
OutgoingUsername: firstname.lastname@xyz.comなど、メール・クライアント構成に類似の有効なユーザー名。
OutgoingPassword: SMTP認証に使用されるパスワード。これは次のフィールドで構成されます。
パスワードのタイプ: 「間接パスワード、新規のユーザーの作成」を選択します。
間接ユーザー名/キー: 一意の文字列を入力します(OIMEmailConfigなど)。これによりパスワードがマスクされ、構成ファイルにクリア・テキストで公開されません。
パスワード: このアカウントの有効なパスワードを入力します。
「適用」をクリックします。
メール・サーバーのセキュリティが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 Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する項を参照してください。 |
CSFキーのユーザー名とパスワードを編集します。これを行うには、次のようにします。
Oracle Enterprise Managerで、「WebLogicドメイン」を展開します。
ベース・ドメインを右クリックし、「セキュリティ」→「資格証明」を選択します。「資格証明」ページが表示されます。
「資格証明」列で、oracle.wsm.securityマップを展開します。
Notification.Provider.Key資格証明キーのレコードを選択します。
ツールバーで、「編集」をクリックします。「キーの編集」ダイアログ・ボックスが表示されます。
「ユーザー名」および「パスワード」フィールドの値を編集し、「OK」をクリックします。
サーバー側OWSMポリシーをUMS Webサービスに適用して、EMを使用する他のWebサービスを保護できます。対応するクライアント側ポリシー、ユーザー名およびパスワードをプロバイダXMLで、またはMBeanを介して指定する必要があります。
サーバー側ポリシーをUMS Webサービスにアタッチするには:
Oracle Enterprise Managerで、「ユーザー・メッセージング・サービス」を展開し、「usermessagingserver (soa_server)」をクリックします。
「ユーザー・メッセージング・サービス」リストから、「Webサービス」を選択します。
「Webサービスの詳細」セクションで、「Webサービス・エンドポイント」タブをクリックします。
「エンドポイント名」列で、「メッセージング」をクリックします。
「OWSMポリシー」タブをクリックします。
「直接アタッチされたポリシー」で、「アタッチ/デタッチ」をクリックします。使用可能なポリシーのリストとポリシーをアタッチおよびデタッチするオプションが表示されます。
使用可能なポリシーのリストからポリシーを選択し、「アタッチ」をクリックします。選択したポリシーが「直接アタッチされたポリシー」リストに追加されます。
選択したポリシーは、メッセージングUMS Webサービスを保護するためのものです。
ポリシーを削除するには、「直接アタッチされたポリシー」でポリシーを選択し、「デタッチ」をクリックします。選択したポリシーが「直接アタッチされたポリシー」リストから削除されます。
適用されたポリシーの組合せを検証するには、「検証」をクリックします。検証が成功したことを示すメッセージが表示されます。
「OK」をクリックします。
プロバイダXMLで対応するクライアント側ポリシーを指定するには、Oracle Identity ManagerでUMS XML Beanの次のプロパティを編集します。
対応するクライアント側ポリシーをUMSEmailProviderMBeanに渡すには、クライアント側ポリシーの名前をUMSEmailNotificationProviderMBean MBeanで指定します。これを行うには、次のようにします。
Oracle Enterprise Managerにログインします。
「アプリケーションのデプロイ」に移動します。「OIMAppMetadata(11.1.2.0.0)(oim_server1)」を右クリックし、「システムMBeanブラウザ」を選択します。
「アプリケーション定義のMBean」→「oracle.iam」→「サーバー: oim_server1」→「アプリケーション: oim」→「IAMAppRuntimeMBean」→「UMSEmailNotificationProviderMBean」に移動します。
表19-1は、UMSEmailProviderMBeanのプロパティを示しています。
表19-1 UMSEmailNotificationProviderMBeanのプロパティ
プロパティ | 説明 |
---|---|
Enabled |
このプロパティの値がtrueの場合、通知電子メールを送信するために通知プロバイダが使用されます。 |
Type |
Oracle Identity Managerのこのリリースでは、この値はEMAILのみであり、プロパティは使用されません。 |
ItrName |
UMSを介して電子メールを送信するために必要な様々な構成値は、XMLプロパティまたはITリソースで指定できます。構成値がITリソースから読み取られる場合は、ここにITリソースの名前を指定します。ITリソース名が存在する場合、ITリソース構成設定が使用されます。ITリソース名が不正または無効な場合、あるいはITリソース・インスタンスで指定された値が無効な場合、エラーが生成され電子メールは送信されません。 注意: ITリソースの使用は、Oracle Identity ManagerでUMSを構成する場合に推奨されるチャネルではありません。これは、サーバーに電子メールを送信する前に、XMLまたはITリソースで指定された値を検証するメカニズムがないためです。 |
WSUrl |
開始するUMS WebサービスのURL。次の形式の任意のSOAサーバーを使用できます。 http://SOA_HOST/SOA_PORT/ucs/messaging/webservice |
CSFKey |
oracle.wsm.securityマップにあるデフォルトの通知キー。このキーには、OWSMポリシーに必要なユーザー名とパスワードが含まれています。このキーでデフォルトの推奨ユーザー名とパスワードは、WebLogic管理者のユーザー名とパスワードです。サーバー側(SOA)で、いずれかの有効なユーザー名/パスワードに変更できます。Oracle Enterprise Manangerを使用してCSFキーのデフォルト値を編集する詳細は、「通知にUMSを使用するためのOracle Identity Managerの有効化」のステップ5を参照してください。 |
Policies |
OWSMポリシーが指定のWebサービスにサーバー・レベルでアタッチされている場合は、対応するクライアント側ポリシーの名前をここに指定します。そうでない場合は、このフィールドを空白のままにしておきます。たとえば、oracle/wss11_username_token_with_message_protection_service_policyがサーバー・レベルで適用される場合は、oracle/wss11_username_token_with_message_protection_client_policyなどの対応するクライアント・ポリシー名をここに指定します。 |
KeystoreAlias |
ターゲット・サービスのキーストア別名。キーストア別名の詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのクライアント別名に関する説明を参照してください。 |
Sender |
Oracle Identity Managerユーザーの有効なユーザー名。このユーザーの電子メールIDが電子メールを送信するために使用されます。 |
このMBeanで示されたポリシー・プロパティでクライアント側ポリシーの名前を指定します。
パフォーマンスを拡張するために、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
デフォルトでは、SMTP電子メール通知プロバイダは無効化されています。これは、有効化された属性の値をtrueに設定することで有効化されます。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のすべての属性が「属性」タブに表示されます。
図19-2に、「システムMBeanブラウザ」の「属性」タブに表示されたEmailNotificationProviderMBeanのプロパティを示します。
表19-2に、デフォルトのSMTP電子メール通知プロバイダのプロパティを示します。
表19-2 デフォルトの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電子メール通知プロバイダに使用され、デフォルトのユーザー名とパスワードはweblogic/weblogic1です。 UMS電子メール・プロバイダが無効化されている場合は、同じマップとキーを使用して、メール・サーバーで認証に必要なユーザー名とパスワードを指定します。そうでない場合は、いずれかのデフォルト・マップに新しいキーを作成し、これらのプロパティでマップの名前とキーを指定します。 CSFキーの追加については、この項で後ほど説明します。 |
ConnectionTimeout |
ミリ秒単位です。接続確立の最大時間を設定するために必要です。 |
MailServername |
メール・サーバーの名前。 |
Sender |
Oracle Identity Managerで電子メールの送信に使用される送信者。 |
CSFキーを追加するには:
Oracle Enterprise Managerにログインします。
「WebLogicドメイン」を展開します。
「base_domain」を右クリックし、「セキュリティ」→「資格証明」を選択します。
「oracle.wsm.security」を展開し、「キーの作成」をクリックします。
パスワード・タイプのキーを作成します。キー名、説明、ユーザー名およびパスワードを指定します。「OK」をクリックします。
デフォルトでは、SOA電子メール通知プロバイダは無効化されています。有効化されたプロパティの値をtrueに変更して、この通知プロバイダを有効化できます。
Oracle Identity Managerで通知にSOAコンポジットを使用するには:
SOAコンポジットを通知アクティビティで作成します。詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』の通知サービスの使用に関する説明を参照してください。
図19-3は、式ビルダーを介したコンポジット・ペイロードのマッピング例を示します。
SOAコンポジットをSOAサーバーに手動でデプロイします。これを行うには、次のようにします。
アプリケーション接続を作成します。これを行うには、次のようにします。
i. JDeveloperでSOAコンポジットを開きます。
ii. プロジェクトを右クリックし、「新規」→「接続」→「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します。
iii. 接続にSOA_server
という名前を付けて、「次へ」をクリックします。
iv. 「接続タイプ」に「WebLogic 10.3」を選択します。
v. 認証情報を入力します。一般的な値:
ユーザー名: weblogic
パスワード: weblogic1
vi. 「接続」画面で、SOA管理サーバーまたは管理サーバーのホスト名、ポートおよびSSLポートを入力し、WebLogicドメインの名前を入力します。
vii. 「次へ」をクリックします。
viii. 「テスト」画面で、「接続のテスト」をクリックします。成功メッセージが表示されることを確認します。
プロジェクトをデプロイします。これを行うには、次のようにします。
i. プロジェクトを右クリックし、「デプロイ」を選択し、プロジェクト名を選択します。「デプロイ先」オプションを選択してアプリケーション接続(SOA_server)を作成します。ビルド成功メッセージがログに格納されたことを確認します。
ii. デフォルトのリビジョンを入力し、「OK」をクリックします。デプロイ終了のメッセージがデプロイメント・ログに格納されたことを確認します。
Enterprise Managerを使用して、soa-infraに移動します。「soa-infra」を右クリックして「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に変更します。表19-4に、SOA電子メール通知プロバイダのBeanのプロパティを示します。
表19-3に、SOA電子メール通知プロバイダのプロパティの一部を示します。
表19-3 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で電子メールの送信に使用される送信者。 |
必要に応じて、ユーザー・メッセージング・ドライバを構成します。ユーザー・メッセージング・ドライバの値を指定しない場合は、デフォルトでローカルLinuxメール・サーバーが使用されます。その他のメール・サーバーを使用するには:
Oracle Enterprise Managerにログインします。
「ドライバ固有の構成」で、「ユーザー・メッセージング・サービス」→「usermessagingdriver-email (soa_server1)」→「電子メール・ドライバ・プロパティ」に移動します。
次の必須値を構成します。
OutgoingMailServer: SMTPサーバーの名前(stbeehive.oracle.comなど)。
OutgoingMailServerPort: SMTPサーバーのポート(465など)。
OutgoingMailServerSecurity: SMTPサーバーで使用されるセキュリティ設定。設定可能な値は「なし」、「TLS」または「SSL」です。
OutgoingUsername: firstname.lastname@abc.comのような有効なユーザー名。
OutgoingPassword: 「間接パスワード、新規のユーザーの作成」を選択します。「間接ユーザー名/キー」に一意の文字列を入力します(OIMEmailConfigなど)。これによりパスワードがマスクされ、構成ファイルにクリア・テキストで公開されません。このアカウントの有効なパスワードを入力します。
関連項目: ユーザー・メッセージング・ドライバの構成の詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management管理者ガイドの電子メール・ドライバの構成に関する説明を参照してください。 |
デフォルトの通知プロバイダ以外のカスタム通知プロバイダを構成し、使用して、通知を送信できます。
カスタム通知プロバイダを構成するには:
oracle.iam.notification.provider.NotificationProviderBaseベース・クラスを拡張して、カスタム通知プロバイダ・クラスを実装します。
このクラスが含まれるJARファイルを作成します(たとえば、Notification_provider.jar)。
次のようなXMLファイルを作成します。
<beans xmlns="http://www.springframework.org/schema/beans"\\\\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\\\\ xmlns:util="http://www.springframework.org/schema/util"\\\\ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.spri ngframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org /schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd" def ault-lazy-init="true">
<bean id="<Name of custom Provider>" class="<Class having custom provider logic e.g.oracle.iam.notification.provider.CustomProvider>" lazy-init="true">
<!--Mandatory Attributes-->
<property name="enabled" value="<true>" />
<property name="type" value="EMAIL" />
<!--Optional Atributes-->
<property name="sender" value="SYSTEM_ADMINISTRATOR_USERNAME" />
</bean>
</beans>
有効化されたプロパティ名の値がtrueの場合、このカスタム・プロバイダが通知の送信に使用されます。このカスタム通知プロバイダのSpring Bean XMLには、別のプロパティも必要に応じて追加できます。
Oracle Enterprise Managerを使用してXMLファイルをMDSにインポートします。MDSでのメタデータ・ファイルのエクスポートおよびインポートの詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のユーザーによる変更が可能なメタデータ・ファイルの移行に関する項を参照してください。
すべてのファイルをplug-in.zipファイルとしてパッケージ化します。カスタム通知プロバイダ・プラグインの構造は、次のとおりです。
lib/ディレクトリ:
Notification_provider.jar
plugin.xmlファイル
関連項目: プラグインに関連する概念と、プラグインの開発方法および使用方法の詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のプラグインの開発に関する項を参照してください。 |
UMS通知プロバイダやEmailNotificationProviderなどの通知プロバイダは、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」を選択します。
「適用」をクリックします。
表19-4に示すように、Oracle Identity Managerにはデフォルトの通知テンプレート・セットが用意されています。
表19-4 デフォルトの通知テンプレート
通知テンプレート | 説明 |
---|---|
プロキシ通知の追加 |
ユーザーにプロキシが追加された後で通知を送信するためのテンプレート |
バルク・リクエスト作成 |
バルク・リクエストの作成中に通知を送信するためのテンプレート |
ユーザー・セルフ・サービス通知の作成 |
新しいユーザーの作成後に通知を送信するためのテンプレート |
終了日 |
報告者の終了日を経過したときにマネージャに通知を送信するためのテンプレート |
ユーザー名忘れ通知 |
ユーザーが「ユーザー名忘れ」フォームを送信した後に通知を送信するためのテンプレート |
生成されたパスワードの通知 |
Oracle Identity Managerによるパスワード生成後に通知を送信するためのテンプレート |
パスワード有効期限切れ通知 |
パスワードの有効期限が切れた後で通知を送信するためのテンプレート |
パスワード警告通知 |
パスワードの有効期限が切れる前に通知を送信するためのテンプレート |
リクエスト作成 |
リクエストの作成中に通知を送信するためのテンプレート |
リクエスト・アイデンティティ作成 |
ユーザーの作成のリクエスト中に通知を送信するためのテンプレート |
リクエスト・ステータス変更 |
リクエスト・ステータスの変更中に通知を送信するためのテンプレート |
パスワードのリセット |
パスワードがリセットされた後で通知を送信するためのテンプレート |
ユーザーが削除されました |
終了日の期限切れにより報告先のユーザー・アカウントが削除されたときにマネージャに通知を送信するためのテンプレート |
次の各項で、通知テンプレートについて説明します。
拡張管理を使用して、通知テンプレートの単純検索または拡張検索を実行できます。
通知テンプレートの単純検索を実行するには:
Oracle Identity System Administrationにログインします。
左ペインの「システム構成」で、「通知」をクリックします。拡張管理が表示され、「通知」タブが有効化されています。
「検索」フィールドの横のアイコンをクリックします。図19-5に示すように、左ペインに既存の通知テンプレートすべてが表示されます。
表示するテンプレートを選択します。選択した通知テンプレートの詳細が、右ペインに表示されます。
通知テンプレートの拡張検索を実行するには:
拡張管理の左ペインで、「拡張検索」をクリックします。「拡張検索」ページが表示されます。
次の一致オプションのいずれかを選択します。
すべて: このオプションを選択すると、検索はAND条件で実行されます。つまり、ユーザー入力されたすべての「検索」フィールドに基づいて検索操作が行われます。ユーザー入力がない「検索」フィールドは考慮されません。
いずれか: このオプションを選択すると、検索はOR条件で実行されます。つまり、指定された選択基準のいずれかに一致する場合に検索操作が成功します。
「テンプレート名」、「イベント名」、「件名の詳細」フィールドで検索基準を指定します。これらのフィールドのうち、検索に含めたくないフィールドは、そのフィールドの横にあるアイコンをクリックして削除できます。検索に含めるフィールドを追加するには、「フィールドの追加」をクリックして、リストからフィールド名を選択します。
「検索」をクリックします。検索結果表にテンプレート名、イベント名および件名の詳細が表示されます。
注意: 発生する各イベントに対してXMLファイルを構成する必要があります。XMLファイルは、各イベントの動作を定義します。最初に、イベントのXMLを構成する必要があります。これを行った後で、イベントに対して通知テンプレートを作成できます。イベントXMLファイルの作成の詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のイベント・メタデータの定義に関する項を参照してください。 |
通知テンプレートを作成するには:
Oracle Identity System Administrationにログインします。
左ペインの「システム構成」で、「通知」をクリックします。「通知」ページが表示されます。
「アクション」メニューから、「作成」を選択します。または、「作成」アイコンをクリックします。「テンプレートの作成」ページが表示されます。
「テンプレート情報」セクションで、次のフィールドに値を入力します。
テンプレート名: テンプレート名を入力します。
説明テキスト: テンプレートの簡単な説明を入力します。
注意: 「説明テキスト」フィールドは翻訳できず、表示は英語のみになります。 |
「イベントの詳細」セクションで、「使用可能なイベント」リストから、使用可能なイベントのリストから通知テンプレートを作成するイベントを選択します。選択内容に応じて、他のフィールドが「イベントの詳細」セクションに表示されます。
「ロケール情報」セクションの下で、次のフィールドに値を入力します。
注意: デフォルトのロケールの情報はPTY表に格納されており、そこから取得されます。 |
エンコーディング形式を指定するには、UTF-8かASCIIのいずれかを選択します。
「メッセージの件名」フィールドに、通知の件名を入力します。
「タイプ」オプションから、メッセージを送信するデータ型を選択します。「HTML」か「Text/Plain」のどちらかを選択できます。
「ショート・メッセージ」フィールドに、メッセージの短縮バージョンを入力します。
「ロング・メッセージ」フィールドに、通知として送信されるメッセージを入力します。ステップ7を参照してください。
通知として送信するメッセージ内で、使用可能なデータのトークンを使用するには、次の手順を実行します。
「イベントの詳細」セクションの「使用可能なデータ」リストから属性を選択します。この属性は、「選択したデータ」フィールドに表示されます。
属性をコピーして${}の内側に配置し、メッセージ・テキストに追加します。たとえば、選択したデータがFA_Territoryの場合、${FA_Territory}としてテキスト内に含めます。
図19-6に、サンプル値を使用した「通知テンプレートの作成」ページを示します。
すべてのフィールドに必要な値を入力し終わったら、「保存」をクリックします。
通知テンプレートの作成を確認するメッセージが表示されます。「OK」をクリックします。
通知テンプレートを変更するには:
Identity System Administrationの「システム構成」で、「通知」をクリックします。
変更する通知テンプレートを検索します。
変更するテンプレートを選択します。図19-7に示すように、通知テンプレートの詳細が表示されます。
目的の値を変更し、「保存」をクリックします。
通知テンプレートの変更を確認するメッセージが表示されます。「OK」をクリックします。
有効にされている通知テンプレートは、次の方法で無効にできます。
通知の検索結果で通知テンプレートを選択して無効化します。これを行うには、次のようにします。
Identity System Administrationの「システム構成」で、「通知」をクリックします。
無効化する通知テンプレートを検索します。
無効にするテンプレートを選択します。通知テンプレートが有効な状態の場合は、「無効化」ボタンがアクティブになります。
「無効化」をクリックします。無効化操作の確認を求めるメッセージが表示されます。「はい」をクリックします。無効化の操作を確認するメッセージが表示されます。
通知テンプレートの詳細を開いて無効化します。これを行うには、次のようにします。
Identity System Administrationの「システム管理」で、「通知」をクリックします。
無効化する通知テンプレートを検索します。
テンプレート名をクリックして、テンプレートの詳細を開きます。「通知テンプレートの詳細」ページでは、通知テンプレートが有効な状態の場合に、「無効化」ボタンがアクティブになります(図19-7を参照)。
「無効化」をクリックします。無効化の操作を確認するメッセージが表示されます。
無効にされている通知テンプレートは、次の方法で有効にできます。
通知の検索結果で通知テンプレートを選択して有効化します。これを行うには、次のようにします。
Identity System Administrationの「システム構成」で、「通知」をクリックします。
有効化する通知テンプレートを検索します。
無効にするテンプレートを選択します。通知テンプレートが無効な状態の場合は、「有効化」ボタンがアクティブになります。
「有効化」をクリックします。有効化操作の確認を求めるメッセージが表示されます。「はい」をクリックします。有効化の操作を確認するメッセージが表示されます。
通知テンプレートの詳細を開いて有効化します。これを行うには、次のようにします。
Identity System Administrationの「システム管理」で、「通知」をクリックします。
有効化する通知テンプレートを検索します。
テンプレート名をクリックして、テンプレートの詳細を開きます。「通知テンプレートの詳細」ページでは、通知テンプレートが無効な状態の場合に、「有効化」ボタンがアクティブになります。
「有効化」をクリックします。有効化の操作を確認するメッセージが表示されます。
通知テンプレートにロケールを追加するには:
Identity System Administrationの「システム構成」で、「通知」をクリックします。
ロケールを追加するテンプレートを検索して選択します。
「アクション」メニューから、「ロケールの追加」を選択します。「ロケールの追加」ページが表示されます。
「ロケール名」フィールドで、このフィールドの横のアイコンをクリックしてリストからロケールを選択します。ロケールの選択後、「確認」をクリックします。
「次」をクリックします。「ロケール情報」ページが表示され、追加したロケールがページのタブとして表示されます。
「ロケール情報」セクションで、「通知テンプレートの作成」のステップ6の説明に従って、すべてのフィールドに値を指定し、「保存」をクリックします。ロケールがテンプレートに追加されます。
注意: 通知は、通知テンプレートに追加されたすべてのロケールに送信できます。ユーザーは、ユーザー・プリファレンスで指定されたのと同じロケールで通知を受け取ります。ユーザー・プリファレンスでロケールが指定されていない場合は、通知はデフォルトのロケールで送信されます。デフォルトのロケールは、インストール時にOracle Identity ManagerデータベースのPTY表に指定されたものです。 |
通知テンプレートからロケールを削除するには:
ロケールを削除する通知テンプレートを検索します。検索結果表からテンプレートを選択します。
「アクション」メニューから、「ロケールの削除」を選択します。「ロケールの削除」ページが表示されます。
「ロケール名」フィールドの横のアイコンをクリックし、リストからロケールを選択します。テンプレートに複数のロケールが含まれている場合のみ、テンプレートからロケールを削除できます。テンプレートに関連付けられたロケールが1つのみの場合は、ロケールを削除することはできません。「保存」をクリックします。
ロケールの削除を確認するメッセージが表示されます。「OK」をクリックします。
注意: デフォルトのロケールは削除しないでください。ユーザー優先ロケールが設定されていない場合や、通知テンプレートにユーザー優先ロケールに一致するロケール・テンプレートが含まれていない場合でも通知が必ず送信されるようにするためには、これが必要です。 |
通知テンプレートを削除するには:
Identity System Administrationの「システム構成」で、「通知」をクリックします。
削除する通知テンプレートを検索します。
削除するテンプレートを選択します。
「アクション」メニューから、「削除」を選択します。または、ツールバーにある十字アイコンをクリックします。削除操作の確認を求めるメッセージが表示されます。「はい」をクリックします。削除操作を確認するメッセージが表示されます。
プロキシ用の通知を構成するには、次の手順を使用します。
新しい電子メール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まで作成されています。 |
デフォルトの電子メール・プロバイダを構成することで、プロビジョニング・プロセスで使用するように電子メール通知を構成できます。
デフォルト電子メール・プロバイダを構成するには:
Oracle Identity System Administrationにログインし、電子メール・サーバーの名前のITリソースを指すように(キーワードXL.MailServerを使用して)「電子メール・サーバー」システム・プロパティ値を設定します。このシステム・プロパティの詳細は、「Oracle Identity Managerの構成」を参照してください。
電子メール・サーバーのITリソースが存在することを確認します。このITリソースにはメール・サーバーがITリソース・タイプとして存在する必要があり、localhostなどのサーバー名を持つ必要があります。このITリソースがメール・サーバーにない場合、ITリソースを作成します。ITリソースの作成の詳細は、「ITリソースの作成」を参照してください。
この項には次のトピックが含まれます:
電子メール通知を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 Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドのヒューマン・ワークフロー・サービス・コンポーネントとエンジンの構成に関する項およびOracle User Messaging Serviceの構成に関する項を参照してください。 |
「適用」をクリックし、SOA管理対象サーバーを再起動します。
SOA電子メール通知で発生した問題をトラブルシューティングするには、次の事項を検討してください。
通知の送受信で問題が発生した場合、「デバッグ」オプションをドライバ固有の構成で有効にします。電子メール・ドライバのプロパティを変更した場合、SOAサーバーを再起動します。
テスト通知を送信します。これを行うには、次のようにします。
Oracle Enterprise Managerにログインします。
「SOA」に移動します。「soa-infra (soa_server_name)」を右クリックし、「サービス・エンジン」→「ヒューマン・ワークフロー」→「通知管理」→「テスト通知の送信」を選択します。
電子メール・サーバーとアカウントが動作していることを確認します。電子メール・クライアントを使用して電子メールの送受信を試行します。
SOAサーバーのログを確認します。通常、メッセージング・サービス構成のユーザーが問題となります。デバッグ・オプションを有効にすると、SOAサーバーのログにデバッグ情報が格納されます。
電子メールが特定の電子メール・アカウントに送信されていない場合(適切でない構成が原因)、SOAサーバーでは不正アドレスとマークします。そのような不正アドレスを手動で削除する必要があります。これを行うには、次のようにします。
Oracle Enterprise Managerにログインします。
「SOA」に移動します。「soa-infra (soa_server_name)」を右クリックし、「サービス・エンジン」→「ヒューマン・ワークフロー」→「通知管理」→「不正アドレスの表示」→「不正アドレスの削除」を選択します。
ユーザーがUIやSPMLにより作成されると、次のシナリオでイベント・ハンドラにより通知が送信されます。
関連項目: イベント・ハンドラの詳細は、『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のイベント・ハンドラの開発に関する項を参照してください。 |
SelfServiceNotificationHandlerの結果としてユーザーは手動パスワードで作成されます。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-selfservice/event-definition/EventHandlers.xmlでSelfServiceNotificationHandlerセクションを削除します。これを行うには、次のようにします。
Oracle Enterprise Managerを使用してMDSから/metadata/iam-features-selfservice/event-definition/EventHandlers.xmlファイルをエクスポートします。『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のユーザーによる変更が可能なメタデータ・ファイルの移行に関する項を参照してください。
注意: 後で参照するために、EventHandlers.xmlのコピーをローカルに保存します。 |
EventHandlers.xmlファイルから次を削除します。
<postprocess-handler class="oracle.iam.selfservice.uself.uselfmgmt.impl.handlers.create.SelfServiceNotificationHandler" entity-type="User" operation="CREATE" name="SelfServiceNotificationHandler" order="1160" stage="postprocess" sync="TRUE"> </postprocess-handler>
『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のユーザーによる変更が可能なメタデータ・ファイルの移行に関する項の指示に従い、MDSにファイルをインポートします。
ファイルを再びエクスポートして、編集内容がMDSに正常にアップロードされていることを確認します。
PasswordNotificationHandlerの結果としてシステム管理者が自動生成パスワードのユーザーを作成します。電子メール通知の送信を無効にするには、MDSの/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xmlファイルでPasswordNotificationHandlerセクションを削除します。これを行うには、次のようにします。
Oracle Enterprise Managerを使用してMDSから/metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xmlファイルをエクスポートします。
EventHandlers.xmlファイルから次を削除します。
<postprocess-handler class="oracle.iam.passwordmgmt.eventhandlers.PasswordNotificationHandler" entity-type="User" operation="CREATE" name="PasswordNotificationHandler" order="1180" stage="postprocess" sync="TRUE"> </postprocess-handler>
『Oracle Fusion Middleware Oracle Identity Managerのためのアプリケーションの開発とカスタマイズ』のユーザーによる変更が可能なメタデータ・ファイルの移行に関する項の指示に従い、MDSにファイルをインポートします。
ファイルを再びエクスポートして、編集内容がMDSに正常にアップロードされていることを確認します。
システム管理者がパスワードを手動で変更します。UIで選択されている電子メール・チェック・ボックスに基づいて通知を無効にできます。
ResetPasswordActionHandlerの結果としてシステム管理者が自動生成パスワード(パスワードのリセット)でパスワードを変更します。これは、無効にできる後処理イベント・ハンドラではありません。
リコンシリエーションと関連する通知を無効にするには、Oracle Identity System Administrationにログインし、「リコンシリエーションで通知を送信する必要があるかどうか」システム・プロパティをFALSEに設定します。このシステム・プロパティの詳細は、「Oracle Identity Managerのシステム・プロパティ」を参照してください。
Oracle Identity Managerのすべての電子メール通知を無効にするには、XL.DisableAllNotificationsシステム・プロパティの値をtrueに設定します。デフォルトでは、このシステム・プロパティの値はfalseです。このシステム・プロパティに不正な値を指定すると、通知は有効化されます。このシステム・プロパティの詳細は、「Oracle Identity Managerのシステム・プロパティ」を参照してください。
この項では、UMS構成で発生する可能性のある次の問題および対応する解決策について説明します。
問題
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を指定します。
問題
次のエラーが生成されます。
<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.mydomain.com; nested exception is: java.net.UnknownHostException: abc.mydomain.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.mydomain.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) >
解決策
この問題は、送信サーバーの電子メール・ドライバの誤ったプロパティが原因で発生します。この問題を修正するには、正しい電子メール・サーバー・アドレスを指定し、サーバーが動作していることを確認します。
問題
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.mydomain.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サーバーのエラーです。この問題を修正するには、送信サーバー・ホスト、送信サーバー・ポートおよび送信サーバー・セキュリティ情報が正しく提供されていることを確認します。
問題
次のエラーが生成されます。
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など)が正しくデプロイされ、構成されていること。
証明書の交換が完了していること。
問題
Enterprise Manager (EM) Usermessagingserverメッセージ・ステータスでは、電子メールが無効であっても、ステータス・コードが常にDELIVERY_TO_GATEWAY_SUCCESSになります。ユーザーが電子メールを受信しない場合でも、このステータス・コードが更新されて失敗になることはありません。
解決策
ドライバ構成の次の受信設定が適切に構成されていることを確認します。
MailAccessProtocol
ReceiveFolder
IncomingMailServer
IncomingMailServerPort
IncomingMailServerSSL
IncomingMailIDs
IncomingUserIDs
IncomingUserPasswords
ImapAuthPlainDisable
詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle User Messaging Serviceの構成に関する項を参照してください。