Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Losing connection to a webservice via https "No X509TrustManager implementation available"

Ask Question
  • A web is running in a cluster of 3 identical servers
  • All servers contain "Application A" which is a JSR-168 portlet.
  • "Application A" uses a web service that runs on
  • "Application B" also uses a web service on
  • All 3 server have the SSL cert from webservices.domain.com in the keystore.
  • When I boot the server. Application A & B work fine on all servers. After a while (no specific timing tho) Application A goes nuts one one server, not always the same server, and stops working.

    Server #1 Application A loses connection to the webservice saying that "No X509TrustManager implementation available" (see dump below) but Application B, talking to the same server keeps on rocking.

    Server #2 Application A & B work perfectly.

    Server #3 Application A & B work perfectly.

    After I restart Server #1 everything returns to normal until Application A (or B) looses connection again.

    Anyone know a solution?

    13.10.2009 17:21:45 org.apache.cxf.transport.https.SSLUtils getCiphersuites
    INFO: The cipher suites have not been configured, falling back to cipher suite filters.
    13.10.2009 17:21:45 org.apache.cxf.transport.https.SSLUtils getCiphersuites
    INFO: The cipher suite filters have not been configured, falling back to default filters.
    13.10.2009 17:21:45 org.apache.cxf.transport.https.SSLUtils getCiphersFromList
    INFO: The cipher suites have been set to SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_KRB5_WITH_RC4_128_SHA, TLS_KRB5_WITH_RC4_128_MD5, TLS_KRB5_WITH_3DES_EDE_CBC_SHA, TLS_KRB5_WITH_3DES_EDE_CBC_MD5, TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5, TLS_KRB5_EXPORT_WITH_RC4_40_SHA, TLS_KRB5_EXPORT_WITH_RC4_40_MD5, TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  
    13.10.2009 17:21:46 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
    INFO: Interceptor has thrown exception, unwinding now
    org.apache.cxf.interceptor.Fault: Could not send Message.
     at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:466)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251)
     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
     at $Proxy406.getRobbaPlanFree(Unknown Source)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.services.GSMRobbiServiceManager.getRobbaPlanFree(GSMRobbiServiceManager.java:153)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.controller.radgjafiController.populatePreferences(radgjafiController.java:179)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.controller.radgjafiController.view(radgjafiController.java:76)
     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:585)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:271)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:259)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleRender(AnnotationMethodHandlerAdapter.java:218)
     at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:811)
     at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:483)
     at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:453)
     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletMethodCommand.render(PortletMethodCommand.java:15)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletContentCommand.render(PortletContentCommand.java:19)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletCacheCommand.render(PortletCacheCommand.java:35)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletSecurityCommand.render(PortletSecurityCommand.java:27)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.render(BaseCommandUnit.java:31)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.execute(ExecutionContext.java:20)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletCommandChain.doRender(PortletCommandChain.java:29)
     at org.exoplatform.services.portletcontainer.impl.PortletApplicationHandler.process(PortletApplicationHandler.java:234)
     at org.exoplatform.services.portletcontainer.impl.servlet.ServletWrapper.service(ServletWrapper.java:91)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
     at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
     at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.dispatch(PortletContainerDispatcher.java:390)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.process(PortletContainerDispatcher.java:329)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.render(PortletContainerDispatcher.java:276)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerServiceImpl.render(PortletContainerServiceImpl.java:122)
     at vyre.publishing.portal.Portal.renderPortlet(Portal.java:413)
     at vyre.publishing.PortletInstance.render(PortletInstance.java:221)
     at org.apache.jsp.WEB_002dINF.generated_005ffiles.pub_005fmodule.page.page17138_jsp._jspService(page17138_jsp.java:300)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
     at vyre.delivery.MainFilter.doFilter(MainFilter.java:338)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at vyre.content.search.permissions.ViewPermissionFilter.doFilter(ViewPermissionFilter.java:27)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
     at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
     at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
     at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
     at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
     at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
     at java.lang.Thread.run(Thread.java:595)
    Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No X509TrustManager implementation available
     at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
     at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)
     at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:847)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
     at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
     at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
     at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:402)
     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
     at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:836)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1836)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1794)
     at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
     at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1854)
     at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
     at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:595)
     at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
     ... 89 more
    Caused by: java.security.cert.CertificateException: No X509TrustManager implementation available
     at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:322)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:840)
     ... 107 more
    ERROR [TP-Processor15]: Got unknown error - is.somestuff.companyx.ut.radgjafar.radgjafi.controller.radgjafiController - 2009-10-13 17:21:46,355 
    javax.xml.ws.soap.SOAPFaultException: Could not send Message.
     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
     at $Proxy406.getRobbaPlanFree(Unknown Source)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.services.GSMRobbiServiceManager.getRobbaPlanFree(GSMRobbiServiceManager.java:153)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.controller.radgjafiController.populatePreferences(radgjafiController.java:179)
     at is.somestuff.companyx.ut.radgjafar.radgjafi.controller.radgjafiController.view(radgjafiController.java:76)
     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:585)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:421)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:136)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:271)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:259)
     at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleRender(AnnotationMethodHandlerAdapter.java:218)
     at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:811)
     at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:483)
     at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:453)
     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletMethodCommand.render(PortletMethodCommand.java:15)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletContentCommand.render(PortletContentCommand.java:19)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletCacheCommand.render(PortletCacheCommand.java:35)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletSecurityCommand.render(PortletSecurityCommand.java:27)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.executeNextUnit(ExecutionContext.java:26)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.render(BaseCommandUnit.java:31)
     at org.exoplatform.services.portletcontainer.impl.aop.BaseCommandUnit.execute(BaseCommandUnit.java:24)
     at org.exoplatform.container.component.ExecutionContext.execute(ExecutionContext.java:20)
     at org.exoplatform.services.portletcontainer.impl.aop.PortletCommandChain.doRender(PortletCommandChain.java:29)
     at org.exoplatform.services.portletcontainer.impl.PortletApplicationHandler.process(PortletApplicationHandler.java:234)
     at org.exoplatform.services.portletcontainer.impl.servlet.ServletWrapper.service(ServletWrapper.java:91)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
     at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
     at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:497)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.dispatch(PortletContainerDispatcher.java:390)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.process(PortletContainerDispatcher.java:329)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerDispatcher.render(PortletContainerDispatcher.java:276)
     at org.exoplatform.services.portletcontainer.impl.PortletContainerServiceImpl.render(PortletContainerServiceImpl.java:122)
     at vyre.publishing.portal.Portal.renderPortlet(Portal.java:413)
     at vyre.publishing.PortletInstance.render(PortletInstance.java:221)
     at org.apache.jsp.WEB_002dINF.generated_005ffiles.pub_005fmodule.page.page17138_jsp._jspService(page17138_jsp.java:300)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)
     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
     at vyre.delivery.MainFilter.doFilter(MainFilter.java:338)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at vyre.content.search.permissions.ViewPermissionFilter.doFilter(ViewPermissionFilter.java:27)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
     at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
     at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
     at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
     at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
     at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
     at java.lang.Thread.run(Thread.java:595)
    Caused by: org.apache.cxf.interceptor.Fault: Could not send Message.
     at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:466)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251)
     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
     ... 83 more
    Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No X509TrustManager implementation available
     at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
     at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:174)
     at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:168)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:847)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:106)
     at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
     at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1038)
     at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:402)
     at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:170)
     at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:836)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1836)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1794)
     at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)
     at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1854)
     at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
     at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:595)
     at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
     ... 89 more
    Caused by: java.security.cert.CertificateException: No X509TrustManager implementation available
     at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:322)
     at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:840)
     ... 107 more
    

    Hmm, you can try (somewhere in your initaliziation code, before the services are called):

    SSLContext context = SSLContext.getInstance("SSL"); context.init(null, new TrustManager[] {new EasyX509TrustManager(null)}, null);

    You can get the Code for EasyX509TrustManager here Or you can provide your own implementation.

    After lot of debugging and trying every solution available on net we finally found the root cause.

    We were setting the incorrect password for javax.net.ssl.trustStorePassword and javax.net.ssl.keyStorePassword properties.

    Once you set the correct password this exception will never reappear :) . You can verify the existing settings by simply adding System.getProperties() or System.getProperty(propertyName) statement.

    saying that "No X509TrustManager implementation available" (see dump below) but Application B, talking to the same server keeps on rocking.

    Dropped connections are just a fact of life. Probably App B does a better job at catching and retrying routine errors.

    There may be a deeper problem, but it would be good to fix A so an SSL handshake failure doesn't bring down the entire service.

    Downvoted, because the error clearly has nothing to do with dropped connections and a SSL handshake failure. – Benjamin Marwell Aug 12, 2017 at 9:30

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.