[ 
https://issues.apache.org/jira/browse/FINERACT-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17155987#comment-17155987
 ] 

Michael Vorburger commented on FINERACT-1088:
---------------------------------------------

I've done a quick analysis of this... so, looking at 
https://github.com/apache/fineract/blob/develop/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignDropdownReadPlatformServiceImpl.java,
 I suspect that the client actually did receive a 
{{PlatformDataIntegrityException}} (because 
{{!responseOne.getStatusCode().equals(HttpStatus.OK)}}. Note that this error 
log isn't actually coming from Fineract itself, but from Spring Framework's 
RestTemplate.

My PoV would be that, in a perfect world, this shouldn't (does have to be) 
logged as an error, because the client is already appropriately informed 
through a REST API response. E.g. 
https://stackoverflow.com/questions/7952154/spring-resttemplate-how-to-enable-full-debugging-logging-of-requests-responses
 seems to show that using {{restTemplate.setErrorHandler()}} it may be possible 
to make it stop doing that.

Thus classifying this with Priority: Minor... this is "just an error log", 
which in an ideal world we would hide - but many of the other issues linked 
from FINERACT-932 are much more important than sorting this out. I still wanted 
to have an open issue about it just to record it.

> ResourceAccessException at SmsCampaignDropdownReadPlatformServiceImpl
> ---------------------------------------------------------------------
>
>                 Key: FINERACT-1088
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1088
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Michael Vorburger
>            Priority: Minor
>
> See FINERACT-932 for general background; I've found this in logs of 
> https://www.fineract.dev:
> {noformat}org.springframework.web.client.ResourceAccessException: I/O error 
> on GET request for "http://localhost:9191/smsbridges": Connection refused 
> (Connection refused); nested exception is java.net.ConnectException: 
> Connection refused (Connection refused)
>         at org.springframework.web.client.RestTemplate.doExecute 
> (RestTemplate.java:748)
>         at org.springframework.web.client.RestTemplate.execute 
> (RestTemplate.java:714)
>         at org.springframework.web.client.RestTemplate.exchange 
> (RestTemplate.java:632)
>         at 
> org.apache.fineract.infrastructure.campaigns.sms.service.SmsCampaignDropdownReadPlatformServiceImpl.retrieveSmsProviders
>  (SmsCampaignDropdownReadPlatformServiceImpl.java:80)
>         at 
> org.apache.fineract.infrastructure.campaigns.sms.service.SmsCampaignReadPlatformServiceImpl.retrieveTemplate
>  (SmsCampaignReadPlatformServiceImpl.java:111)
>         at 
> org.apache.fineract.infrastructure.campaigns.sms.api.SmsCampaignApiResource.template
>  (SmsCampaignApiResource.java:107)
>         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native 
> Method)
>         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke (Method.java:566)
>         at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke 
> (JavaMethodInvokerFactory.java:60)
>         at 
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch
>  (AbstractResourceMethodDispatchProvider.java:185)
>         at 
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch
>  (ResourceJavaMethodDispatcher.java:75)
>         at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept 
> (HttpMethodRule.java:302)
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept 
> (RightHandPathRule.java:147)
>         at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept 
> (ResourceClassRule.java:108)
>         at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept 
> (RightHandPathRule.java:147)
>         at 
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept 
> (RootResourceClassesRule.java:84)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest 
> (WebApplicationImpl.java:1542)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest 
> (WebApplicationImpl.java:1473)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest 
> (WebApplicationImpl.java:1419)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest 
> (WebApplicationImpl.java:1409)
>         at com.sun.jersey.spi.container.servlet.WebComponent.service 
> (WebComponent.java:409)
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service 
> (ServletContainer.java:558)
>         at com.sun.jersey.spi.container.servlet.ServletContainer.service 
> (ServletContainer.java:733)
>         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.access.intercept.FilterSecurityInterceptor.invoke
>  (FilterSecurityInterceptor.java:115)
>         at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
>  (FilterSecurityInterceptor.java:90)
>         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:320)
>         at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
>  (FilterSecurityInterceptor.java:115)
>         at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
>  (FilterSecurityInterceptor.java:90)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter 
> (ExceptionTranslationFilter.java:118)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
>  (AnonymousAuthenticationFilter.java:111)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
>  (SecurityContextHolderAwareRequestFilter.java:158)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
>  (InsecureTwoFactorAuthenticationFilter.java:75)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:113)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:113)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:113)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
>  (SecurityContextPersistenceFilter.java:82)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
>  (ChannelProcessingFilter.java:157)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at org.springframework.security.web.FilterChainProxy.doFilterInternal 
> (FilterChainProxy.java:215)
>         at org.springframework.security.web.FilterChainProxy.doFilter 
> (FilterChainProxy.java:186)
>         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:320)
>         at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
>  (FilterSecurityInterceptor.java:126)
>         at 
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
>  (FilterSecurityInterceptor.java:90)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter 
> (ExceptionTranslationFilter.java:118)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
>  (AnonymousAuthenticationFilter.java:111)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
>  (SecurityContextHolderAwareRequestFilter.java:158)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
>  (InsecureTwoFactorAuthenticationFilter.java:75)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter 
> (HeaderWriterFilter.java:92)
>         at 
> org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal 
> (HeaderWriterFilter.java:77)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal
>  (WebAsyncManagerIntegrationFilter.java:56)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal
>  (BasicAuthenticationFilter.java:204)
>         at 
> org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal
>  (TenantAwareBasicAuthenticationFilter.java:144)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
>  (SecurityContextPersistenceFilter.java:105)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at 
> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
>  (ChannelProcessingFilter.java:157)
>         at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter 
> (FilterChainProxy.java:334)
>         at org.springframework.security.web.FilterChainProxy.doFilterInternal 
> (FilterChainProxy.java:215)
>         at org.springframework.security.web.FilterChainProxy.doFilter 
> (FilterChainProxy.java:178)
>         at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate 
> (DelegatingFilterProxy.java:358)
>         at org.springframework.web.filter.DelegatingFilterProxy.doFilter 
> (DelegatingFilterProxy.java:271)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
> (ApplicationFilterChain.java:193)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter 
> (ApplicationFilterChain.java:166)
>         at 
> org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal
>  (WebMvcMetricsFilter.java:93)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
> (ApplicationFilterChain.java:193)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter 
> (ApplicationFilterChain.java:166)
>         at 
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal 
> (CharacterEncodingFilter.java:201)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
> (ApplicationFilterChain.java:193)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter 
> (ApplicationFilterChain.java:166)
>         at 
> org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal 
> (ForwardedHeaderFilter.java:158)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter 
> (OncePerRequestFilter.java:119)
>         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:202)
>         at org.apache.catalina.core.StandardContextValve.invoke 
> (StandardContextValve.java:96)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke 
> (AuthenticatorBase.java:541)
>         at org.apache.catalina.core.StandardHostValve.invoke 
> (StandardHostValve.java:139)
>         at org.apache.catalina.valves.ErrorReportValve.invoke 
> (ErrorReportValve.java:92)
>         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:373)
>         at org.apache.coyote.AbstractProcessorLight.process 
> (AbstractProcessorLight.java:65)
>         at org.apache.coyote.AbstractProtocol$ConnectionHandler.process 
> (AbstractProtocol.java:868)
>         at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun 
> (NioEndpoint.java:1590)
>         at org.apache.tomcat.util.net.SocketProcessorBase.run 
> (SocketProcessorBase.java:49)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker 
> (ThreadPoolExecutor.java:1128)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:628)
>         at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run 
> (TaskThread.java:61)
>         at java.lang.Thread.run (Thread.java:834)
> Caused by: java.net.ConnectException: Connection refused (Connection refused)
>         at java.net.PlainSocketImpl.socketConnect (Native Method)
>         at java.net.AbstractPlainSocketImpl.doConnect 
> (AbstractPlainSocketImpl.java:399)
>         at java.net.AbstractPlainSocketImpl.connectToAddress 
> (AbstractPlainSocketImpl.java:242)
>         at java.net.AbstractPlainSocketImpl.connect 
> (AbstractPlainSocketImpl.java:224)
>         at java.net.Socket.connect (Socket.java:609)
>         at java.net.Socket.connect (Socket.java:558)
>         at sun.net.NetworkClient.doConnect (NetworkClient.java:182)
>         at sun.net.www.http.HttpClient.openServer (HttpClient.java:474)
>         at sun.net.www.http.HttpClient.openServer (HttpClient.java:569)
>         at sun.net.www.http.HttpClient.<init> (HttpClient.java:242)
>         at sun.net.www.http.HttpClient.New (HttpClient.java:341)
>         at sun.net.www.http.HttpClient.New (HttpClient.java:362)
>         at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient 
> (HttpURLConnection.java:1248)
>         at sun.net.www.protocol.http.HttpURLConnection.plainConnect0 
> (HttpURLConnection.java:1187)
>         at sun.net.www.protocol.http.HttpURLConnection.plainConnect 
> (HttpURLConnection.java:1081)
>         at sun.net.www.protocol.http.HttpURLConnection.connect 
> (HttpURLConnection.java:1015)
>         at 
> org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal
>  (SimpleBufferingClientHttpRequest.java:76)
>         at 
> org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal
>  (AbstractBufferingClientHttpRequest.java:48)
>         at org.springframework.http.client.AbstractClientHttpRequest.execute 
> (AbstractClientHttpRequest.java:53)
>         at org.springframework.web.client.RestTemplate.doExecute 
> (RestTemplate.java:739){noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to