17 Managing Notification Service

Managing notification involves understanding the notification service, managing notification providers and notification templates, configuring email notification in various workflows, disabling notification, and troubleshooting notification issues.

The notification templates and notification providers are described in the following sections:

17.1 About Notification Providers

Information about events occurring in Oracle Identity Manager is required to be sent to various users, such as requesters, beneficiaries, or administrators. This information about events is sent by using the notification service in the form of notification e-mail messages. The notification service allows you to perform all notification-related operations.

An event is an operation that occurs in Oracle Identity Manager, such as user creation, request initiation, or any custom event created by the user. The events are generated as part of business operations or via generation of errors. Event definition is the metadata that describes the event. To define metadata for events, it is important to identify all event types supported by a functional component. For example, as a part of the scheduler component, metadata can be defined for scheduled job execution failed and shutting down of the scheduler. Every time a job fails or the scheduler is shut down, the events are raised and notifications associated with that event are sent.

The data available in the event is used to create the content of the notification. The different parameters defined for an event help the system to select the appropriate notification template. The different parameters that are defined for an event help the system decide which event variables can be made available at template design time.

A notification template is used to send notifications. These templates contain variables that refer to available data to provide more context to the notifications. The channel through which a notification is sent is known as the notification provider. Examples of such channels are e-mail, Instant Messaging (IM), Short Message Service (SMS), and voice. To use these notification providers, Oracle Identity Manager uses Oracle User Messaging Service (UMS).

At the backend, the notification engine is responsible for generating the notification, and utilizing the notification provider to send the notification.

17.2 Managing Notification Providers

Managing notification providers includes using UMS, SMTP, and SOA composite for notification, configuring custom notification provider, and enabling and disabling notification providers.

Managing notification providers is described in the following sections:

17.2.1 Using UMS for Notification

Using UMS for notification ensures support for a variety of messaging channels and robust delivery of messages. Configuring UMS for notification involves enabling UMS for notification and applying OWSM policy to the UMS web service.

This section describes how to use UMS for notification in the following topics:

17.2.1.1 About UMS for Notification

UMS offers various capabilities for sending notifications. These capabilities are used by Oracle Identity Manager notification engine to achieve the following:

  • Support for a variety of messaging channels: Messages can be sent and received through e-mail, IM, SMS, and voice. Oracle Identity Manager supports sending notification messages only via e-mail.

  • Robust message delivery: UMS keeps track of delivery status information provided by messaging gateways, and makes this information available to applications so that they can respond to a failed delivery.

17.2.1.2 Enabling Oracle Identity Governance to Use UMS for Notification

To enable Oracle Identity Governance to use UMS for notification:

  1. Configure UMS properties by using the UMSEmailNotificationProviderMBean MBean. To do so:

    1. Log in to Oracle Enterprise Manager.

    2. Click Application Deployments.

    3. Right-click OIMAppMetadata(11.1.2.0.0)(oim_server_name), and select System MBean Browser.

    4. In the System MBean Browser, navigate to Application Defined MBeans, oracle.iam, Server: oim_server_name, Application: oim, IAMAppRuntimeMBean, and select UMSEmailNotificationProviderMBean.

    5. In the Attributes tab, enter the information listed in Table 17-1:

      Table 17-1 Parameters in Attributes Tab

      Attribute Description

      Policies

      The Messaging UMS web service is used for integration between Oracle Identity Manager and UMS. This Web Service can be secured via Oracle Web Services Manager (OWSM) policy. If OWSM policy is attached to the Messaging web service at server level, then provide the name of the corresponding client side policy. Otherwise, leave the field blank. For example, if oracle/wss11_username_token_with_message_protection_service_policy is applied at the server level, then provide the corresponding client policy name here, such as oracle/wss11_username_token_with_message_protection_client_policy.

      WSUrl

      This is the URL of the UMS Web service to be started. By default, it contains the URL of the Messaging UMS web service used for integration between Oracle Identity Manager and UMS.

      You can use any other SOA server, for example:

      http://SOA_HOST:SOA_PORT/ucs/messaging/webservice

      Here, replace SOA_HOST with the host name of the SOA server and SOA_PORT with the port number to connect to the SOA server.

      CSFKey

      This is the UMS e-mail notification provider credential store (CSF) key name. The key name is populated by default. This key is in the oracle.wsm.security map.

      You can find the oracle.wsm.security map as follows:

      1. In Oracle Enterprise Manager, expand WebLogic Domain.

      2. Right-click the base domain, and select Security, Credentials. The Credentials page is displayed.

      3. In the Credential column, expand the oracle.wsm.security map.

      Figure 17-1 shows the properties of the UMSEmailNotificationProviderMBean in the Attributes tab of the System MBean Browser.

      Figure 17-1 UMSEmailNotificationProviderMBean Properties

      Description of Figure 17-1 follows
      Description of "Figure 17-1 UMSEmailNotificationProviderMBean Properties"
    6. Click Apply.

  2. If Oracle Identity Manager and UMS server are in different domains, then you must import the UMS public key into Oracle Identity Manager domain's keystore, and must import Oracle Identity Manager domain's public key into the UMS keystore.

    See Also:

    Configuring Oracle User Messaging Service in Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite for details about UMS Web service security.

  3. Configure the e-mail driver. There is no default configured e-mail driver. The e-mail driver must be configured explicitly.

    To create the e-mail driver:

    1. Go to the Target Navigation by clicking the table icon beside the domain name.

    2. Expand User Messaging Service.

    3. Click usermessagingdriver-email (soa_server1).

    4. Select the User Messaging Email Driver drop down.

    5. Click Email Driver Properties.

    6. Click Create to create the driver.

    7. Provide values for the following and save:

      Name: EmailDriver1 (example value)

      Select Capability : SEND

      Outgoing Mail Server : localhost (example value)

      Outgoing Mail Server Port : 25 (example value)

  4. If mail server security is SSL, then you must remove DemoTrust store references from the SOA environment. To do so:

    1. In a text editor, open the DOMAIN_HOME/bin/setDomainEnv.sh file. Open setDomainEnv.bat file for Microsoft Windows.

    2. Remove the following line:

      -Djavax.net.ssl.trustStore=$WL_HOME/server/lib/DemoTrust.jks from EXTRA_JAVA_PROPERTIES
      
    3. Save and close the file.

    4. In a text editor, open the DOMAIN_HOME/bin/startManagedWeblogic.sh file. For Microsoft Windows, open the startManagedWeblogic.bat file.

    5. Remove the following weblogic.security.SSL.trustedCAKeyStore property set in JAVA_OPTIONS from this file:

      JAVA_OPTIONS="-Dweblogic.security.SSL.trustedCAKeyStore="{MW_HOME}/server/server/lib/cacerts" ${JAVA_OPTIONS}"
      
    6. Save and close the file.

    7. Restart the Admin and Managed servers.

      Note:

      For more details on configuring UMS to connect to a mail server with SSL, see "Configuring Oracle User Messaging Service" in Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

  5. Edit the username and password in the CSF key. To do so:

    1. In Oracle Enterprise Manager, expand WebLogic Domain.

    2. Right-click the base domain, and select Security, Credentials. The Credentials page is displayed.

    3. In the Credential column, expand the oracle.wsm.security map.

    4. Select the record for the Notification.Provider.Key credential key.

    5. On the toolbar, click Edit. The Edit Key dialog box is displayed.

    6. Edit the values in the User Name and Password fields, and click OK.

