https://apps.dhis2.org/demo/api/organisationUnits.json?*paging=false *?
On Fri, Aug 15, 2014 at 9:19 AM, Jason Pickering < [email protected]> wrote: > Hi Morten, > > The issue here is that I cannot access/do not have rights to /api/metaData > on the source server, thus the need to use /api/organisationUnits. However > on the destination server we do have rights to /api/metaData. Agree, it > would be easier however. > > Yeah, leaving the "pager" node in and posting it to the destination server > seems to be fine. > > Could you be more specific or will you document the changes/massaging > which might be required for transport between these two endpoints? > > Regards, > Jason > > > > > > > On Fri, Aug 15, 2014 at 8:06 AM, Morten Olav Hansen <[email protected]> > wrote: > >> The pager node should be just ignored, you might have other issues >> though.. if you are using 2.16? I'm still working on it, but the date >> format is different in /api/metadata vs /api/organisationUnits (or any >> other type), so you might have issues importing. >> >> If you just want "all", you should probably use this instead: >> /api/metadata?assumeTrue=false&organisationUnits=true >> >> We are in the middle of changing serializer/deserializer framework (with >> our custom one), so there might be small changes when you go to /api/type >> and not /api/metadata, which require that you massage the payload a bit >> before you can import. >> >> -- >> Morten >> >> >> On Fri, Aug 15, 2014 at 12:33 PM, Jason Pickering < >> [email protected]> wrote: >> >>> Just one other question (see attached code). When getting the JSON >>> response from one server, you get a "pager" node. Is there anyway to not >>> get this, or does it even matter if I post it back to "metaData" to the >>> destination server? >>> >>> Reason it has to be done this way, is that we do not have access to the >>> metaData endpoint in the source server (but do on the destination server). >>> A hack of course, but maybe there is a better way? >>> >>> Below, a simple script (no error handling) to sync orgunits from one >>> server to another (in R of course, haha). Any further suggestions would be >>> welcome. >>> >>> Regards, >>> Jason >>> >>> require(rjson) >>> require(RCurl) >>> #Modify to suit your needs >>> url.base<-"******" >>> username.base<-"******" >>> password.base<-"******" >>> url.dest<-"******" >>> username.dest<-"******" >>> password.dest<-"******" >>> >>> >>> #Get the number of pages from the source server >>> curl <- getCurlHandle() >>> curlSetOpt(cookiejar='cookies.txt',httpauth = 1L,ssl.verifypeer = FALSE, >>> curl=curl) >>> login.url<-paste0(url.base,"/dhis-web-commons/security/login.action") >>> response<-getURL(login.url, >>> userpwd=paste0(username.base,":",password.base),curl=curl) >>> url<-paste0(url.base,"api/organisationUnits.json?viewClass=export") >>> pages<-fromJSON(getURL(url,curl=curl))$pager$pageCount >>> >>> #We are going to make a few posts, so get a curl handle >>> curl.dest <- getCurlHandle() >>> curlSetOpt(cookiejar='cookies_dest.txt',httpauth = 1L,ssl.verifypeer = >>> FALSE, curl=curl.dest) >>> login.url<-paste0(url.dest,"/dhis-web-commons/security/login.action") >>> response<-getURL(login.url, >>> userpwd=paste0(username.dest,":",password.dest),curl=curl.dest) >>> >>> #Loop through each page and post to the destination server >>> for ( i in 1:pages) { >>> cat("Getting ", i, "of ",pages,"\n") >>> >>> url<-paste0(url.base,"api/organisationUnits.json?viewClass=export&page=",i) >>> response<-getURL(url,curl=curl) >>> #Get rid of the pager node. Maybe not required? >>> foo<-fromJSON(response)$organisationUnits >>> foo<-toJSON(list(organisationUnits=foo)) >>> getURL(paste0(url.dest,"api/metaData?preheatCache=false"), >>> customrequest='POST', >>> httpheader=c('Content-Type'='application/json'), >>> postfields=noquote(foo), >>> curl=curl.dest >>> ) >>> } >>> >>> >>> >>> On Fri, Aug 15, 2014 at 7:00 AM, Morten Olav Hansen <[email protected]> >>> wrote: >>> >>>> Yeah, just to clarify, every endpoint (except /api/metadata) can only >>>> take one single object. If you want to have multiple of one or more types, >>>> you will have to post them through /api/metadata endpoint. >>>> >>>> Good that you got it working :) >>>> >>>> -- >>>> Morten >>>> >>>> >>>> On Fri, Aug 15, 2014 at 11:56 AM, Jason Pickering < >>>> [email protected]> wrote: >>>> >>>>> Thanks for all the tips and code. >>>>> >>>>> Changing "orgunits" to "organisationUnits" and posting to the >>>>> /metaData endpoint seems to do the trick. >>>>> >>>>> Best regards, >>>>> Jason >>>>> >>>>> >>>>> >>>>> On Fri, Aug 15, 2014 at 12:11 AM, Jan Henrik Øverland < >>>>> [email protected]> wrote: >>>>> >>>>>> You are probably aware of this, but if there is no particular reason >>>>>> you want to post to api/organisationUnits, it will work with multiple >>>>>> orgunits if you wrap it like this >>>>>> >>>>>> { >>>>>> "organisationUnits": [ >>>>>> ..., >>>>>> ..., >>>>>> ..., >>>>>> ..., >>>>>> etc >>>>>> ] >>>>>> } >>>>>> >>>>>> and post it to api/metaData instead. >>>>>> >>>>>> >>>>>> On Thu, Aug 14, 2014 at 10:40 PM, Dan Cocos <[email protected]> wrote: >>>>>> >>>>>>> I don’t think you can post multiple, here’s some PHP code I wrote to >>>>>>> add them one by one they all had the same parent so my code is somewhat >>>>>>> less complex, you’ll have to have more arrays containing the correct >>>>>>> parent >>>>>>> and other details for your OUs. >>>>>>> >>>>>>> >>>>>>> <?php //You need to make sure to add a ROOT unit and then make >>>>>>> this set to the root user $parentId = "JFSc3tndTlI"; $instanceURL = >>>>>>> "http://localhost:8080/api/organisationUnits"; $username = "admin"; >>>>>>> $password = "district"; $countryNames = array("Angola", "Antigua >>>>>>> and Barbuda", "Asia Regional Program", "Bahamas, The", "Barbadas", >>>>>>> "Belize >>>>>>> - Carribean", "Belize - Central America", "Botswana", "Burma", >>>>>>> "Burundi", "Cambodia", "Cameroon", "Caribbean Region", "Central >>>>>>> America Region", "Central Asia Region", "China", "Democratic >>>>>>> Republic of the Congo", "Costa Rica", "Cote d'Ivoire", "Dominica", >>>>>>> "Dominican >>>>>>> Republic", "El Salvador", "Ethiopia", "Ghana", "Grenada", >>>>>>> "Guatemala", "Guyana", "Haiti", "Honduras", "India", "Indonesia", >>>>>>> "Jamaica", "Kazakhstan", "Kenya", "Kyrgyz Republic", "Laos", >>>>>>> "Lesotho", "Malawi", "Mozambique", "Namibia", "Nicaragua", "Nigeria" >>>>>>> , "Panama", "Papua New Guinea", "Russia", "Rwanda", "Saint Kitts >>>>>>> and Nevis", "Saint Lucia", "Saint Vincent and the Grenadines", "South >>>>>>> Africa", "South Sudan", "Suriname", "Swaziland", "Tajikistan", >>>>>>> "Tanzania", "Thailand", "Trinidad and Tobago", "Turkmenistan", >>>>>>> "Uganda", "Ukraine", "Uzbekistan", "Vietnam", "Zambia", "Zimbabwe"); >>>>>>> //I >>>>>>> couldn't get DHIS2 to ingest with one call with several children so >>>>>>> instead >>>>>>> I just make a bunch of calls. foreach($countryNames as $ouname){ >>>>>>> $data = array("name" => $ouname, "shortName" => $ouname, "parent" >>>>>>> => array("id" =>$parentId)); $data_string = json_encode($data); >>>>>>> $ch = curl_init($instanceURL); curl_setopt($ch, >>>>>>> CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS >>>>>>> , $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); >>>>>>> curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); >>>>>>> curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: >>>>>>> application/json', 'Content-Length: ' . strlen($data_string), 'Accept: >>>>>>> application/json', ) ); $result = curl_exec($ch); print >>>>>>> $result . "\n"; } ?> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Aug 14, 2014 at 10:29 PM, Mark Polak <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Jason, >>>>>>>> >>>>>>>> I tried to look up if it was possible to post a list and from what >>>>>>>> i can tell you can’t post a list of objects currently. >>>>>>>> >>>>>>>> But Morten would have to clarify that as i am not 100% sure if that >>>>>>>> is correct. >>>>>>>> >>>>>>>> Kind regards, >>>>>>>> >>>>>>>> Mark Polak >>>>>>>> [email protected] >>>>>>>> [email protected] >>>>>>>> +31 6 38 600 925 >>>>>>>> >>>>>>>> On 14 Aug 2014, at 21:03, Jason Pickering < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>> Unfortunately, I cannot post it a public list, but I think I may be >>>>>>>> missing some brackets etc. >>>>>>>> >>>>>>>> Basically, I need to sync some orgunits between instances with JSON >>>>>>>> (after a bit of processing). >>>>>>>> >>>>>>>> Will the below work (in theory)? I could not really find an example >>>>>>>> of POSTing multiple orgunits with JSON through the API in the docs. >>>>>>>> >>>>>>>> Regards, >>>>>>>> Jason >>>>>>>> >>>>>>>> { >>>>>>>> "orgunits": [ >>>>>>>> { >>>>>>>> "code": "XXXXX", >>>>>>>> "name": "XXXXX", >>>>>>>> "created": "2013-03-14T06:17:28.334+0000", >>>>>>>> "lastUpdated": "2014-05-27T09:45:58.804+0000", >>>>>>>> "shortName": "XXXX", >>>>>>>> "parent": { >>>>>>>> "name": "XXXX", >>>>>>>> "created": "2012-07-14T18:57:55.059+0000", >>>>>>>> "lastUpdated": "2013-09-02T08:04:08.693+0000", >>>>>>>> "href": "XXXXXXX", >>>>>>>> "id": "XXXXXX" >>>>>>>> }, >>>>>>>> "openingDate": "1900-01-01", >>>>>>>> "active": true, >>>>>>>> "contactPerson": "XXXX", >>>>>>>> "address": "XXXXXX", >>>>>>>> "email": "XXXXXX", >>>>>>>> "phoneNumber": "XXXXXX", >>>>>>>> "level": 5, >>>>>>>> "href": "XXXXXX", >>>>>>>> "id": "XXXX" >>>>>>>> } ]} >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Aug 14, 2014 at 7:22 PM, Mark Polak <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hey Jason, >>>>>>>>> >>>>>>>>> Perhaps it could also be useful if you provide the JSON you’re >>>>>>>>> sending? That might make it easier to figure out why it happened :) >>>>>>>>> >>>>>>>>> Kind regards, >>>>>>>>> >>>>>>>>> Mark Polak >>>>>>>>> [email protected] >>>>>>>>> [email protected] >>>>>>>>> >>>>>>>>> On 14 Aug 2014, at 17:25, Jason Pickering < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>> Hi Morten, >>>>>>>>> >>>>>>>>> I am trying to post some JSON to the /api/organisationUnit end >>>>>>>>> point. I think it looks OK (???) but am something does not seem to be >>>>>>>>> right. I see this exception. Could you translate for me? :) >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Jason >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> SEVERE: Servlet.service() for servlet [webapi] in context with >>>>>>>>> path [/dhis] threw exception >>>>>>>>> com.fasterxml.jackson.databind.JsonMappingException: Can not >>>>>>>>> deserialize instance of >>>>>>>>> org.hisp.dhis.organisationunit.OrganisationUnit out >>>>>>>>> of START_ARRAY token >>>>>>>>> at [Source: >>>>>>>>> org.apache.catalina.connector.CoyoteInputStream@1d72f464; line: >>>>>>>>> 1, column: 1] >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:691) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:685) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromArray(BeanDeserializerBase.java:1215) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:151) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:126) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2993) >>>>>>>>> at >>>>>>>>> com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2144) >>>>>>>>> at >>>>>>>>> org.hisp.dhis.dxf2.render.DefaultRenderService.fromJson(DefaultRenderService.java:79) >>>>>>>>> at >>>>>>>>> org.hisp.dhis.webapi.controller.AbstractCrudController.postJsonObject(AbstractCrudController.java:352) >>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >>>>>>>>> Method) >>>>>>>>> at >>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>>>>>> at >>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>>>>>> at >>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) >>>>>>>>> at >>>>>>>>> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:685) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855) >>>>>>>>> at >>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:646) >>>>>>>>> at >>>>>>>>> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) >>>>>>>>> at >>>>>>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>>>>> 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.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201) >>>>>>>>> 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.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) >>>>>>>>> at >>>>>>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) >>>>>>>>> at >>>>>>>>> org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter(CustomAuthenticationFilter.java:64) >>>>>>>>> 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.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:113) >>>>>>>>> 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:106) >>>>>>>>> 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.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) >>>>>>>>> at >>>>>>>>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) >>>>>>>>> at >>>>>>>>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) >>>>>>>>> at >>>>>>>>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>>>>> at >>>>>>>>> org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151) >>>>>>>>> at >>>>>>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>>>>> at >>>>>>>>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) >>>>>>>>> at >>>>>>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) >>>>>>>>> at >>>>>>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) >>>>>>>>> at >>>>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) >>>>>>>>> at >>>>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >>>>>>>>> at >>>>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) >>>>>>>>> at >>>>>>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) >>>>>>>>> at >>>>>>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) >>>>>>>>> at >>>>>>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) >>>>>>>>> at >>>>>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) >>>>>>>>> at >>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) >>>>>>>>> at java.lang.Thread.run(Thread.java:744) >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> 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 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 >>>>> >>>>> >>>> >>> >> >
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

