Hi Zubair, Its a HTTP Gateway , it works if we call following API directly in the browser:
http://api.sparrowsms.com/v2/sms/?token=###&from=###&to=###&text=test Following is the screenshot of Gateway configuration : [image: Inline image 2] Regards, On Sun, Oct 22, 2017 at 4:10 AM, Zubair Asghar Raja <[email protected]> wrote: > Hi Sourabh, > Which type of sms gateway have you configured? > > BR // > Zubair > > > > > > > > > On Sat, Oct 21, 2017 at 6:15 PM, Sourabh Bhardwaj <[email protected]> > wrote: > >> Hi All, >> >> I have setup a Sms Gateway. Gateway is configured successfully. But while >> sending a message through default send sms/ Sms widget available in >> Tracker Capture module it is getting failed each-time. >> >> However If I use same gateway on 2.26 , it is working fine there. >> >> Following is the response returned : >> >> >> *{"summaries":[{"total":1,"failed":1,"pending":0,"sent":0,"status":"FAILED","errorMessage":"failed","batchType":"SMS"}]} >> * >> >> On log getting error 403 forbidden : >> >> >> * INFO 2017-10-21 21:24:34,247 Response status code: 403 >> (SmsGateway.java [http-nio-8080-exec-7]) >> * ERROR 2017-10-21 21:24:34,249 failed (SmsMessageSender.java >> [http-nio-8080-exec-7]) >> * INFO 2017-10-21 21:28:51,252 Invoking message sender: SmsMessageSender >> (DefaultOutboundMessageBatchService.java [http-nio-8080-exec-4]) >> * ERROR 2017-10-21 21:28:51,665 Client error (SmsGateway.java >> [http-nio-8080-exec-4]) >> org.springframework.web.client.HttpClientErrorException: 403 FORBIDDEN >> at org.springframework.web.client.DefaultResponseErrorHandler.h >> andleError(DefaultResponseErrorHandler.java:63) >> at org.springframework.web.client.RestTemplate.handleResponse(R >> estTemplate.java:700) >> at org.springframework.web.client.RestTemplate.doExecute(RestTe >> mplate.java:653) >> at org.springframework.web.client.RestTemplate.execute(RestTemp >> late.java:613) >> at org.springframework.web.client.RestTemplate.exchange(RestTem >> plate.java:531) >> at org.hisp.dhis.sms.config.SmsGateway.send(SmsGateway.java:89) >> at org.hisp.dhis.sms.config.SimplisticHttpGetGateWay.send(Simpl >> isticHttpGetGateWay.java:107) >> at org.hisp.dhis.sms.config.SimplisticHttpGetGateWay.lambda$sen >> dBatch$0(SimplisticHttpGetGateWay.java:84) >> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipel >> ine.java:193) >> at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Ar >> rayList.java:1374) >> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline. >> java:481) >> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPi >> peline.java:471) >> at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Reduc >> eOps.java:708) >> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline. >> java:234) >> at java.util.stream.ReferencePipeline.collect(ReferencePipeline >> .java:499) >> at org.hisp.dhis.sms.config.SimplisticHttpGetGateWay.sendBatch( >> SimplisticHttpGetGateWay.java:85) >> at org.hisp.dhis.sms.config.SmsMessageSender.sendMessageBatch(S >> msMessageSender.java:153) >> at org.hisp.dhis.outboundmessage.DefaultOutboundMessageBatchSer >> vice.send(DefaultOutboundMessageBatchService.java:116) >> at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipel >> ine.java:193) >> at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Ar >> rayList.java:1374) >> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline. >> java:481) >> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPi >> peline.java:471) >> at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(For >> EachOps.java:151) >> at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequenti >> al(ForEachOps.java:174) >> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline. >> java:234) >> at java.util.stream.ReferencePipeline.forEach(ReferencePipeline >> .java:418) >> at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipel >> ine.java:270) >> at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap. >> java:1683) >> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline. >> java:481) >> at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPi >> peline.java:471) >> at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Reduc >> eOps.java:708) >> at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline. >> java:234) >> at java.util.stream.ReferencePipeline.collect(ReferencePipeline >> .java:499) >> at org.hisp.dhis.outboundmessage.DefaultOutboundMessageBatchSer >> vice.sendBatches(DefaultOutboundMessageBatchService.java:79) >> at org.hisp.dhis.program.message.DefaultProgramMessageService.s >> endMessages(DefaultProgramMessageService.java:209) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >> ssorImpl.java:62) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >> thodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:497) >> at org.springframework.aop.support.AopUtils.invokeJoinpointUsin >> gReflection(AopUtils.java:333) >> at org.springframework.aop.framework.ReflectiveMethodInvocation >> .invokeJoinpoint(ReflectiveMethodInvocation.java:190) >> at org.springframework.aop.framework.ReflectiveMethodInvocation >> .proceed(ReflectiveMethodInvocation.java:157) >> at org.springframework.transaction.interceptor.TransactionInter >> ceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) >> at org.springframework.transaction.interceptor.TransactionAspec >> tSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) >> at org.springframework.transaction.interceptor.TransactionInter >> ceptor.invoke(TransactionInterceptor.java:96) >> at org.springframework.aop.framework.ReflectiveMethodInvocation >> .proceed(ReflectiveMethodInvocation.java:179) >> at org.springframework.aop.framework.JdkDynamicAopProxy.invoke( >> JdkDynamicAopProxy.java:213) >> at com.sun.proxy.$Proxy101.sendMessages(Unknown Source) >> at org.hisp.dhis.webapi.controller.event.ProgramMessageControll >> er.saveMessages(ProgramMessageController.java:122) >> at org.hisp.dhis.webapi.controller.event.ProgramMessageControll >> er$$FastClassBySpringCGLIB$$8aca4477.invoke(<generated>) >> at org.springframework.cglib.proxy.MethodProxy.invoke(MethodPro >> xy.java:204) >> at org.springframework.aop.framework.CglibAopProxy$CglibMethodI >> nvocation.invokeJoinpoint(CglibAopProxy.java:738) >> at org.springframework.aop.framework.ReflectiveMethodInvocation >> .proceed(ReflectiveMethodInvocation.java:157) >> at org.springframework.security.access.intercept.aopalliance.Me >> thodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) >> at org.springframework.aop.framework.ReflectiveMethodInvocation >> .proceed(ReflectiveMethodInvocation.java:179) >> at org.springframework.aop.framework.CglibAopProxy$DynamicAdvis >> edInterceptor.intercept(CglibAopProxy.java:673) >> at org.hisp.dhis.webapi.controller.event.ProgramMessageControll >> er$$EnhancerBySpringCGLIB$$bf6e0777.saveMessages(<generated>) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce >> ssorImpl.java:62) >> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe >> thodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:497) >> at org.springframework.web.method.support.InvocableHandlerMetho >> d.doInvoke(InvocableHandlerMethod.java:205) >> at org.springframework.web.method.support.InvocableHandlerMetho >> d.invokeForRequest(InvocableHandlerMethod.java:133) >> at org.springframework.web.servlet.mvc.method.annotation.Servle >> tInvocableHandlerMethod.invokeAndHandle(ServletInvocableHand >> lerMethod.java:97) >> at org.springframework.web.servlet.mvc.method.annotation.Reques >> tMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHan >> dlerAdapter.java:827) >> at org.springframework.web.servlet.mvc.method.annotation.Reques >> tMappingHandlerAdapter.handleInternal(RequestMappingHandlerA >> dapter.java:738) >> at org.springframework.web.servlet.mvc.method.AbstractHandlerMe >> thodAdapter.handle(AbstractHandlerMethodAdapter.java:85) >> at org.springframework.web.servlet.DispatcherServlet.doDispatch >> (DispatcherServlet.java:967) >> at org.springframework.web.servlet.DispatcherServlet.doService( >> DispatcherServlet.java:901) >> at org.springframework.web.servlet.FrameworkServlet.processRequ >> est(FrameworkServlet.java:970) >> at org.springframework.web.servlet.FrameworkServlet.doPost(Fram >> eworkServlet.java:872) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) >> at org.springframework.web.servlet.FrameworkServlet.service(Fra >> meworkServlet.java:846) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:231) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilte >> r.java:52) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:317) >> at org.springframework.security.web.access.intercept.FilterSecu >> rityInterceptor.invoke(FilterSecurityInterceptor.java:127) >> at org.springframework.security.web.access.intercept.FilterSecu >> rityInterceptor.doFilter(FilterSecurityInterceptor.java:91) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.access.ExceptionTranslation >> Filter.doFilter(ExceptionTranslationFilter.java:114) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.session.SessionManagementFi >> lter.doFilter(SessionManagementFilter.java:137) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.authentication.AnonymousAut >> henticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.servletapi.SecurityContextH >> olderAwareRequestFilter.doFilter(SecurityContextHolderAwareR >> equestFilter.java:170) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.savedrequest.RequestCacheAw >> areFilter.doFilter(RequestCacheAwareFilter.java:63) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.authentication.www.BasicAut >> henticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter >> .java:126) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.authentication.AbstractAuth >> enticationProcessingFilter.doFilter(AbstractAuthenticationPr >> ocessingFilter.java:200) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.authentication.AbstractAuth >> enticationProcessingFilter.doFilter(AbstractAuthenticationPr >> ocessingFilter.java:200) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.hisp.dhis.security.filter.CustomAuthenticationFilter.doF >> ilter(CustomAuthenticationFilter.java:64) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.oauth2.provider.authentication. >> OAuth2AuthenticationProcessingFilter.doFilter(OAuth2Authenti >> cationProcessingFilter.java:176) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.authentication.logout.Logou >> tFilter.doFilter(LogoutFilter.java:116) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter >> (AutomaticAccessFilter.java:115) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.header.HeaderWriterFilter.d >> oFilterInternal(HeaderWriterFilter.java:64) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.context.request.async.WebAs >> yncManagerIntegrationFilter.doFilterInternal(WebAsyncManager >> IntegrationFilter.java:56) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.context.SecurityContextPers >> istenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) >> at org.springframework.security.web.FilterChainProxy$VirtualFil >> terChain.doFilter(FilterChainProxy.java:331) >> at org.springframework.security.web.FilterChainProxy.doFilterIn >> ternal(FilterChainProxy.java:214) >> at org.springframework.security.web.FilterChainProxy.doFilter(F >> ilterChainProxy.java:177) >> at org.springframework.web.filter.DelegatingFilterProxy.invokeD >> elegate(DelegatingFilterProxy.java:346) >> at org.springframework.web.filter.DelegatingFilterProxy.doFilte >> r(DelegatingFilterProxy.java:262) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.hisp.dhis.servlet.filter.HttpUrlPatternFilter.doFilter(H >> ttpUrlPatternFilter.java:120) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.springframework.web.filter.ShallowEtagHeaderFilter.doFil >> terInternal(ShallowEtagHeaderFilter.java:110) >> at org.hisp.dhis.servlet.filter.ExcludableShallowEtagHeaderFilt >> er.doFilterInternal(ExcludableShallowEtagHeaderFilter.java:112) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.springframework.orm.hibernate5.support.OpenSessionInView >> Filter.doFilterInternal(OpenSessionInViewFilter.java:151) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.springframework.web.filter.CharacterEncodingFilter.doFil >> terInternal(CharacterEncodingFilter.java:197) >> at org.springframework.web.filter.OncePerRequestFilter.doFilter >> (OncePerRequestFilter.java:107) >> at org.apache.catalina.core.ApplicationFilterChain.internalDoFi >> lter(ApplicationFilterChain.java:193) >> at org.apache.catalina.core.ApplicationFilterChain.doFilter(App >> licationFilterChain.java:166) >> at org.apache.catalina.core.StandardWrapperValve.invoke(Standar >> dWrapperValve.java:198) >> at org.apache.catalina.core.StandardContextValve.invoke(Standar >> dContextValve.java:96) >> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A >> uthenticatorBase.java:478) >> at org.apache.catalina.core.StandardHostValve.invoke(StandardHo >> stValve.java:140) >> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo >> rtValve.java:80) >> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abs >> tractAccessLogValve.java:624) >> at org.apache.catalina.core.StandardEngineValve.invoke(Standard >> EngineValve.java:87) >> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd >> apter.java:342) >> at org.apache.coyote.http11.Http11Processor.service(Http11Proce >> ssor.java:799) >> at org.apache.coyote.AbstractProcessorLight.process(AbstractPro >> cessorLight.java:66) >> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process >> (AbstractProtocol.java:861) >> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun >> (NioEndpoint.java:1455) >> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketPro >> cessorBase.java:49) >> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool >> Executor.java:1142) >> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo >> lExecutor.java:617) >> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r >> un(TaskThread.java:61) >> at java.lang.Thread.run(Thread.java:745) >> * INFO 2017-10-21 21:28:51,696 Response status code: 403 >> (SmsGateway.java [http-nio-8080-exec-4]) >> * ERROR 2017-10-21 21:28:51,697 failed (SmsMessageSender.java >> [http-nio-8080-exec-4]) >> >> >> Have tried with 2 different gateways. >> Build revision: 4045811 >> Version : 2.27 >> >> Thanks & Regards, >> Sourabh Bhardwaj >> >> >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-devs >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~dhis2-devs >> More help : https://help.launchpad.net/ListHelp >> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