17.2.1.3 Applying OWSM Policy to the UMS Web Service

Server-side OWSM policy can be applied to the UMS Web service to protect any other Web service that uses EM. The corresponding client side policy, username, and password must be provided in the provider XML or via MBean.

17.2.1.3.1 Attaching Server-Side Policy to the UMS Web Service

To attach server-side policy to the UMS Web Service:

  1. In Oracle Enterprise Manager, expand User Messaging Service, and click usermessagingserver (soa_server).
  2. From the User Messaging Service list, select Web Services.
  3. In the Web Service Details section, click the Web Service Endpoints tab.
  4. In the Endpoint Name column, click Messaging.
  5. Click the OWSM Policies tab.
  6. Under Directly Attached Policies, click Attach/Detach. A list of available policies and the options to attach and detach policies are displayed.
  7. Select a policy from the available policies list, and click Attach. The selected policy is added to the Directly Attached Policies list.

    The policy you select is for securing the Messaging UMS web service.

  8. To remove a policy, under Directly Attached Policies, select a policy and click Detach. The selected policy is removed from the Directly Attached Policies list.
  9. To validate the applied policy combination, click Validate. A message is displayed stating that the validation is successful.
  10. Click OK.
17.2.1.3.2 Attaching Server-Side Username and Password

To provide the corresponding client-side policy to the UMSEmailProviderMBean, provide the name of the client-side policy in the UMSEmailNotificationProviderMBean MBean. To do so:

  1. Login to Oracle Enterprise Manager.
  2. Go to Application Deployments. Right-click OIMAppMetadata(11.1.2.0.0)(oim_server1), and select System MBean Browser.
  3. Go to Application Defined MBeans, oracle.iam, Server: oim_server1, Application: oim, IAMAppRuntimeMBean, UMSEmailNotificationProviderMBean.

    Table 17-2 lists the properties of the UMSEmailProviderMBean.

    Table 17-2 UMSEmailNotificationProviderMBean Properties

    Property Description

    Enabled

    A notification provider is used to send the notification e-mail if value for this property is true.

    Type

    In this release of Oracle Identity Manager, this value is EMAIL only, and the property is not used.

    ItrName

    Various configuration values required to send the e-mail via UMS, can be either provided in XML properties or IT resource. If configuration values are to be read from IT resource, then provide the name of the IT resource here. If the IT resource name is present, than the IT resource configuration settings are used. If IT resource name is incorrect or invalid, or the values given in the IT resource instance are invalid, then an error is generated and email is not sent.

    Note: Using the IT resource is not a recommended channel to configure UMS in Oracle Identity Manager. This is because there is no mechanism to validate the values provided in the XML or IT resource before sending the e-mail to the server.

    WSUrl

    The URL of UMS Web service to be invoked. Any SOA server can be used, in the following format:

    http://SOA_HOST/SOA_PORT/ucs/messaging/webservice

    CSFKey

    This is the default notification key under oracle.wsm.security map. This key contains username and password required for OWSM policy. The default and recommended username/password in this key is the WebLogic administrator username and password. This can be changed to any valid username/password on the server side, which is SOA. See step 5 in Enabling Oracle Identity Governance to Use UMS for Notification for information about editing the default values in CSF key by using Oracle Enterprise Mananger.

    Policies

    If OWSM policy is attached to the given Web service at server level, then provide the name of the corresponding client side policy here. Otherwise, leave this field blank. For example, if oracle/wss11_username_token_with_message_protection_service_policy is applied at server level, then provide the corresponding client policy name here, such as oracle/wss11_username_token_with_message_protection_client_policy.

    KeystoreAlias

    The keystore alias for the target service. For details about the keystore alias, see "Client Aliases" in the Oracle Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.

    Sender

    A valid username of any Oracle Identity Manager User. The e-mail ID of this user is used to send the e-mail.

  4. Provide the client-side policy name in the policies properties shown in this MBean.

