← Back to team overview

dhis2-devs team mailing list archive

Re: Problem Posting to XML to Web API

 

Hi

Please be aware that there are differences from JSON to XML here. An empty
collection in JSON is set to empty, but an empty collection in xml is set
to -null-, so please never include an empty collection if you are using XML.

--
Morten

On Wed, Jul 1, 2015 at 2:22 AM, Halvdan Grelland <halvdanhg@xxxxxxxxx>
wrote:

> Ok. It would be good to know the typo in question. Doesn't seem like a
> reasonable response for a misspelled url.
>
> 2015-06-30 21:15 GMT+02:00 Dan Cocos <dan@xxxxxxxxxxxx>:
>
>> To follow up I just discovered why it wasn’t working I had a typo in the
>> URL, though the error was a bit misleading.
>>
>>
>> On Jun 30, 2015, at 1:44 PM, Dan Cocos <dan@xxxxxxxxxxxx> wrote:
>>
>>
>> I still get an error when I try with the following, I’ve attached a copy
>> of the complete stack trace.
>>
>> <organisationUnit id="IheTV7ihHgI" level="6" name="Test2"
>> shortName="TEST2" xmlns="http://dhis2.org/schema/dxf/2.0";>
>> <externalAccess>false</externalAccess>
>> <openingDate>2015-05-20T23:00:00.000+0000</openingDate>
>> <displayName>BAO Test</displayName>
>> <parent id="Iu06qlak3ZY" />
>> </organisationUnit>
>>
>> or this
>>
>> <organisationUnit id="IheTV7ihHgI" level="6" name="Test" shortName="TEST"
>> xmlns="http://dhis2.org/schema/dxf/2.0";>
>> <externalAccess>false</externalAccess>
>> <openingDate>2015-05-20T23:00:00.000+0000</openingDate>
>> <displayName>BAO Test</displayName>
>> <parent id="OqNfa8dQ546" />
>> <users/>
>> <organisationUnitGroups/>
>> <children/>
>> <dataSets/>
>> <userGroupAccesses/>
>> </organisationUnit>
>>
>> <error.html>
>>
>> On Jun 30, 2015, at 1:24 PM, Dan Cocos <dan@xxxxxxxxxxxx> wrote:
>>
>> Thank you!
>> I’ve also found that trying to delete OUs via the API causes a
>> 504 Request method 'DELETE' not supported
>> Are we not able to delete OUs via the API?
>>
>>
>> On Jun 30, 2015, at 1:15 PM, Halvdan Grelland <halvdanhg@xxxxxxxxx>
>> wrote:
>>
>> Hi Dan,
>>
>> I was able to reproduce the issue on our demo server. It seems to be due
>> to the empty attributevalues-element. Removing it caused the import to work
>> as expected. Why this is, however, I do not know. We are currently looking
>> into a separate AttributeValue-related issue with the importer, which could
>> be related.
>>
>> ---
>>
>> Att: Morten:
>>
>> The interesting part of the stack trace:
>>
>> </pre></p><p><b>root cause</b> <pre>java.lang.NullPointerException
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extractAttributeValues(DefaultIdentifiableObjectImporter.java:1121)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter$NonIdentifiableObjects.extract(DefaultIdentifiableObjectImporter.java:944)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.newObject(DefaultIdentifiableObjectImporter.java:305)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.startImport(DefaultIdentifiableObjectImporter.java:525)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObjectLocal(DefaultIdentifiableObjectImporter.java:511)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObject(DefaultIdentifiableObjectImporter.java:210)
>>
>> org.hisp.dhis.dxf2.metadata.importers.DefaultIdentifiableObjectImporter.importObject(DefaultIdentifiableObjectImporter.java:102)
>>
>> org.hisp.dhis.dxf2.metadata.DefaultImportService.doImport(DefaultImportService.java:281)
>>
>> org.hisp.dhis.dxf2.metadata.DefaultImportService.importObject(DefaultImportService.java:115)
>>
>> Regards,
>> Halvdan
>>
>> 2015-06-30 19:05 GMT+02:00 Dan Cocos <dan@xxxxxxxxxxxx>:
>>
>>> Hi All,
>>>
>>> I’m trying to post a simple XML file to create an OU the following is
>>> curl call and the contents of the file (ou.xml)
>>>
>>> curl -d @ou.xml "https://example.com/api/organistaionUnits"; -X POST -H
>>> "Content-Type: application/xml"  -u admin:district
>>>
>>> <organisationUnit id="IheTV7ihHgI" level="6" name="Test"
>>> shortName="TEST" xmlns="http://dhis2.org/schema/dxf/2.0";>
>>>         <externalAccess>false</externalAccess>
>>>         <openingDate>2015-05-20T23:00:00.000+0000</openingDate>
>>>         <displayName>Test</displayName>
>>>         <parent id="OqNfa8dQ546" />
>>>         <users/>
>>>         <organisationUnitGroups/>
>>>         <children/>
>>>         <dataSets/>
>>>         <attributeValues/>
>>>         <userGroupAccesses/>
>>> </organisationUnit>
>>>
>>> The server response is:
>>> org.springframework.web.util.NestedServletException: Request processing
>>> failed; nested exception is java.lang.NullPointerException
>>>
>>>
>>> Does anyone have a working example of posting OUs to the web API?
>>>
>>> Thank you,
>>> Dan
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>>
>>
>
> _______________________________________________
> 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
>
>

References