Monday, April 18, 2016

DAC/BIAPPS-ETL mail problem, javax.mail.AuthenticationFailedException, use "serverSetupPrompt.sh"

Altough your mail tests may be successful on DAC client, you may encounter mail problems during your ETL.
This issue was encountered in a customer environment, where BIAPPS was installed and where DAC server, client , Informatica, OBIEE and Oracle Database was delivering the BI solution.

The issue started after changing the  email used by DAC server and altough the change was done on DAC client, the DAC server couldn't send any emails after it. (Normally, DAC server sends notification emails when an ETL process is started and completed or encounters any errors etc..)

The out file that is used the DAC server was displaying the following java code authentication error.

javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at com.siebel.etl.email.EmailManager.dispatchJMail(EmailManager.java:531)
at com.siebel.etl.email.EmailManager.dispatch(EmailManager.java:394)
at com.siebel.etl.email.EmailManager.safeDispatch(EmailManager.java:353)
at com.siebel.etl.engine.core.ETL.sendEmail(ETL.java:866)
at com.siebel.etl.engine.core.ETL.thisETLProcess(ETL.java:303)
at com.siebel.etl.engine.core.ETL.run(ETL.java:659)
at com.siebel.etl.engine.core.ETL.execute(ETL.java:911)
at com.siebel.etl.etlmanager.EtlExecutionManager$1.executeEtlProcess(EtlExecutionManager.java:210)
at com.siebel.etl.etlmanager.EtlExecutionManager$1.run(EtlExecutionManager.java:165)
at java.lang.Thread.run(Thread.java:662)
Apr 1, 2016 11:56:43 PM com.siebel.etl.engine.bore.NewDispatcher execute
SEVERE: Starting ETL Process.


It was clear that DAC Server and DAC client did not use the same configuration at all.

The problem was partially documented in DAC Email Notification Not Working (Doc ID 1527685.1), but it was not the exactly pointing the solution.

The solution was using the serverSetupPrompt.sh located in DAC server' s root directory. (/u1/DAC in our case)

What I did was, setting the mail server ip , port , email account name, password and specifying the use of SSL in mail delivery(in our case it was non-ssl). Lastly, restarting the DAC server ,after saving these setting. (restart is important)

Following is a demo explaining the fix;

[root@ermanserver DAC]# ./serverSetupPrompt.sh
OS detected: Linux

What can I do for you?
1 - Enter repository connection information
2 - Test repository connection
3 - Enter email account information
4 - Send test email
5 - Save changes
6 - Exit

Please make your selection: 3

Would you like to remove current value for User name? (Y/N) Y

Would you like to remove current value for Password? (Y/N) Y

Current value for Email server is smtp.gmail.com.
Press return to keep it or enter a new value.
> 10.5.5.242

Would you like to remove current value for Email server port? (Y/N) Y

Would you like to remove current value for Email address? (Y/N) Y

Current value for Needs authentication is true.
Press return to keep it or enter a new value.
>
Current value for Needs SSL is true.
Press return to keep it or enter a new value.
> false

What can I do for you?

1 - Enter repository connection information
2 - Test repository connection
3 - Enter email account information
4 - Send test email
5 - Save changes
6 - Exit

Please make your selection: 3

Please enter User name
> erman@someermanserver.com

Please enter Password
> PASSWORD

Current value for Email server is 10.5.5.242.
Press return to keep it or enter a new value.
>

Please enter Email server port
> 25

Please enter Email address
> erman@someermanserver.com

Current value for Needs authentication is true.
Press return to keep it or enter a new value.
>
Current value for Needs SSL is false.
Press return to keep it or enter a new value.
> false

What can I do for you?

1 - Enter repository connection information
2 - Test repository connection
3 - Enter email account information
4 - Send test email
5 - Save changes
6 - Exit

Please make your selection: 5

What can I do for you?

1 - Enter repository connection information
2 - Test repository connection
3 - Enter email account information
4 - Send test email
5 - Save changes
6 - Exit

Please make your selection: 4

Email test will fail if the current modifications to configuration is not saved. Continue? (Y/N)
Y

Sending test email...
Apr 18, 2016 11:24:00 AM com.siebel.etl.email.EmailManager <clinit>
INFO: About to load EmailManager class...
Apr 18, 2016 11:24:00 AM com.siebel.etl.email.EmailManager <init>
INFO: Starting Constructor of EmailManager...
Apr 18, 2016 11:24:00 AM com.siebel.etl.email.EmailConfig <clinit>
INFO: About to load EmailConfig class...
Apr 18, 2016 11:24:00 AM com.siebel.etl.email.EmailConfig loadEmailProperties
INFO: About to load email config.
Apr 18, 2016 11:24:01 AM com.siebel.etl.email.EmailManager getInstance
INFO: Returning an instance of EmailManager...
Apr 18, 2016 11:24:01 AM com.siebel.etl.email.EmailManager enableTestingMode
INFO: EmailManager is entering a testing mode
Apr 18, 2016 11:24:02 AM com.siebel.etl.email.EmailManager dispatchJMail
INFO: EmailManager.dispatch : Created a message...
Apr 18, 2016 11:24:02 AM com.siebel.etl.email.EmailManager dispatchJMail
INFO: Message successfully sent OK.

Test email successfully sent.

No comments :

Post a Comment