17.2.2 Using SMTP for Notification

Using SMTP for notification involves configuring the SMTP email notification provider properties and adding the CSF key.

By default, the SMTP Email Notification Provider is disabled. This is enabled by setting the value of the enabled attribute to true.

17.2.2.1 Configuring the SMTP Email Notification Provider Properties

To configure SMTP Email Notification Provider properties by using the EmailNotificationProviderMBean MBean:

  1. Login to Oracle Enterprise Manager.
  2. Click Application Deployments.
  3. Right-click OIMAppMetadata(11.1.2.0.0)(oim_server1), and select System MBean Browser. The System MBean Browser is displayed.
  4. Navigate to Application Defined MBeans, oracle.iam, Server: oim_server1, Application: oim, IAMAppRuntimeMBean, EmailNotificationProviderMBean. All the attributes of the EmailNotificationProviderMBean MBean is displayed in the Attributes tab.

Figure 17-2 shows the properties of EmailNotificationProviderMBean in the Attributes tab of the System Mbean Browser.

Figure 17-2 EmailNotificationProviderMBean Properties

Description of Figure 17-2 follows
Description of "Figure 17-2 EmailNotificationProviderMBean Properties"

Table 17-3 describes the properties of Default SMTP Email notification provider.

Table 17-3 Default SMTP Email Notification Provider Properties

Property Description

Enabled

This property derives the status of the notification provider. If the value of this property is false, then the provider is inactive. To activate the provider, change the value to true.

Type

This property determines the type of the notification provider. Oracle Identity Manager supports only Email type.

IsAuth

If the value of this flag is false, then authentication is not required at mail server. As a result, you do not need to provide the CSFKey and CSFMap values. But this depends on the mail server in use. Most of the mail servers support this flag. If any mail server does not support this flag, then authentication credentials must be provided in CSFKey and corresponding CSFMap.

ItrName

If you want to provide connectivity information via IT resource instance of type Mail Server, then provide the name of IT resource instance here. This is not a recommended option.

CSFMap

This property determines the name of the existing CSF Map, for example oim and oracle.wsm.security.

CSFKey

This property takes the name of the key that contains the authentication credentials, which are username and password. This key must exist under the map name. By default, one key with name Notification.Provider.Key is available under oracle.wsm.security map. This key is used for UMS Email notification provider.

If UMS email provider is disabled, then use the same map and key to provide the username and password required at mail server for authentication. Otherwise, create a new key under any of the default maps, and provide the name of map and key in these properties.

Adding a CSF key is described later in this section.

ConnectionTimeout

This is in milliseconds. This is required for setting a maximum time for connection establishment.

MailServername

This is the name of mail server.

Sender

This is the sender used in Oracle Identity Manager for sending the emails.

17.2.2.2 Adding the CSF Key

To add a CSF key:

  1. Login to Oracle Enterprise Manager.
  2. Expand WebLogic Domain.
  3. Right-click base_domain, and select Security, Credentials.
  4. Expand oracle.wsm.security, and then click Create Key.
  5. Create a key of type password. Provide the key name, description, username, and password. Click OK.
17.2.2.3 Enabling SSL for the SMTP Notification Provider

To enable SSL-related properties for the SMTP notification provider:
  1. Login to Oracle Enterprise Manager.
  2. Click Application Deployment.
  3. Right-click OIMAppMetadata(oim_server1), and select System MBean Browser.
    The System MBean Browser is displayed.
  4. Navigate to Application Defined MBeans, oracle.iam, Server: oim_server1, Application: oim, IAMAppRuntimeMBean, EmailNotificationProviderMBean.
  5. For the SSLEnabled property, provide the value as true.
  6. Click Apply.

17.2.3 Using SOA Composite for Notification

Using SOA composite for notification involves creating a SOA composite with notification activity, deploying the SOA composite on the SOA server, setting workflow notification properties, configuring the SOA email notification provider properties, and configuring the user messaging drivers.

By default, the SOA Email Notification Provider is disabled. You can enable this notification provider by changing the value of the enabled property to true.

To use SOA composite in Oracle Identity Manager for notification perform the below listed procedure in the given order :

17.2.3.1 Creating a SOA Composite with Notification Activity

Create a SOA composite with notification activity. For details, see Using the Notification Service in Developer's Guide for Oracle SOA Suite.

Figure 17-3 shows the sample mapping of the composite payload via Expression Builder.

Figure 17-3 Sample Mapping of Composite Payload

Description of Figure 17-3 follows
Description of "Figure 17-3 Sample Mapping of Composite Payload"
17.2.3.2 Deploying the SOA Composite on the SOA Server Manually

Manually deploy the SOA composite on the SOA server. To do so:

  1. Create an application connection. To do so:

    1. Open the SOA composite in JDeveloper.

    2. Create a new Application Server Connection by right-clicking the project and selecting New, Connections, Application Server Connection.

    3. Name the connection as SOA_server, and click Next.

    4. Select WebLogic 10.3 as the Connection Type.

    5. Enter the authentication information. The typical values are:

      Username: weblogic

      Password: PASSWORD

    6. On the Connection screen, enter the hostname, port, and SSL port for the SOA Admin server or Admin server, and enter the name of the WebLogic domain.

    7. Click Next.

    8. On the Test screen, click Test Connection. Verify that the success message is displayed.

  2. Deploy the project. To do so:

    1. Right-click the project, select deploy, select the project name. Select the to option to create the application connection, which is SOA_server. Verify that the build successful message is stored in the log.

    2. Enter the default revision, and click OK. Verify that the Deployment Finished message is stored in the deployment log.

