Downloads:
- Gmail IMAP SSL Certificate for incoming mails
- Gmail SMTP SSL Certificate for outgoing mails
- Gmail Keystore containing IMAP and SMTP SSL Certificates
In order to setup Gmail notification services in SOA server, we first need to import SSL certificates. Though I’ve made them available in the Downloads section above, here are the steps to import one yourself.
OpenSSL is required to import SSL certificates from google website. If you already have one, please ignore the installation section.
OpenSSL Installation
- Install Visual C++ 2008 Redistributables.
- Install OpenSSL from here.
Import Certificates
- Open command prompt and go to OpenSSLHome/bin.
- Run following commands to create SSL certificates. Ignore any reported errors. If command hangs, press Ctrl+C to cancel. This will have no impact on certificate import.
- openssl s_client -connect imap.gmail.com:993 > imap.cert
- openssl s_client -connect smtp.gmail.com:465 > smtp.cert
- Edit imap.cert and smtp.cert to remove everything before
- Import above two certificates into keystore. Enter your choice of password when prompted for a new and confirmation password. You can find keytool executable from JAVA_HOME/bin either in standalone JDK6 or JDEV_HOME/jdk160_18\bin.
- keytool -import -alias imap.gmail.com -keystore gmailcertstore.jks -file imap.cert
- keytool -import -alias smtp.gmail.com -keystore gmailcertstore.jks -file smtp.cert
- Modify setDomainEnv.cmd from WLS_HOME/user_projects/domains/<soadomain>/bin to specify truststore.
- -Djavax.net.ssl.trustStore=<path>/gmailcertstore.jks -Djavax.net.ssl.trustStorePassword=<password you used>
- Save setDomainEnv.cmd
Configure UMS (User Messaging Service)
Login to Weblogic Enterprise Manager and open Workflow Notification Properties from SOA>soa-infra>SOA Administration.
Set Notification Mode as Email. Enter your choice of From, Actionable and ReplyTo email addresses.
Click on Go to the Message Driver page. From Associated Drivers page, click on Configure Driver.
Modify Driver properties as follows:
| MailAccessProtocol | IMAP |
| ReceiveFolder | Inbox |
| OutgoingMailServer | smtp.gmail.com |
| OutgoingMailServerPort | 465 |
| OutgoingMailServerSecurity | SSL |
| OutgoingUsername | Your choice of email id. Ex: orafmwtraining@gmail.com |
| OutgoingPassword | Password for OutgoingUsername |
| IncomingMailServer | imap.gmail.com |
| IncomingMailServerPort | 993 |
| IncomingMailServerSSL | select checkbox |
| IncomingMailIDs | orafmwtraining@gmail.com |
| IncomingUserIDs | orafmwtraining@gmail.com |
| IncomingUserPasswords | Password for IncomingUserID |
Restart SOA Server.
Excellent job once again! Thanks a lot
Interesting! Great tutorial and well written
I did exactly as above but I got the following error message:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; nested exception is: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
Syam, did you import ssl certificates? Also, rebooting finally is necessary. Please confirm.
Nice tutorial.After changing the above mentioned details, when i start the server, server window(command prompt window) is disappearing. Server is unable to start.Please provide the solution. Thanks in advance….
-Prasad
Prasad, Do you see any error messages in AdminServer.log and soadomain.log present under/user_projects\domains\soadomain\servers\AdminServer\logs?
[2011-05-18T23:34:31.187+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.bpel.engine] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] CubeServiceEngine=> initing default/email_practice!17.0*soa_06508721-cada-4f24-b675-db18c602559c/email
[2011-05-18T23:34:31.281+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.bpel.engine] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] CubeServiceEngine=> uniniting component default/email_practice!17.0*soa_b6b133e4-d440-4ab3-88cd-676aaf809e4d/email
[2011-05-18T23:34:31.296+05:30] [soa_server1] [NOTIFICATION] [] [oracle.integration.platform.blocks.deploy] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] [Deployment] Undeploying component:email from service engine:implementation.bpel, for composite:email_practice
[2011-05-18T23:34:31.296+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.bpel.engine] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] CubeServiceEngine=> unloading component default/email_practice!17.0*soa_b6b133e4-d440-4ab3-88cd-676aaf809e4d/email
[2011-05-18T23:34:31.296+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.bpel.engine] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] CubeServiceEngine=> undeploy component default/email_practice!17.0*soa_b6b133e4-d440-4ab3-88cd-676aaf809e4d/email
[2011-05-18T23:34:31.609+05:30] [soa_server1] [NOTIFICATION] [] [oracle.integration.platform.blocks.deploy] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] [Deployment] Component:email was successfully undeployed from service engine:implementation.bpel, for composite:email_practice
[2011-05-18T23:34:31.890+05:30] [soa_server1] [NOTIFICATION] [] [oracle.integration.platform.instance] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] Not marking the composite instances as stale, as ‘undeploy’ event was received without composite model.
[2011-05-18T23:34:32.031+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.adapter] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] JCABinding=> :defaultRevisionChanged – no adapter bindings eligible for revision update
[2011-05-18T23:34:32.265+05:30] [soa_server1] [NOTIFICATION] [SOA-21061] [oracle.integration.platform.blocks.deploy.servlet] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] [arg: soa_b6b133e4-d440-4ab3-88cd-676aaf809e4d] [arg: /deployed-composites] Removing label soa_b6b133e4-d440-4ab3-88cd-676aaf809e4d in namespace /deployed-composites of MDS storage
[2011-05-18T23:34:32.296+05:30] [soa_server1] [NOTIFICATION] [SOA-21038] [oracle.integration.platform.blocks.deploy.servlet] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] [arg: C:\DOCUME~1\GANGAP~1\LOCALS~1\Temp\sar_base_dir_1305741868593] Removing temporary directory: C:\DOCUME~1\GANGAP~1\LOCALS~1\Temp\sar_base_dir_1305741868593.
[2011-05-18T23:34:32.296+05:30] [soa_server1] [NOTIFICATION] [SOA-21057] [oracle.integration.platform.blocks.deploy.servlet] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: weblogic] [ecid: 0000J04HvsI3r2NceHrY5p1Dozkg0000SD,0] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000848d] [arg: sca_email_practice_rev17.0.jar] [arg: 3.734] CompositeDeploymentServlet—–> completed deploying sca_email_practice_rev17.0.jar successfully. Time spent: 3.734 sec.
[2011-05-18T23:34:57.781+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: ] [ecid: 0000J04I2xe3r2NceHrY5p1Dozju0000bK,0:1] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-0000000000008727] WSMAgent is initialized for category=security, function=agent.function.service, topologyNodePath=/domain1/soa_server1/soainfra/default/email_practice/17.0/soa_06508721-cada-4f24-b675-db18c602559c/SERVICEs/email_client_ep/PORTs/email_pt/INTERCEPTORs/, isJ2EE=true
[2011-05-18T23:34:57.796+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: ’5′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: ] [ecid: 0000J04I2xe3r2NceHrY5p1Dozju0000bK,0:1] [APP: soa-infra] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-0000000000008727] WSMAgent is initialized for category=management, function=agent.function.service, topologyNodePath=/domain1/soa_server1/soainfra/default/email_practice/17.0/soa_06508721-cada-4f24-b675-db18c602559c/SERVICEs/email_client_ep/PORTs/email_pt/INTERCEPTORs/, isJ2EE=true
[2011-05-18T23:35:12.640+05:30] [soa_server1] [NOTIFICATION] [] [oracle.soa.wsif] [tid: [ACTIVE].ExecuteThread: ’2′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: ] [ecid: 0000J04I6^r3r2NceHrY5p1Dozju0000bW,0:2] [WEBSERVICE_PORT.name: email_pt] [APP: soa-infra] [composite_name: email_practice] [component_name: email] [component_instance_id: 110003] [J2EE_MODULE.name: fabric] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000878a] [WEBSERVICE.name: email_client_ep] [J2EE_APP.name: soa-infra] WSIFBinding=> [default/email_practice!17.0*soa_06508721-cada-4f24-b675-db18c602559c.NotificationService_1]:sendEmailNotification Performing outbound request/response interaction..
[2011-05-18T23:35:12.703+05:30] [soa_server1] [WARNING] [] [oracle.soa.services.notification] [tid: [ACTIVE].ExecuteThread: ’2′ for queue: ‘weblogic.kernel.Default (self-tuning)’] [userId: ] [ecid: 0000J04I6^r3r2NceHrY5p1Dozju0000bW,0:2] [WEBSERVICE_PORT.name: email_pt] [APP: soa-infra] [composite_name: email_practice] [component_name: email] [component_instance_id: 110003] [J2EE_MODULE.name: fabric] [dcid: 4f76228b09b389be:-61307f2f:13004130619:-7fff-000000000000878a] [WEBSERVICE.name: email_client_ep] [J2EE_APP.name: soa-infra] Could not send Notification 4f76228b09b389be:-61307f2f:13004130619:-7fee to gangaprasadsherla@gmail.com, since it has been marked as invalid address.
i found this error message in C:\Oracle\Middleware\user_projects\domains\domain1\servers\soa_server1\logs\soa_server1-diagnostic. Please do needful help
At the first glance, your e-mail address seems to be invalid. Though I don’t believe it should crash the server, just see if gangaprasadsherla@gmail.com is a valid ID.
“Could not send Notification 4f76228b09b389be:-61307f2f:13004130619:-7fee to gangaprasadsherla@gmail.com, since it has been marked as invalid address.”
I will try to replicate this issue at my end tomorrow.
i solved issue of crash of server. but after configuring the entire setup, it is showing above mentioned error. I tried with different alternative gmail ids, found the same error. My mail id is ganngaprasadsherla@gmail.com, its a valid one.
After restarting the server,i created a composite as mentioned in the Lucas Jellmma’s blog http://technology.amis.nl/blogacc/blog/6019/configure-soa-suite-11g-for-sending-email-notifications-with-google-mail
and deployed in soa_server1. But unable to find any mail in gmail inbox and found above mentioned error.
Thanks for responding… please mail me any updates.
Prasad
One of the potential reasons is the invalid Email driver configuration. Can you enable Debug through Email Driver configuration settings? You will be able to see interaction between e-mail driver and mail server in the console.
The message you are getting :”Could not send Notification 4f76228b09b389be:-61307f2f:13004130619:-7fee to gangaprasadsherla@gmail.com, since it has been marked as invalid address.” means that UMS has marked it as a bad address. Any attempt to send to that address will be blocked UNTIL you clear it from the “Bad Address” table.
To do that,
1. From the SOA Infrastructure Menu…Select Service Engines > Human Workflow.
2. Select the “Notification Management” tab
3. Under “Outgoing Notification” – “Search”, select the “View Bad Addresses” tab
4. The search should return your email address. If it does, highlight it and select the Remove button (X)
That will clear that message and you will be able to use that email address again.
Please know that if your configuration is still faulty, UMS will again tag the email address as “Bad” and you will need to repeat the above.
Click Notification Management.
is it work if i would to use it to connect the gmail in webcenter mail service ????
and when try to do this command (keytool -import -alias imap.gmail.com -keystore gmailcertstore.jks -file imap.cert ) the following message appear
- kyestore was tampered with or password was incorrect -
Tareq
Did you create imap.cert as per step2 in “Import Certificates” section? When you run “keytool -import …” command, you will be prompted for new password. Please retry to create imap.cert and specify correct location of imap.cert while running keytool command.
Webcenter and SOA Suite use the same Weblogic infrastructure. Hence, theoritically the mail configuration should be reusable through Webcenter, though I haven’t tried it.
Message ID SDP-25700
Message Level 1
Relationship ID 0
Component SOAAdminServer
Module oracle.sdp.messaging.driver.email
Host SUUPENDR-LAP
Host IP Address 192.168.1.33
User OracleSystemUser
Thread ID [ACTIVE].ExecuteThread: ’1′ for queue: ‘weblogic.kernel.Default (self-tuning)’
ECID 7c6f173d98c2606c:64bea140:131e05cf98b:-8000-00000000000001a1
Message An unexpected exception was caught.
Supplemental Detail javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
…
*******************************************************
Kindly help ..
I am struck in Human task in bpel..
It shows message sent failed..
Sunny
This usually happens when the trust store location is not correct. Make sure, in step (5), you specify absolute location of trust store file.
-Djavax.net.ssl.trustStore=/gmailcertstore.jks -Djavax.net.ssl.trustStorePassword=
Also, make sure you follow the instructions in “Import Certificates” section correctly.
imported cert but still i’m getting invalidAlgoruthm error using smtp.gmail.com
Failed to send out e-mail
javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
trustAnchors parameter must be non-empty suggests that keystore is invalid. It is possible that the certificates (imap.cer and smtp.cer) available for download from the blog are outdated. In case you tried to download this keystore and use it, instead of creating it from scratch, you may have encountered this issue. I just recreated gmail certification store and updated existing file on the server. Please either generate the keystore file from scratch or use the latest one available from the blog.
This keystore is tested today and works without any issue.
This article was very helpful. Got my Email Demo BPEL running at the first shot!
Thanks a lot,
Aparajeeta
Hi,
First of all i want to thank you for sharing the knowledge.
I tried email Notification by following this link: http://technology.amis.nl/blogacc/blog/6019/configure-soa-suite-11g-for-sending-email-notifications-with-google-mail
And i got the following status description in soa_infra->human workflow ->notification management tab:-
javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com; nested exception is: java.net.UnknownHostException: smtp.gmail.com
Can you please suggest me, what might be wrong… Thank’s alot
Vini, can you check if your machine (where SOA Suite is installed) can ping to this server – “smtp.gmail.com”. Also, make sure you specify proxy details in case you need to go through one to get internet access.
Hi,
What is gmailcertstore.jks password? it asking when import cert files into keystore.
thanks
juddi
This gets created when you run key tool import command. You can also find it under Downloads section.
Hi,
What all installers are needed to work on BPEL? Is there any link where i will get the details.
thanks
Irfan
Irfan, BPEL is part of Oracle SOA Suite 11g. You’ll need to install database (Oracle XE or Oracle Enterprise DB), Weblogic Server and SOA Suite 11g. Good starting point would be http://docs.oracle.com/cd/E12839_01/install.1111/e14318/qisoa.htm.
Hi,
Did all the steps. still getting the error below. Please help.
****************************************************************************
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:517
0)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: javax.net.ssl.SSLHandshakeException: sun.security.validator.Validator
Exception: PKIX path building failed: sun.security.provider.certpath.SunCertPath
BuilderException: 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:1
731)
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(Clien
tHandshaker.java:1206)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:136)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
93)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:925)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1170)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketIm
pl.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:41
2)
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(EmailDrive
r.java:780)
at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send
(EmailManagedConnection.java:50)
at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverC
onnectionImpl.java:41)
at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessag
e(DriverDispatcherBean.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJo
inpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocat
ionInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopPr
oxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy388.onMessage(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:57
4)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:477)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
379)
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:517
0)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find vali
d certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.jav
a:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustM
anagerImpl.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(Clien
tHandshaker.java:1185)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:136)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
93)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:925)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1170)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketIm
pl.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:41
2)
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(EmailDrive
r.java:780)
at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send
(EmailManagedConnection.java:50)
at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverC
onnectionImpl.java:41)
at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessag
e(DriverDispatcherBean.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJo
inpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocat
ionInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopPr
oxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy388.onMessage(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:57
4)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:477)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
379)
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:517
0)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused By: sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCert
PathBuilder.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.jav
a:217)
at sun.security.validator.Validator.validate(Validator.java:218)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustM
anagerImpl.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(Clien
tHandshaker.java:1185)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:136)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
93)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:925)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1170)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketIm
pl.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:41
2)
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(EmailDrive
r.java:780)
at oracle.sdpinternal.messaging.driver.email.EmailManagedConnection.send
(EmailManagedConnection.java:50)
at oracle.sdpinternal.messaging.driver.DriverConnectionImpl.send(DriverC
onnectionImpl.java:41)
at oracle.sdpinternal.messaging.dispatcher.DriverDispatcherBean.onMessag
e(DriverDispatcherBean.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJo
inpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocat
ionInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntrodu
ctionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMetho
dInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopPr
oxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy388.onMessage(Unknown Source)
at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:57
4)
at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDL
istener.java:477)
at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:
379)
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:517
0)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
>
< Error status received from UMS.
Status detail :
Status type : DELIVERY_TO_GATEWAY:FAILURE,
Status Content : javax.mail.MessagingException: Exception reading respo
nse;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorExc
eption: PKIX path building failed: sun.security.provider.certpath.SunCertPathBui
lderException: unable to find valid certification path to requested target,
Addressed to : EMAIL:vaibhav2410@gmail.com,
UMS Driver : Farm_base_domain/base_domain/soa_server1/usermessagingdriv
er-email:oracle_sdpmessagingdriver_email#Email-Driver,
UMS Message Id : 92d17d98c0a82b44052b793d234f6778,
Gateway message Id : smtp.gmail.com:465@97885314-0-vaibhav2410@gmail.co
m,
Status Received at : Sun Feb 19 05:04:57 IST 2012.
Check status details and fix the underlying reason, which caused error.
>
**************************************************************************
Thanks
Vaibhav
Hi,
I re-tried and now I am not getting above error.. but now i am getting some thing else.. can u please look into it and tell me how to go ahead and resolve the below error-
*********************************************************************
< Error status received from UMS.
Status detail :
Status type : DELIVERY_TO_GATEWAY:FAILURE,
Status Content : javax.mail.AuthenticationFailedException,
Addressed to : EMAIL:vaibhav2410@gmail.com,
UMS Driver : Farm_base_domain/base_domain/soa_server1/usermessagingdriv
er-email:oracle_sdpmessagingdriver_email#Email-Driver,
UMS Message Id : 951cd788c0a82b4463a190c348128955,
Gateway message Id : smtp.gmail.com:465@1534792437-3-vaibhav2410@gmail.
com,
Status Received at : Sun Feb 19 15:46:30 IST 2012.
Check status details and fix the underlying reason, which caused error.
>
********************************************************************
Thanks
Vaibhav
Vaibhav,
It still seems to be a problem with authentication – please recheck the username & password provided and the certificates being imported (especially the outgoing SMTP certificate).
Hi,
How will i go for the certifications in linux box?
Suresh,
Are you looking for the openssl tool for linux? If yes, you can check out http://www.openssl.org/source/ for details. You should be able to use the jks file created under windows in linux server as well.
Hi,
I found open ssl certificate for linux. But i need to import the same in linux box. Plz provide me the steps (commands) for linux machine like same as which you have mentioned the steps for windows.
Let me know do we need to import both OpenSSL and Visual C++ 2008 Redistributables in linux box also? If require kindly revert back with linux steps.
Regards,
Suresh
Suresh,
You only need VC++ redistributable for running of windows version of openssl. You do not need these for linux version of the openssl. If you want to use the openssl in linux itself, please consult the openssl project for tutorial/how to documents.
Since you have windows version up and running, the easiest step for you to do will be to reuse the gmailcertstore.jks that you have created. You simply need to ftp the file onto the linux box and configure the correct certification path in config files (which are the same as mentioned in the post).
Hi,
Thanks a lot for your prompt response. I have imported the jks file which i have created from windows. Its working without any issues.
I have one more issue some time i am unable to deploy the jar file due to
[02:09:54 PM] —- Deployment started. —-
[02:09:54 PM] Target platform is (Weblogic 10.3).
[02:09:54 PM] Running dependency analysis…
[02:09:54 PM] Building…
[02:10:02 PM] Deploying profile…
[02:10:02 PM] Updating revision id for the SOA Project ‘EmpTimeSheetProj.jpr’ to ’1.0′..
[02:10:02 PM] Wrote Archive Module to D:\Jdeveloper-10g\jdevhome\jdev\mywork\EmpTimeSheetApps\EmpTimeSheetProj\deploy\sca_EmpTimeSheetProj_rev1.0.jar
[02:10:02 PM] Deploying sca_EmpTimeSheetProj_rev1.0.jar to partition “default” on server soa_server1 [http://192.168.0.93:8001]
[02:10:02 PM] Processing sar=/D:/Jdeveloper-10g/jdevhome/jdev/mywork/EmpTimeSheetApps/EmpTimeSheetProj/deploy/sca_EmpTimeSheetProj_rev1.0.jar
[02:10:02 PM] Adding sar file – D:\Jdeveloper-10g\jdevhome\jdev\mywork\EmpTimeSheetApps\EmpTimeSheetProj\deploy\sca_EmpTimeSheetProj_rev1.0.jar
[02:10:02 PM] Preparing to send HTTP request for deployment
[02:10:02 PM] Creating HTTP connection to host:192.168.0.93, port:8001
[02:10:02 PM] Sending internal deployment descriptor
[02:10:02 PM] Sending archive – sca_EmpTimeSheetProj_rev1.0.jar
[02:10:20 PM] Received HTTP response from the server, response code=500
[02:10:20 PM] Error deploying archive sca_EmpTimeSheetProj_rev1.0.jar to partition “default” on server soa_server1 [http://192.168.0.93:8001]
[02:10:20 PM] HTTP error code returned [500]
[02:10:20 PM] Error message from server:
There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: Arowana_Employee_TimeSheet to service engine: implementation.bpel, for composite: EmpTimeSheetProj: ORABPEL-01005
Failed to compile bpel generated classes.
failure to compile the generated BPEL classes for BPEL process “Arowana_Employee_TimeSheet” of composite “default/EmpTimeSheetProj!1.0*soa_96c80a08-d2e1-43fa-848a-9c765f399d68″
The class path setting is incorrect.
Ensure that the class path is set correctly. If this happens on the server side, verify that the custom classes or jars which this BPEL process is depending on are deployed correctly. Also verify that the run time is using the same release/version.
.
[02:10:20 PM] Check server log for more details.
[02:10:20 PM] Error deploying archive sca_EmpTimeSheetProj_rev1.0.jar to partition “default” on server soa_server1 [http://192.168.0.93:8001]
[02:10:20 PM] #### Deployment incomplete. ####
[02:10:20 PM] Error deploying archive file:/D:/Jdeveloper-10g/jdevhome/jdev/mywork/EmpTimeSheetApps/EmpTimeSheetProj/deploy/sca_EmpTimeSheetProj_rev1.0.jar
(oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)
Please help to solve this issue. Thanks
Not only this i am unable to deploy any of the app’s due to the above error.
Note : But some times it seems okay.
Kindly help us.
Suresh,
If you have custom requirements – I would recommend you to use our support functionality (http://www.orafmwschool.com/training/#support) to get additional help. Please do not use comments section of a post to discuss unrelated issues.
Thanks,
Chethan
Hi,
I have followed the mail notification steps in windows machine it seems fine.
But we are using linux (unix)for soa servers. Let me know how to import the certificates in linux and set the keystores in setEnvDomain.sh ?
Regards,
Suresh
Hi,
Kindly help us, how will do the attachments using email activity for BPEL 11g?
Suresh,
Please take a look at http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_notif.htm#BABEDFCC for details on notification services and section 17.3.1.1 Setting Email Attachments for details on attachments
Hi,
Thanks for your help. I followed the same but i am receiving blank attachment.
It’s bit difficult to follow those steps. Could you plz provide me the sample example (if posible with screenshots).
Regards,
suresh
Suresh,
For custom requirements such as this, we recommend you to use our support functionality (http://www.orafmwschool.com/training/#support) to get additional help which would provide detailed instructions for the sample use case, sample code and config/install support.
Hi nice blog ,i have a question.. what if i have to send to different email ids like yahoo and gmail or hotmail..
thanks
sailesh
Sailesh,
Steps for doing this remain the same as what you did for google notification. You would need to import the mail provider specific IMAP, SMTP certificates, specify trust store, etc.
If you want to be able to use multiple drivers at the same time(in the post we are showing the default driver thats been deployed with SOA suite), you would have to manually deploy additional drivers and configure them. When you deploy additional drivers, make sure to fill in the SenderAddresses field in the user messaging server screen correctly – since this will be used to look up and use the appropriate driver.
This is vinod, from past couple of days to implement the interceptor concept in esb but about the concept i never heard and tried in google but not able to find the correct example
Can you help me on this issue.
Thanks in Advance
Hi Vinod,
What you are looking for is the concept of “message interceptor” – which is referring to the pattern of intercepting the web service invocations and logging / taking additional actions on it. Think of this pattern to be equivalent to Sensors in BPEL (at a very high level).
Ideal tool for implementing this would be OSB (if the requirement is for stand alone ESB service), but can also be implemented by mediator (with respect to a composite application).
Hi!
I create gmailcertstore.jks file …But it is located in D:\SOAINSTALL\Oracle\Middleware\jdk160_18\bin
password is “gmailfile”
…..Now
May Question is how set path and password in setDomainEnv.cmd
i set path and password as
-Djavax.net.ssl.trustStore=D:\SOAINSTALL\Oracle\Middleware\jdk160_18\bin/gmailcertstore.jks
-Djavax.net.ssl.trustStorePassword=gmailfile
This is correct…….Plz Help me
Your configuration should be fine (with the exception of changing \bin/gmailcertstore.jks to \bin\gmailcertstore.jks). The easiest way to test this would be to follow through rest of the steps and try to run it – to see whether it works fine or gives you any errors.
As a side note, its always a best practice to keep the certification files somewhere inside your middleware home rather than a remote directory. This is to prevent someone changing the jdk (or updating it in the future) and wiping out the trust store file!!!
Hi! Chethan
But the ADMIN mentioned in SYNTEX as:-
-Djavax.net.ssl.trustStore=/gmailcertstore.jks -Djavax.net.ssl.trustStorePassword=
But any how i try and reply it ok
Rao,
The syntax mentioned on the post is -Djavax.net.ssl.trustStore=/gmailcertstore.jks (Check point 5 of import certificates step above) where
could be any folder on your file system (like the folder you are specifying) where the cert store file is present. Please go ahead and try it out & let us know if you face any problems.
Hi! Chethan
My email driver configuration is work perfect to the gmail….
i test to my friends gmail………….
ok thxs for ur suggestion
Hello Chethan!
Is there any way to configure User Messaging Service (UMS) to use more than 1 SMTP server to send mails?
Greetings
Mike
Hi,
Read the article and i have one question. Is this mail notification can be done only for Human Task (Human Workflow) and how does it work? When we will be notified? Also need to know can the notification can be done also for webservices or any sync BPEL process?
Regards