← Back to team overview

dhis2-devs team mailing list archive

Re: Errors importing OrgUnits (XML Metadata import)

 

That won't work, then you must add ?inclusionStrategy=NON_EMPTY

To fix this, you must remove all collection objects that are empty from the
XML payload, there are differences in the way XML vs JSON is handled in
Jackson (the framework we are using for this).

Typically these are elements with plural names, and no body <collection/>,
you can safely remove these.

On Wed Dec 24 2014 at 1:34:04 PM Jose Garcia Muñoz <josemp10@xxxxxxxxx>
wrote:

>
> /api/organisationUnits
>
> On Wed, Dec 24, 2014 at 1:32 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
> wrote:
>
>> Hi
>>
>> Was this exported from /api/metadata or /api/organisationUnits?
>>
>> On Wed Dec 24 2014 at 1:27:04 PM Jose Garcia Muñoz <josemp10@xxxxxxxxx>
>> wrote:
>>
>>>
>>> Hi devs,
>>>
>>> I need to export and import part of the Org. Tree that we have in PSI
>>> (we need to move one country from one server to other). To get the sub
>>> org.unit tree, I am using the following REST command
>>>
>>>
>>> https://dev.psi-mis.org/api/organisationUnits/NxKJFhKFGbN.xml?includeDescendants=true
>>>
>>> Where the UID represents the country.
>>>
>>> Unfortunately when I try to import the xml file the system gives me an
>>> error (see the code below). We are using the 2.16 version, but when I tried
>>> the same import in the 2.17 I got that error as well. However, it seems to
>>> work fine exporting and importing json files (instead of xml ones),
>>> unfortunately we don´t have json metadata import functionality in the 2.16.
>>> Could you take a look please? (It is a bit urgent for us) Many thanks!
>>>
>>> * INFO  2014-12-24 12:54:51,927 [Level: INFO, category: METADATA_IMPORT,
>>> time: W
>>> ed Dec 24 12:54:51 CET 2014, message: Importing 793 OrganisationUnits]
>>> (InMemory
>>> Notifier.java [taskScheduler-1])
>>> * ERROR 2014-12-24 12:54:51,997 Unexpected error occurred in scheduled
>>> task. (Ta
>>> skUtils.java [taskScheduler-1])
>>> java.lang.NullPointerException
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>>
>>> er$NonIdentifiableObjects.extractAttributeValues(DefaultIdentifiableObjectImport
>>> er.java:297)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>>
>>> er$NonIdentifiableObjects.extract(DefaultIdentifiableObjectImporter.java:169)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>> er.updateObject(DefaultIdentifiableObjectImporter.java:685)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>> er.startImport(DefaultIdentifiableObjectImporter.java:851)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>> er.importObjectLocal(DefaultIdentifiableObjectImporter.java:817)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImport
>>> er.importObjects(DefaultIdentifiableObjectImporter.java:775)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImpo
>>> rtService.java:261)
>>>         at
>>> org.hisp.dhis.dxf2.metadata.DefaultImportService.importMetaData(Defau
>>> ltImportService.java:178)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
>>> java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
>>> sorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflecti
>>> on(AopUtils.java:317)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJo
>>> inpoint(ReflectiveMethodInvocation.java:183)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
>>> ReflectiveMethodInvocation.java:150)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor$1.
>>> proceedWithInvocation(TransactionInterceptor.java:96)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionAspectSupport.
>>> invokeWithinTransaction(TransactionAspectSupport.java:260)
>>>         at
>>> org.springframework.transaction.interceptor.TransactionInterceptor.in
>>> voke(TransactionInterceptor.java:94)
>>>         at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
>>> ReflectiveMethodInvocation.java:172)
>>>         at
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynami
>>> cAopProxy.java:204)
>>>         at com.sun.proxy.$Proxy282.importMetaData(Unknown Source)
>>>         at
>>> org.hisp.dhis.importexport.action.util.ImportMetaDataTask.run(ImportM
>>> etaDataTask.java:93)
>>>         at
>>> org.springframework.scheduling.support.DelegatingErrorHandlingRunnabl
>>> e.run(DelegatingErrorHandlingRunnable.java:53)
>>>         at
>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47
>>> 1)
>>>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>>>         at
>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>>> access$201(ScheduledThreadPoolExecutor.java:178)
>>>         at
>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
>>> run(ScheduledThreadPoolExecutor.java:292)
>>>         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     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>>
>

Follow ups

References