17.2.3.3 Setting Workflow Notification Properties

Using Enterprise Manager, navigate to soa-infra. Right-click soa-infra, and select SOA Administration, Workflow Properties. Under Workflow Notification Properties, select ALL from the drop down to set the Notification Mode to ALL.

17.2.3.4 Configuring the SOA Email Notification Provider Properties

Configure the SOA Email Notification Provider properties by using the SOAEmailNotificationProviderMBean MBean. To do so:

  1. Log in to Oracle Enterprise Manager.
  2. Expand Application Deployments. Right-click OIMAppMetadata(11.1.2.0.0)(oim_server1), and select System MBean Browser.
  3. Navigate to Application Defined MBeans, oracle.iam, Server: oim_server1, Application: oim, IAMAppRuntimeMBean, SOAEmailNotificationProviderMBean.

Change the value of the enabled property from false to true in the SOAEmailNotificationProviderMBean. Figure 17-4 shows the properties of the Bean of SOA Email notification provider.

Figure 17-4 SOAEmailNotificationProviderMBean Properties

Description of Figure 17-4 follows
Description of "Figure 17-4 SOAEmailNotificationProviderMBean Properties"

Table 17-4 lists some of the properties of the SOA Email Notification Provider.

Table 17-4 SOA Email Notification Provider Properties

Property Description

Enabled

This property derives the status of the notification provider. If the value of this property is false, then the provider is inactive. To activate the provider, change the value to true.

Type

This property determines the type of the notification provider. Oracle Identity Manager supports only Email type.

CompositeID

This represents the name of the SOA composite. Name includes pkg/Name!version.

ServiceName

This is the name given to the service in the SOA composite.

OperationName

This is the name given to the process in the SOA composite.

PayloadID

This is the name given to the payload in the SOA composite.

TargetNamespace

This is the name of the targetNamespace given in various XMLs generated while creating the SOA composite.

Sender

This is the sender used in Oracle Identity Manager for sending the emails.

17.2.3.5 Configuring the User Messaging Drivers

Configure the user messaging drivers. if required. If you do not specify values for the user messaging drivers, then the local Linux mail server is used by default. To use any other mail server:

  1. Log in to Oracle Enterprise Manager.
  2. Navigate to User Messaging Service, usermessagingdriver-email (soa_server1), Email Driver Properties in Driver-Specific Configuration.
  3. Configure the following mandatory values:
    • OutgoingMailServer: Name of the SMTP server, for example, stbeehive.oracle.com.

    • OutgoingMailServerPort: Port of the SMTP server, for example, 465.

    • OutgoingMailServerSecurity: The security setting used by the SMTP server. Possible values can be None, TLS, or SSL.

    • OutgoingUsername: Any valid username, similar to firstname.lastname@abc.com.

    • OutgoingPassword: Select Indirect Password, Create New User. Provide a unique string for Indirect Username/Key, for example, OIMEmailConfig. This will mask the password and not expose it in clear text in the config file. Provide a valid password for this account.

    See Also:

    Configuring the Email Driver in Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management for more information about configuring user messaging drivers.

17.2.4 Configuring Custom Notification Provider

You can configure and use a custom notification provider, other than the default notification providers, for sending notifications.

To configure a custom notification provider:

  1. Implement a custom Notification Provider class extending the oracle.iam.notification.provider.NotificationProviderBase base class.
  2. Create a JAR file, for example Notification_provider.jar, containing this class.
  3. Create an XML file similar to the following:
    <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>
    

    When the value of the enabled property name is true, then this custom provider is used for sending notifications. You can add more properties to this spring bean XML of the custom notification provider, as required.

  4. Import the XML file to MDS by using Oracle Enterprise Manager. For information about exporting and importing metadata files to and from MDS, see Migrating User Modifiable Metadata Files in Developing and Customizing Applications for Oracle Identity Governance.
  5. Package all the files as a plug-in.zip file. The structure of the custom notification provider plug-in is:
    • The lib/ directory:

      Notification_provider.jar

    • The plugin.xml file

    See Also:

    Developing Plug-ins in Developing and Customizing Applications for Oracle Identity Governance for information about the concepts related to plug-in and how to develop and use a plug-in.

17.2.5 Disabling and Enabling Notification Providers

The notification providers, such as UMS notification provider or EmailNotificationProvider, can be disabled or enabled by using Oracle Enterprise Manager.

For example, to disable UMS notification provider:

  1. Login to Enterprise Manager.
  2. Go to Application Deployments.
  3. Right-click OIMAppMetadata(11.1.2.0.0)(oim_server1), and select System MBean Browser. The System MBean Browser pane is displayed.
  4. Go to Application Defined MBeans, oracle.iam, Server: oim_server1, Application: oim, IAMAppRuntimeMBean.
  5. Select UMSEmailNotificationProviderMBean.
  6. In the Attributes tab, from the Value list corresponding to the Enabled attribute, select false to disable UMS notification provider. To enable UMS notification provider, select true.
  7. Click Apply.

17.3 Managing Notification Templates

A notification template, which contains variables that refer to available data to provide more contexts to the notifications, is used to send notifications. Managing notification templates include searching, creating, modifying, enabling and disabling, and deleting notification templates, adding and removing locales to and from notification templates, and configuring notification for a proxy.

This section describes about notification templates in the following topics:

17.3.1 Default Notification Template

Default notification templates are available for various notification scenarios, such as for bulk requests, proxies, password generation, warning, expiry, and reset, and request creation and status change.

Oracle Identity Manager provides a set of default notification templates, as shown in Table 17-5.

