Thanks Zubair, It is working fine now.
On Mon, Oct 23, 2017 at 4:23 PM, Zubair Asghar Raja <zub...@dhis2.org> wrote: > Souravh, > > It has been fixed. Test it again. > > > Br, > Zubair > > On Sun, Oct 22, 2017 at 6:25 AM, Sourabh Bhardwaj <bsourabh...@gmail.com> > wrote: > >> 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 <zub...@dhis2.org> >> wrote: >> >>> Hi Sourabh, >>> Which type of sms gateway have you configured? >>> >>> BR // >>> Zubair >>> >>> >>> >>> >>> >>> >>> >>> >>> On Sat, Oct 21, 2017 at 6:15 PM, Sourabh Bhardwaj <bsourabh...@gmail.com >>> > 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 : dhis2-devs@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>> More help : https://help.launchpad.net/ListHelp >>>> >>>> >>> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp