{"action":"created","issue":{"url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/2","labels_url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/2/comments","events_url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/2/events","html_url":"https://github.com/SanaMobile/sana.mds/issues/2","id":114088435,"number":2,"title":"Upload failed","user":{"login":"endangurura","id":6840268,"avatar_url":"https://avatars.githubusercontent.com/u/6840268?v=3","gravatar_id":"","url":"https://api.github.com/users/endangurura","html_url":"https://github.com/endangurura","followers_url":"https://api.github.com/users/endangurura/followers","following_url":"https://api.github.com/users/endangurura/following{/other_user}","gists_url":"https://api.github.com/users/endangurura/gists{/gist_id}","starred_url":"https://api.github.com/users/endangurura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endangurura/subscriptions","organizations_url":"https://api.github.com/users/endangurura/orgs","repos_url":"https://api.github.com/users/endangurura/repos","events_url":"https://api.github.com/users/endangurura/events{/privacy}","received_events_url":"https://api.github.com/users/endangurura/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-10-29T16:24:05Z","updated_at":"2015-11-14T06:00:53Z","closed_at":null,"body":"I just finished setting up the mds, openmrs and sana. I followed the instructions in the INSTALL file but I can't get the sana android client to upload procedures, its saying upload failed all the time. I tried to check the tomcat and mds logs but I can't figure out how to fix this. Can somebody help me fix this.\r\nThanks."},"comment":{"url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/comments/156641732","html_url":"https://github.com/SanaMobile/sana.mds/issues/2#issuecomment-156641732","issue_url":"https://api.github.com/repos/SanaMobile/sana.mds/issues/2","id":156641732,"user":{"login":"endangurura","id":6840268,"avatar_url":"https://avatars.githubusercontent.com/u/6840268?v=3","gravatar_id":"","url":"https://api.github.com/users/endangurura","html_url":"https://github.com/endangurura","followers_url":"https://api.github.com/users/endangurura/followers","following_url":"https://api.github.com/users/endangurura/following{/other_user}","gists_url":"https://api.github.com/users/endangurura/gists{/gist_id}","starred_url":"https://api.github.com/users/endangurura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/endangurura/subscriptions","organizations_url":"https://api.github.com/users/endangurura/orgs","repos_url":"https://api.github.com/users/endangurura/repos","events_url":"https://api.github.com/users/endangurura/events{/privacy}","received_events_url":"https://api.github.com/users/endangurura/received_events","type":"User","site_admin":false},"created_at":"2015-11-14T06:00:53Z","updated_at":"2015-11-14T06:00:53Z","body":"Now I can view the encounter queue but I'm having a problem with the diagnosis and sending SMS notification. I filled in my clickatell information but still no sms notification is being delivered, can you help me to figure out what's going wrong here. Thanks.\r\n\r\n# mds logs\r\n\r\n[{\"line_number\": 911, \"level_number\": 20, \"delta\": \"0.000s\", \"timestamp\": 1447479829.65, \"level_name\": \"INFO\", \"function_name\": \"notification_submit\", \"message\": \"Notification submit received\", \"module\": \"json\", \"filename\": \"json.py\"}, {\"line_number\": 914, \"level_number\": 20, \"delta\": \"0.001s\", \"timestamp\": 1447479829.65, \"level_name\": \"INFO\", \"function_name\": \"notification_submit\", \"message\": \"Notification submit notificationText:DX: ; Plan: test, test\", \"module\": \"json\", \"filename\": \"json.py\"}, {\"line_number\": 914, \"level_number\": 20, \"delta\": \"0.001s\", \"timestamp\": 1447479829.65, \"level_name\": \"INFO\", \"function_name\": \"notification_submit\", \"message\": \"Notification submit phoneIdentifier:\", \"module\": \"json\", \"filename\": \"json.py\"}, {\"line_number\": 914, \"level_number\": 20, \"delta\": \"0.001s\", \"timestamp\": 1447479829.65, \"level_name\": \"INFO\", \"function_name\": \"notification_submit\", \"message\": \"Notification submit caseIdentifier:SPPQHhsBlcXJukqIyiNGuK\", \"module\": \"json\", \"filename\": \"json.py\"}, {\"line_number\": 914, \"level_number\": 20, \"delta\": \"0.002s\", \"timestamp\": 1447479829.65, \"level_name\": \"INFO\", \"function_name\": \"notification_submit\", \"message\": \"Notification submit patientIdentifier:635872\", \"module\": \"json\", \"filename\": \"json.py\"}]\r\n\r\n# Tomcat logs\r\n\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:42:47,480| In method EncounterService.saveEncounter. Arguments: Encounter=Encounter: [(no ID) Sat Nov 14 00:42:47 EST 2015 ADULTINITIAL Unknown Location 5 Skin num Obs: [] num Orders: 0 ], \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:42:47,487| Exiting method saveEncounter\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:42:47,508| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:42:47,511| Exiting method saveObs\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:42:47,522| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:42:48,069| Exiting method saveObs\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:42:48,084| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:42:48,095| Exiting method saveObs\r\nWARN - QueueController.onRequest(78) |2015-11-14 00:43:22,740| In Method: onRequest()\r\nWARN - QueueController.onRequestInternal(124) |2015-11-14 00:43:22,745| ...Queue statusNew\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:22,765| ## Size of QueueItem :7\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:22,775| ## Size of QueueItem :7\r\nWARN - QueueController.onRequest(78) |2015-11-14 00:43:26,948| In Method: onRequest()\r\nWARN - QueueController.onRequestInternal(124) |2015-11-14 00:43:26,957| ...Queue statusNew\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:26,969| ## Size of QueueItem :7\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:26,978| ## Size of QueueItem :7\r\nERROR - SaveResponseServlet.doPost(156) |2015-11-14 00:43:49,367| Diagnosis \r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:43:49,383| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:43:49,385| Exiting method saveObs\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:43:49,411| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:43:49,414| Exiting method saveObs\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:43:49,429| In method ObsService.saveObs. Arguments: Obs=obs id is null, String=, \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:43:49,431| Exiting method saveObs\r\nERROR - EncounterSaveHandler.handle(51) |2015-11-14 00:43:49,440| Unable to save complex obs\r\njava.lang.NullPointerException\r\n\tat org.openmrs.module.sana.queue.handler.ThumbnailingImageHandler.saveObs(ThumbnailingImageHandler.java:167)\r\n\tat org.openmrs.api.handler.EncounterSaveHandler.handle(EncounterSaveHandler.java:46)\r\n\tat org.openmrs.api.handler.EncounterSaveHandler.handle(EncounterSaveHandler.java:29)\r\n\tat org.openmrs.aop.RequiredDataAdvice.recursivelyHandle(RequiredDataAdvice.java:268)\r\n\tat org.openmrs.aop.RequiredDataAdvice.recursivelyHandle(RequiredDataAdvice.java:232)\r\n\tat org.openmrs.aop.RequiredDataAdvice.before(RequiredDataAdvice.java:138)\r\n\tat org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:49)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)\r\n\tat org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)\r\n\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)\r\n\tat com.sun.proxy.$Proxy100.saveEncounter(Unknown Source)\r\n\tat sun.reflect.GeneratedMethodAccessor634.invoke(Unknown Source)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:622)\r\n\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)\r\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)\r\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)\r\n\tat org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)\r\n\tat com.sun.proxy.$Proxy100.saveEncounter(Unknown Source)\r\n\tat org.openmrs.module.sana.queue.web.v1.servlet.SaveResponseServlet.doPost(SaveResponseServlet.java:271)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:637)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:717)\r\n\tat org.openmrs.module.web.ModuleServlet.service(ModuleServlet.java:72)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:717)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)\r\n\tat org.openmrs.module.logmanager.web.filter.RequestProviderFilter.doFilterInternal(RequestProviderFilter.java:36)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)\r\n\tat org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)\r\n\tat org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:109)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)\r\n\tat org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)\r\n\tat org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)\r\n\tat org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)\r\n\tat java.lang.Thread.run(Thread.java:701)\r\nINFO - LoggingAdvice.invoke(117) |2015-11-14 00:43:49,449| In method EncounterService.saveEncounter. Arguments: Encounter=Encounter: [20 2015-11-14 00:42:47.0 ADULTINITIAL Unknown Location 5 Skin num Obs: [Obs #103, Obs #102, Obs #104, Obs #101, Obs #100, Obs #99] num Orders: 0 ], \r\nINFO - LoggingAdvice.invoke(154) |2015-11-14 00:43:49,454| Exiting method saveEncounter\r\nWARN - QueueController.onRequest(78) |2015-11-14 00:43:49,929| In Method: onRequest()\r\nWARN - QueueController.onRequestInternal(124) |2015-11-14 00:43:49,934| ...Queue statusNew\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:49,945| ## Size of QueueItem :6\r\nWARN - HibernateQueueItemDAO.getProDateRowsCount(261) |2015-11-14 00:43:49,954| ## Size of QueueItem :6"}}