Table 17-5 Default Notification Templates

Notification Template Description

Add Proxy Notification

Template to send notification after a proxy has been added for a user

Bulk Request Creation

Template to send notification during a bulk request creation

Create User Self Service Notification

Template to send notification after a new user is created

End Date

Template to send notification to the manager when end date of the reportee expires

Forgotten Username Notification

Template to send notification after user submits the Forgotten Username form

Generated Password Notification

Template to send notification after a password is generated by Oracle Identity Manager

Password Expired Notification

Template to send notification after password has expired

Password Warning Notification

Template to send notification before password expires

Request Creation

Template to send notification during a request creation

Request Identity Creation

Template to send notification during a Create User request

Request Status Change

Template to send notification during a request status change

Reset Password

Template to send notification after password has been reset

User Deleted

Template to send notification to the manager when the user account of the reportee is deleted as a result of expired end date

17.3.2 Searching for a Notification Template

You can perform a simple search or an advanced search for a notification template by using the Identity System Administration.

This section contains the following topics:

17.3.2.1 Performing Simple Search for a Notification Template

To perform a simple search for a notification template:

  1. Login to Oracle Identity System Administration.
  2. In the left pane, under System Configuration, click Notification. Advanced Administration is displayed with the Notification tab enabled.
  3. Click the icon next to the Search field. All the existing notification templates are displayed on the left pane, as shown in Figure 17-5:

    Figure 17-5 Notification Search Result

    Description of Figure 17-5 follows
    Description of "Figure 17-5 Notification Search Result"
  4. Select the template that you want to view. The details of the selected notification template are displayed on the right pane.
17.3.2.2 Performing Advanced Search for a Notification Template

To perform an advanced search for a notification template:

  1. In the left pane of the Advanced Administration, click Advanced Search. The Advanced Search page is displayed.
  2. Select one of the following matching options:
    • All: On selecting this option, the search is performed with the AND condition. This means that the search operation is successful based on Search field with any input from the user. Search field with no input from the user is not considered.

    • Any: On selecting this option, the search is performed with the OR condition. This means that the search operation is successful when any search criterion specified is matched.

  3. Specify the search criteria in the Template Name, Event Name, and Subject Details fields. You can remove any of these fields that you do not want to include in the search by clicking the icon next to it. You can add a field that you want to include in the search by clicking Add Fields, and then selecting the field name from the list.
  4. Click Search. The search results table is displayed with details about template names, event names, and subject details.

17.3.3 Creating a Notification Template

Use the Notification page to create a new notification template by specifying various attributes, such as template name and description, event details, and locale information.

Note:

Corresponding to each event that happens, you have to configure an XML file. The XML file defines the behavior of each event. You must first configure the XML for an event. After this is done, you can create a notification template for that event.

For information about creating the event XML file, see Defining Event Metadata in Developing and Customizing Applications for Oracle Identity Governance.

To create a notification template:

  1. Log in to Oracle Identity System Administration.

  2. In the left pane, under System Configuration, click Notification. The Notification page is displayed.

  3. From the Actions menu, select Create. Alternatively, click the Create icon. The Create Template page is displayed.

  4. In the Template Information section, enter values for the following fields:

    • Template Name: Enter the template name in this field.

    • Description Text: Enter a brief description of the template in this field.

      Note:

      The Description Text field cannot be translated and is available only in English.

  5. In the Event Details section, from the Available Event list, select the event for which the notification template is to be created from a list of available events. Depending on your selection, other fields are displayed in the Event Details section.

  6. Under the Locale Information section, enter values in the following fields:

    Note:

    The Default Locale information is stored in the PTY table and is fetched from there.

    • To specify a form of encoding, select either UTF-8 or ASCII.

    • In the Message Subject field, enter a subject for the notification.

    • From the Type options, select the data type in which you want to send the message. You can choose between HTML and Text/Plain.

    • In the Short Message field, enter a short version of the message.

    • In the Long Message field, enter the message that will be sent as the notification. See step 7.

  7. To use the token for available data in the messages that will be sent as notification:

    1. In the Event Details section, select the attribute from the Available Data list. This attribute will be displayed in the Selected Data field.

    2. Copy the attribute and add it in the message text by placing it inside ${}. For example, if selected data is FA_Territory, then include it in the text as ${FA_Territory}.

    Figure 17-6 shows the Create Notification Template page with sample values:

    Figure 17-6 The Create Notification Template Page

    Description of Figure 17-6 follows
    Description of "Figure 17-6 The Create Notification Template Page"
  8. After you have entered the required values in all the fields, click Save.

  9. A message is displayed confirming the creation of the notification template. Click OK.

17.3.4 Modifying a Notification Template

Use the notification template details page to modify the attributes of a notification template.

To modify a notification template:

  1. In Identity System Administration, under System Configuration, click Notification.
  2. Search for the notification template that you want to modify.
  3. Select the template that you want to modify. The the details of a notification template is displayed, as shown in Figure 17-7.

    Figure 17-7 Notification Template Modification

    Description of Figure 17-7 follows
    Description of "Figure 17-7 Notification Template Modification"
  4. Change the values that you want to and click Save.
  5. A message is displayed confirming the modification of the notification template. Click OK.

17.3.5 Disabling a Notification Template

Use the Notification section of the Identity System Administration to disable a notification template.

