error detail:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)

at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2038)

at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)

at sun.security.ssl.SSLSocketImpl.performInitialHandshake(
SSLSocketImpl.java:1385)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)

at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)

at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)

at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(
AbstractDelegateHttpsURLConnection.java:185)

at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(
HttpURLConnection.java:1334)

at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(
HttpURLConnection.java:1309)

at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(
HttpsURLConnectionImpl.java:259)

at sg.osp.service.notification.NotificationServiceImpl.pushToAllDevices(
NotificationServiceImpl.java:147)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:317)

at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(
ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:150)

at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(
TransactionInterceptor.java:99)

at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(
TransactionAspectSupport.java:281)

at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
JdkDynamicAopProxy.java:204)

at com.sun.proxy.$Proxy150.pushToAllDevices(Unknown Source)

at sg.osp.service.employment.CompanyServiceImpl.sendTestMessage(
CompanyServiceImpl.java:205)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(
AopUtils.java:317)

at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(
ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:150)

at 
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(
TransactionInterceptor.java:99)

at 
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(
TransactionAspectSupport.java:281)

at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(
TransactionInterceptor.java:96)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(
JdkDynamicAopProxy.java:204)

at com.sun.proxy.$Proxy152.sendTestMessage(Unknown Source)

at sg.osp.controller.CompanyController.testNotification(
CompanyController.java:3441)

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

at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(
InvocableHandlerMethod.java:222)

at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(
InvocableHandlerMethod.java:137)

at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(
ServletInvocableHandlerMethod.java:110)

at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(
RequestMappingHandlerAdapter.java:775)

at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(
RequestMappingHandlerAdapter.java:705)

at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(
AbstractHandlerMethodAdapter.java:85)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(
DispatcherServlet.java:959)

at org.springframework.web.servlet.DispatcherServlet.doService(
DispatcherServlet.java:893)

at org.springframework.web.servlet.FrameworkServlet.processRequest(
FrameworkServlet.java:965)

at org.springframework.web.servlet.FrameworkServlet.doPost(
FrameworkServlet.java:867)

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

at org.springframework.web.servlet.FrameworkServlet.service(
FrameworkServlet.java:841)

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

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:231)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:166)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:166)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:330)

at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(
FilterSecurityInterceptor.java:118)

at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(
FilterSecurityInterceptor.java:84)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(
ExceptionTranslationFilter.java:113)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.session.SessionManagementFilter.doFilter(
SessionManagementFilter.java:103)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(
AnonymousAuthenticationFilter.java:113)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(
SecurityContextHolderAwareRequestFilter.java:154)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(
RequestCacheAwareFilter.java:45)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(
AbstractAuthenticationProcessingFilter.java:199)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(
LogoutFilter.java:110)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(
CsrfFilter.java:105)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(
OncePerRequestFilter.java:107)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(
SecurityContextPersistenceFilter.java:87)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at 
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(
WebAsyncManagerIntegrationFilter.java:50)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(
OncePerRequestFilter.java:107)

at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(
FilterChainProxy.java:342)

at org.springframework.security.web.FilterChainProxy.doFilterInternal(
FilterChainProxy.java:192)

at org.springframework.security.web.FilterChainProxy.doFilter(
FilterChainProxy.java:160)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(
DelegatingFilterProxy.java:344)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(
DelegatingFilterProxy.java:261)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:193)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:166)

at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:199)

at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:96)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
AuthenticatorBase.java:490)

at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:139)

at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:92)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(
AbstractAccessLogValve.java:668)

at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:74)

at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:343)

at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408
)

at org.apache.coyote.AbstractProcessorLight.process(
AbstractProcessorLight.java:66)

at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(
AbstractProtocol.java:770)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(
NioEndpoint.java:1415)

at org.apache.tomcat.util.net.SocketProcessorBase.run(
SocketProcessorBase.java:49)

at java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:624)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(
TaskThread.java:61)

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

On Friday, November 15, 2019 at 10:27:39 AM UTC+8, James Wang wrote:
>
> If you are experiencing an issue please mention the full platform your 
> issue applies to:
> IDE: Eclipse
> Desktop OS: linux
>
> We have a web project which is always working fine, it just using codename 
> one push api to push notification to our devices, but it suddenly get the 
> following error: "javax.net.ssl.SSLHandshakeException: Received fatal 
> alert: handshake_failure", no mattter at local, UAT or Prod server.
>
>
> Below is the core code (same with codenamoe one demo), I just create a 
> function to call it.
>
>
> HttpURLConnection connection = (HttpURLConnection)new 
> URL("https://push.codenameone.com/push/push";).openConnection();
> connection.setDoOutput(true);
> connection.setRequestMethod("POST");
> connection.setRequestProperty("Content-Type", 
> "application/x-www-form-urlencoded;charset=UTF-8");String cert = 
> ITUNES_DEVELOPMENT_PUSH_CERT;String pass = 
> ITUNES_DEVELOPMENT_PUSH_CERT_PASSWORD;if(ITUNES_PRODUCTION_PUSH) {
>     cert = ITUNES_PRODUCTION_PUSH_CERT;
>     pass = ITUNES_PRODUCTION_PUSH_CERT_PASSWORD;}String query = "token="  + 
> PUSH_TOKEN +
>     "&device=" + URLEncoder.encode(deviceId1, "UTF-8") +
>     "&device=" + URLEncoder.encode(deviceId2, "UTF-8") +
>     "&device=" + URLEncoder.encode(deviceId3, "UTF-8") +
>     "&type=1" +
>     "&auth=" + URLEncoder.encode(FCM_SERVER_API_KEY, "UTF-8") +
>     "&certPassword=" + URLEncoder.encode(pass, "UTF-8") +
>     "&cert=" + URLEncoder.encode(cert, "UTF-8") +
>     "&body=" + URLEncoder.encode(MESSAGE_BODY, "UTF-8") +
>     "&production=" + ITUNES_PRODUCTION_PUSH +
>     "&sid=" + URLEncoder.encode(WNS_SID, "UTF-8") +
>     "&client_secret=" + URLEncoder.encode(WNS_CLIENT_SECRET, "UTF-8");try 
> (OutputStream output = connection.getOutputStream()) {
>     output.write(query.getBytes("UTF-8"));}int c = 
> connection.getResponseCode();// read response JSON
>
> I directly run the code in unit test(localhost), it works well.
>
> But when I call the function from project (such as a button from webpage), 
> the error happened.
>
>
> The error happened when run "OutputStream output = connection.
> getOutputStream()", I never change any code about it, the error suddenly 
> happened from yesterday.
>
>
> I tried several way to solve it but still can not work, please give me 
> some suggestion to fix the issue. Thank you!
>

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/codenameone-discussions/906ae289-579b-47d7-8ab2-121bf120ed48%40googlegroups.com.

Reply via email to