2 Replies Latest reply: Jul 3, 2014 5:41 AM by 2706102 RSS

    Service is not available issue while integrating gmail in webcenter application 11.1.1.7.0

    2706102

      From webcenter Dev Guide, I followed steps to connect to gmail server using webcenter mail service.

       

      ************************************************************************************

      Mail service connection info:

      imap server : imap.gmail.com

      imap port : 993

      smtp server : smtp.gmail.com

      smtp port : 465

      imap secured : true

      smtp secured : true

       

      Test connection status : Success

       

      external application info:

      App Name: MyGmailApp

      Display Name : My Gmail App

      Login URL : https://mail.google.com/mail

      Username field : Username

      Password field : Password

      Authentication Method : POST

      Field Names : 'Email Address', 'Reply-To Address'. (Display to user true for both)

       

      Shared credentials & public credentials entered are gmail credentials.

       

      I have added the gmail certificate to webcenter by using the below command:

      keytool -import -alias imap_cer -file gmail.crt -keystore cacerts -storepass changeit

      ************************************************************************************

      I dropped mail service on to a page & ran the portal.

       

      The error I got was "The service is not available" , Log is given as below. what did i miss ??? Please help me out.

       

      Error Log:

      javax.mail.MessagingException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target;

        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.imap.IMAPStore.protocolConnect(IMAPStore.java:571)

        at javax.mail.Service.connect(Service.java:288)

        at javax.mail.Service.connect(Service.java:169)

        at oracle.webcenter.collab.mail.MailSession$2.call(MailSession.java:1302)

        at oracle.webcenter.collab.mail.MailSession$2.call(MailSession.java:1276)

        at oracle.webcenter.concurrent.Submission$2.run(Submission.java:484)

        at java.security.AccessController.doPrivileged(Native Method)

        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)

        at oracle.webcenter.concurrent.Submission.runAsPrivileged(Submission.java:498)

        at oracle.webcenter.concurrent.Submission.run(Submission.java:424)

        at oracle.webcenter.concurrent.Submission$SubmissionFutureTask.run(Submission.java:888)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

        at java.util.concurrent.FutureTask.run(FutureTask.java:138)

        at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:657)

        at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:682)

        at java.lang.Thread.run(Thread.java:662)

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

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

        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)

        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:753)

        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.iap.ResponseInputStream.readResponse(ResponseInputStream.java:97)

        at com.sun.mail.iap.Response.<init>(Response.java:96)

        at com.sun.mail.imap.protocol.IMAPResponse.<init>(IMAPResponse.java:61)

        at com.sun.mail.imap.protocol.IMAPResponse.readResponse(IMAPResponse.java:135)

        at com.sun.mail.imap.protocol.IMAPProtocol.readResponse(IMAPProtocol.java:261)

        at com.sun.mail.iap.Protocol.<init>(Protocol.java:114)

        at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104)

        at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:538)

        ... 16 more

      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)

        ... 34 more

      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)

        ... 40 more

      <Submission> <run> Submission[id=1, service=oracle.webcenter.collab.mail, resource=null] caught exception running task

      oracle.webcenter.collab.share.ConnectionFailedException: The service is unavailable.

        at oracle.webcenter.collab.mail.MailSession.acquireImapStore(MailSession.java:1374)

        at oracle.webcenter.collab.mail.MailSession.login(MailSession.java:462)

        at oracle.webcenter.collab.share.Session$1.call(Session.java:652)

        at oracle.webcenter.collab.share.Session$1.call(Session.java:646)

        at oracle.webcenter.concurrent.Submission$2.run(Submission.java:484)

        at java.security.AccessController.doPrivileged(Native Method)

        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)

        at oracle.webcenter.concurrent.Submission.runAsPrivileged(Submission.java:498)

        at oracle.webcenter.concurrent.Submission.run(Submission.java:424)

        at oracle.webcenter.concurrent.Submission$SubmissionFutureTask.run(Submission.java:888)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)

        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

        at java.util.concurrent.FutureTask.run(FutureTask.java:138)

        at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:657)

        at oracle.webcenter.concurrent.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:682)

        at java.lang.Thread.run(Thread.java:662)

        • 1. Re: Service is not available issue while integrating gmail in webcenter application 11.1.1.7.0
          Daniel Merchán

          Hi.

           

          It looks well configured.

           

          Check using keytool that you really have correctly imported and trust the gmail certificates. In addition, check that you are using the same JAVA_HOME as the server and using a version 1_6_45 or higher.

           

          Did you restart Admin and WebCenter Portal server after the configuration?.

           

          Regards.

          • 2. Re: Service is not available issue while integrating gmail in webcenter application 11.1.1.7.0
            2706102

            Hi Daniel,

             

            Really appreciate for your reply. I am working with integrated WLS and using the default jdk version 1.6.0_24 which comes by default with JDeveloper 11.1.1.7.0 version.

            I checked in keytool and the gmail certificate has been added.

            I upgraded my jdk version to JDK 1.7.0 and changed the same in JDeveloper to point the new JDK. But still I am getting The service is unavailable in the page and getting the below log:

             

            <AuthenticationHandler> <doCredentialCheck> null

            oracle.webcenter.collab.mail.MailException: The service is unavailable.

            at oracle.webcenter.collab.mail.MailSession.getSession(MailSession.java:282)

            at oracle.webcenter.collab.mail.view.backing.AuthenticationHandler.doCredentialCheck(AuthenticationHandler.java:280)

            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

            at java.lang.reflect.Method.invoke(Unknown Source)

            at com.sun.el.parser.AstValue.invoke(Unknown Source)

            at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

            at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:173)

            at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:162)

            at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:1068)

            at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:954)

            at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:853)

            at oracle.adfinternal.controller.engine.ControlFlowEngine.invokeTaskFlow(ControlFlowEngine.java:245)

            at oracle.adfinternal.controller.state.ChildViewPortContextImpl.invokeTaskFlow(ChildViewPortContextImpl.java:104)

            at oracle.adfinternal.controller.state.ControllerState.createChildViewPort(ControllerState.java:1519)

            at oracle.adfinternal.controller.ControllerContextImpl.createChildViewPort(ControllerContextImpl.java:88)

            at oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort.createRegionViewPortContext(TaskFlowRegionModelViewPort.java:762)

            at oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort.getViewPort(TaskFlowRegionModelViewPort.java:607)

            at oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort.doProcessBeginRegion(TaskFlowRegionModelViewPort.java:246)

            at oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort.processBeginRegion(TaskFlowRegionModelViewPort.java:157)

            at oracle.adf.controller.internal.binding.TaskFlowRegionModelLocal.processBeginRegion(TaskFlowRegionModelLocal.java:12)

            at oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange.doChangeImpl(UIXRegion.java:1295)

            at oracle.adf.view.rich.context.DoableContextChange.doChange(DoableContextChange.java:91)

            at oracle.adf.view.rich.component.fragment.UIXRegion._beginInterruptibleRegion(UIXRegion.java:763)

            at oracle.adf.view.rich.component.fragment.UIXRegion.processRegion(UIXRegion.java:565)

            at oracle.adfinternal.view.faces.taglib.region.AbstractRegionTag.doStartTag(AbstractRegionTag.java:80)

            at oracle.adfinternal.view.faces.taglib.region.RegionTag.doStartTag(RegionTag.java:89)

            at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)

            at oracle.jsp.runtime.tree.OracleJspIterationTagNode.executeHandler(OracleJspIterationTagNode.java:45)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)

            at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)

            at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)

            at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)

            at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)

            at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:262)

            at oracle.jsp.runtime.tree.OracleJspNode.execute(OracleJspNode.java:89)

            at oracle.jsp.runtimev2.ShortCutServlet._jspService(ShortCutServlet.java:89)

            at oracle.jsp.runtime.OracleJspBase.service(OracleJspBase.java:29)

            at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:665)

            at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:387)

            at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:842)

            at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:766)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524)

            at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)

            at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)

            at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)

            at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)

            at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)

            at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)

            at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)

            at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)

            at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)

            at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:469)

            at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)

            at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)

            at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)

            at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:243)

            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:979)

            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:408)

            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:237)

            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)

            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)

            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)

            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)

            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.portlet.client.adapter.adf.ADFPortletFilter.doFilter(ADFPortletFilter.java:32)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.webcenter.framework.events.dispatcher.EventDispatcherFilter.doFilter(EventDispatcherFilter.java:44)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:128)

            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

            at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)

            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)

            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)

            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)

            at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:74)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.webcenter.lifecycle.filter.LifecycleLockFilter.doFilter(LifecycleLockFilter.java:151)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:180)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)

            at java.security.AccessController.doPrivileged(Native Method)

            at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)

            at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

            at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)

            at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)

            at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)

            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)

            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)

            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)

            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)

            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)

            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)

            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

            at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

            <Submission> <run> Submission[id=2, service=oracle.webcenter.collab.mail, resource=null] caught exception running task

            javax.mail.MessagingException: Read timed out;

              nested exception is:

            java.net.SocketTimeoutException: Read timed out

            at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:571)

            at javax.mail.Service.connect(Service.java:288)

            at javax.mail.Service.connect(Service.java:169)

            at oracle.webcenter.collab.mail.MailSession$2.call(MailSession.java:1