You can disable an enabled notification template in the following ways:

  1. Disable by selecting the notification template in the notification search results. To do so:

    1. In the Identity System Administration, under System Configuration, click Notification.

    2. Search for the notification template that you want to disable.

    3. Select the template that you want to disable. Note that the Disable button is active if the notification template is in enabled state.

    4. Click Disable. A message is displayed prompting you to confirm the disable operation. Click Yes. A message is displayed confirming the disable operation.

  2. Disable by opening the notification template details. To do so:

    1. In the Identity System Administration, under System Management, click Notification.

    2. Search for the notification template that you want to disable.

    3. Click the template name to open the template details. In the notification template details page, the Disable button is active if the notification template is in enabled state, as shown in Figure 17-7.

    4. Click Disable. A message is displayed confirming the disable operation.

17.3.6 Enabling a Notification Template

Use the Notification section of the Identity System Administration to enable a notification template.

You can enable a disabled notification template in the following ways:

  1. Enable by selecting the notification template in the notification search results. To do so:

    1. In the Identity System Administration, under System Configuration, click Notification.

    2. Search for the notification template that you want to enable.

    3. Select the template that you want to disable. Note that the Enable button is active if the notification template is in disabled state.

    4. Click Enable. A message is displayed prompting you to confirm the enable operation. Click Yes. A message is displayed confirming the enable operation.

  2. Enable by opening the notification template details. To do so:

    1. In the Identity System Administration, under System Management, click Notification.

    2. Search for the notification template that you want to enable.

    3. Click the template name to open the template details. In the notification template details page, the Enable button is active if the notification template is in disabled state.

    4. Click Enable. A message is displayed confirming the enable operation.

17.3.7 Adding Locales to a Notification Template

You can add a locale to a notification template from a list of locales that are present in Oracle Identity Manager instance.

To add locales to a notification template:

  1. In the Identity System Administration, under System Configuration, click Notification.
  2. Search and select the template to which you want to add a locale.
  3. From the Actions menu, select Add Locale. The Add Locale page is displayed.
  4. In the Locale Name field, click the icon next to the Locale Name field to select a locale from a list. After selecting the locale, and click Confirm.
  5. Click Next. The Locale Information page is displayed and the locale that you added is displayed as a tab in the page.
  6. In the Locale Information section, specify values for all the fields as mentioned in step 6 of Creating a Notification Template, and then click Save. The locale is added to the template.

    Note:

    Notification can be sent in all the locales that are added to the notification template. A user receives notification in the same locale specified in the user preferences. If a locale is not specified in the user preferences, then the notification is sent in the default locale. The default locale is to be specified in the PTY table in Oracle Identity Manager database at the time of installation.

17.3.8 Removing Locales from a Notification Template

Use the Remove Locale page to remove locales from a notification template.

To remove locales from a notification template:

  1. Search for the notification template from which you want to remove a locale. Select the template from the search results table.
  2. From the Actions menu, click Remove Locale. The Remove Locale page is displayed.
  3. Click the icon next to the Locale Name field to select a locale from a list. You can remove a locale from a template only if that template contains multiple locales. You cannot remove a locale if it is the only one associated with the template. Click Save.
  4. A message is displayed confirming the removal of the locale. Click OK.

    Note:

    You must not remove default locale to ensure that a notification is sent every time when there is no user preferred locale is set or when notification template does not contain a locale template matching to user preferred locale.

17.3.9 Deleting a Notification Template

Use the Delete option in the Notification section of Identity System Administration to delete a notification template that is not required or is not in use.

To delete a notification template:

  1. In the Identity System Administration, under System Configuration, click Notification.
  2. Search for the notification template that you want to delete.
  3. Select the template that you want to delete.
  4. From the Actions menu, click Delete. Alternatively, click the cross icon on the toolbar. A message is displayed prompting you to confirm the delete the operation. Click Yes. A message is displayed confirming the delete operation.

17.3.10 Configuring Notification for a Proxy

You can configure notification for a proxy by configuring a new email IT resource, and specifying a user as a proxy for another user.

Use the following steps to configure notification for a proxy:

  1. Configure a new Email IT resource.
  2. Create a new user. (For example, create a user Jane Doe.)
  3. Create a second user. (For example, create a user John Doe.)
  4. Assign the Jane Doe user as a manager for John Doe.
  5. Specify your email ID for John Doe, which enables you to receive notifications in your inbox.
  6. Login to Oracle Identity Self Service as Jane Doe.
  7. In the Self Service tab, click My Information. The My Information page is displayed.
  8. Expand Proxies. In the Proxies section, add John Doe as a proxy for Jane Doe.

Note:

If you successfully added the proxy, you (John Doe in this case) will receive an email notification message similar to the following:

"You have been made the proxy for Jane Doe [JANED] from April 9, 2012 12:00:00 AM to April 30, 2010 12:00:00 AM".

17.4 Configuring Email in Provisioning Workflow

You can configure email notifications for using them in provisioning processes by configuring the default email provider.

To configure default email provider:

  1. Login to Oracle Identity System Administration, and set the value of the Email Server system property (with keyword XL.MailServer) to point to the IT resource with name Email Server. For information about this system property, see Configuring Oracle Identity Governance.
  2. Verify that the Email Server IT resource exists. This IT resource must have Mail Server as the IT resource type, and it must have a server name, for example localhost. If this IT resource is not present for mail server, then create the IT resource. For information about creating IT resources, see Creating IT Resources.

17.5 Configuring SOA Email Notification

You can configure and actionable email notification on SOA and troubleshoot issues related to SOA email notification.

This section describes how to configure SOA email notifications in the following topics:

17.5.1 Configuring Actionable Email Notification on SOA

To configure actionable email notification on SOA, specify email as the notification mode and specify driver-specific attributes for email notification.

To configure email notifications on SOA:

  1. Before performing the steps to configure email notifications in SOA, ensure the following:

    • Make sure that the user to whom task is assigned has a valid email account set in Oracle Identity Manager.

    • If you want email notifications to be actionable, such as allowing approving or rejecting requests from the email, then ensure that you have configured human task to send actions in the notification. You can verify this by using SOA Composer. To do so:

      1. Login to SOA Composer by using weblogic user by using the following URL:

        http://SOA_HOST:SOA_PORT/soa/composer

      2. From the Open menu, select Open Tasks.

      3. In the Select a Task to open dialog box, select the human task for which you want to verify the settings, and then click Open.

      4. In Notification Settings section, verify that the Make notification actionable option is selected.

  2. Login to Oracle Enterprise Manager as weblogic user.

  3. Go to SOA. Right-click soa-infra (soa_server_name), and select SOA Administration, Workflow Properties.

  4. In the Workflow Notification Properties dialog box, select Email from the Notification Mode list.

  5. Enter values for the following:

    • Email : From Address: Email account from which notification will be sent to approvers

    • Email : Actionable Address: Email account that will receive approve/reject response sent by approvers via email

    • Email : Reply To Address: Optional email address to which the reply will be sent, for example, no.reply@yourdomain.com

  6. Click Apply.

  7. Go to User Messaging Service. Right-click usermessagingdriver-email (soa_server_name), and select Email Driver properties.

  8. In the Driver-Specific Configuration section, configure the following minimum attributes for email notifications to work correctly:

    • MailAccessProtocol: Select IMAP or POP3

    • OutgoingMailServer: Name of the SMTP server, for example, myhost.mycompany.com

    • OutgoingMailServerPort: Port of the SMTP server, for example, 465

    • OutgoingDefaultFromAddress: Same as OutgoingMailServer

    • OutgoingPassword: You can provide the password in clear text stored in driverconfig.xml, or store password in CSF by using indirect option.

    • IncomingMailServer: The hostname of the incoming mail server. Required only if receiving emails is supported on the driver instance.

    • IncomingMailIDs: The email addresses corresponding to the user names. Each email address is separated by a comma and must reside in the same position in the list as their corresponding user name appears on the usernames list. Required only if receiving emails is supported on the driver instance.

    • IncomingUserPasswords: You can provide password in clear text stored in driverconfig.xml, or store password in CSF using indirect option.

    • Debug (Optional): Setting this to true logs all email activity on SOA server console but not SOA log files. Set this to true until you are sure that notifications are working correctly.

    See Also:

    "Configuring Human Workflow Service Components and Engines" and "Configuring Oracle User Messaging Service" in Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite for detailed information about driver-specific configuration and Human workflow service components.

  9. Click Apply, and restart SOA Managed Server.

17.5.2 Troubleshooting SOA Email Notification

Troubleshooting considerations for SOA email notification can be enabling Debug mode for driver-specific configuration, verifying email server and accounts, and scrutinizing the SOA server log.

Consider the following to troubleshoot issues encountered with SOA email notification:

  • Enable the Debug option in the driver-specific configuration if you are facing issues with sending or receiving notifications. If you modify the email driver properties, then restart SOA server.

  • Send test notifications. To do so:

    Login to Oracle Enterprise Manager. Go to SOA. Right-click soa-infra (soa_server_name), and select Service Engines, Human Workflow, Notification Management, Send Test Notification.

  • Verify that email server and accounts are working. Try sending/receiving emails using your email client.

  • Check the SOA server log. Usually, the issue is with user messaging service configuration. If you have enabled the debug option, then SOA server log provides debugging information.

  • Sometimes if email is not being sent to a particular email account (because of incorrect configuration), then SOA server marks it as bad address. You must manually remove such bad address. To do so:

    Login to Oracle Enterprise Manager. Go to SOA. Right-click soa-infra (soa_server_name), Service Engines, Human Workflow, Notification Management, View Bad Address, Remove the Bad Address.

17.6 Disabling Oracle Identity Governance Email Notifications

Disabling email notifications involves disabling email notification by removing the SelfServiceNotificationHandler or PasswordNotificationHandler.

This section describes how to disable Oracle Identity Governance email notification in the following topics:

17.6.1 About Disabling Oracle Identity Governance Email Notifications

Notifications are sent in some scenarios by event handlers when users are created through UI or through SPML. The scenarios are user creation with manual password, manual or auto generated password change, email notification disablement.

Notifications are sent in the following scenarios by event handlers when users are created through UI or through SPML:

See Also:

Developing Event Handlers in Developing and Customizing Applications for Oracle Identity Governance for information about event handlers.

  • A user is created with manual password as a result of SelfServiceNotificationHandler. To disable sending email notification, remove the SelfServiceNotificationHandler section in the /metadata/iam-features-selfservice/event-definition/EventHandlers.xml in MDS. To do so, see Disabling Sending Email Notification by Removing the SelfServiceNotificationHandler.

  • System Administrator creates user with autogenerated password as a result of PasswordNotificationHandler. To disable sending email notification, remove the PasswordNotificationHandler section in the /metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml file in MDS.

    To do so, see Disabling Sending Email Notification by Removing the PasswordNotificationHandler.

  • System Administrator changes password manually. The notification can be disabled through UI based on the email checkbox selected on the UI.

  • System Administrator changes password with autogenerated password (reset password) as a result of ResetPasswordActionHandler. This is not a postprocess event handler that can be disabled.

  • To disable notifications related to reconciliation, login to Oracle Identity System Administration, and set the 'Should send notifications in recon or not' system property to FALSE. For information about this system property, see Default System Properties in Oracle Identity Governance.

  • To disable all email notifications in Oracle Identity Manager, set the value of the XL.DisableAllNotifications system property to true. By default, the value of this system property is false. If an incorrect value is specified for this system property, then notifications are enabled. See Default System Properties in Oracle Identity Governance for information about this system property.

17.6.2 Disabling Sending Email Notification by Removing the SelfServiceNotificationHandler

A user is created with manual password as a result of SelfServiceNotificationHandler. To disable sending email notification, remove the SelfServiceNotificationHandler section in the /metadata/iam-features-selfservice/event-definition/EventHandlers.xml in MDS.

A user is created with manual password as a result of SelfServiceNotificationHandler. To disable sending email notification, remove the SelfServiceNotificationHandler section in the /metadata/iam-features-selfservice/event-definition/EventHandlers.xml in MDS. To do so:

  1. Export the /metadata/iam-features-selfservice/event-definition/EventHandlers.xml file from MDS by using Oracle Enterprise Manager. See Migrating User Modifiable Metadata Files in Developing and Customizing Applications for Oracle Identity Governance.

    Note:

    Save a local copy of the EventHandlers.xml for future reference.

  2. Remove the following from the EventHandlers.xml file:
    <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>
    
  3. Import the files to MDS by following the instructions in Migrating User Modifiable Metadata Files in Developing and Customizing Applications for Oracle Identity Governance.
  4. Export the files again to verify that the edits have been correctly uploaded to MDS.

    Note:

    If the steps described in this topic are performed to achieve some desired functionality, then these changes will be lost after upgrade. Therefore, redo the same changes after upgrade.

17.6.3 Disabling Sending Email Notification by Removing the PasswordNotificationHandler

System Administrator creates user with autogenerated password as a result of PasswordNotificationHandler. To disable sending email notification, remove the PasswordNotificationHandler section in the /metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml file in MDS.

To remove the PasswordNotificationHandler section in the /metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml file in MDS:

  1. Export the /metadata/iam-features-passwordmgmt/event-definition/EventHandlers.xml file from MDS by using Oracle Enterprise Manager.
  2. Remove the following from the EventHandlers.xml file:
    <postprocess-handler
    class="oracle.iam.passwordmgmt.eventhandlers.PasswordNotificationHandler"
    entity-type="User" operation="CREATE" name="PasswordNotificationHandler"
    order="1180" stage="postprocess" sync="TRUE">
    </postprocess-handler>
    
  3. Import the files to MDS by following the instructions in Migrating User Modifiable Metadata Files in Developing and Customizing Applications for Oracle Identity Governance.
  4. Export the files again to verify that the edits have been correctly uploaded to MDS.

    Note:

    If the steps described in this topic are performed to achieve some desired functionality, then these changes will be lost after upgrade. Therefore, redo the same changes after upgrade.

17.7 Troubleshooting Notification

Troubleshooting notification includes issues related to incorrect URL, incorrect outgoing server email driver properties, SOA server errors, authentication failure, and failed email deliver not reported through Enterprise Manager.

This section describes the following issues that you might encounter with UMS configuration and the corresponding solutions:

17.7.1 Issues Related to Incorrect URL

Notification issues related to incorrect URL can be because of malformed or incorrect URLs.

Problem

Oracle Identity Manager log shows the following error:

<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>

Solution

The cause of this error is malformed URL. To resolve the issue, provide the correct values for SOA_PORT and SOA_HOST in Enterprise Manager (EM).

Problem

Oracle Identity Manager log shows the following error:

<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>

Solution

The cause of this problem in incorrect URL. To resolve the issue, provide the correct URL in EM.

17.7.2 Incorrect Outgoing Server EMail Driver Properties

To troubleshoot notification issues related to outgoing server email driver properties, provide the correct email server address, and ensure that the server is running.

Problem

The following error is generated:

<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)
>

Solution

The cause of this problem is incorrect Outgoing Server EMail Driver properties. To rectify the issue, provide the correct email server address, and ensure that the server is running.

17.7.3 Error Generated at the SOA Server

To troubleshoot error generated at the SOA server, ensure that the outgoing server host, outgoing server port, and outgoing server security information are provided correctly.

Problem

The following error is displayed in the SOA server logs:

<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)
>

Solution

This is an error in SOA server. To rectify the issue, ensure that the outgoing server host, outgoing server port, and outgoing server security information are provided correctly.

17.7.4 Authentication Failure

To troubleshoot authentication failure, provide the correct username and password, deploy and configure the application server, and ensure certification exchange.

Problem

The following errors are generated:

javax.mail.AuthenticationFailedException

OR

<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)
>

Solution

Ensure the following:

  • Username and password provided are correct.

  • Entry for DemoTrust.jks is removed from setDomainEnv script.

  • Application server, such as Oracle WebLogic Server, has been deployed and configured correctly.

  • Certificate exchange is done.

17.7.5 Issues Related to Failed Email Delivery Not Reported Through EM

The Status Code can be DELIVERY_TO_GATEWAY_SUCCESS in Usermessagingserver Message Status in the Enterprise Manager, although the email is invalid.

Problem

Status Code is always DELIVERY_TO_GATEWAY_SUCCESS in Enterprise Manager (EM) Usermessagingserver Message Status, although the email is invalid. The status code does not update to failure even if the user does not receive any email.

Solution

Ensure that the following Incoming settings in the Driver configuration are properly configured:

  • MailAccessProtocol

  • ReceiveFolder

  • IncomingMailServer

  • IncomingMailServerPort

  • IncomingMailServerSSL

  • IncomingMailIDs

  • IncomingUserIDs

  • IncomingUserPasswords

  • ImapAuthPlainDisable

For additional information on , see Configuring Oracle User Messaging Service in the Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite.