HTTP Status 400 – Bad Request when uploading a blank form to ODK aggregate

odk-aggregate

(Yohan Prasetia Siswanto) #1

What is the problem? Please be detailed.
I got an HTTP Status 400 – Bad Request when uploading a form to ODK aggregate sandbox server (https://sandbox.aggregate.opendatakit.org/).

I have tested the uploaded form using ODK validate v1.11.0. and it says that the Xform is valid.

Attached is the form
TestForm1.xml (29.3 KB)

Here is the screenshot of the error on the sandbox server:


(Yaw Anokwa) #2

Can you share the XLS form?


(Yohan Prasetia Siswanto) #3

Here is the xls form
TestForm1.xls (17.5 KB)


(Yaw Anokwa) #4

This looks like a form that was made in Kobo? Try removing the last calculate in the survey sheet and change the version in the settings sheet to a number like 2019031101 (basically today's date) and let's see if that works.


(Yohan Prasetia Siswanto) #5

Hi Yanokwa,
I'v tried removing the last calculate in the xml form.
It is this one right :
"
bind calculate="concat('uuid:', uuid())" nodeset="/data/meta/instanceID" readonly="true()" type="string"/

"

Still got the error when uploading.

I tried to find "version" in the xml form but I can not find it.


(Dr. Gareth S. Bestor) #6

I dont see anything unusual in your form, nor in the XML produced from it. Could you perhaps try loading an extremely simple one-liner form - eg "enter name" - with none of the metadata selected, and see if you can upload that.


(Yohan Prasetia Siswanto) #7

Hi,

I've tried uploading a simple demo xml form to the sandbox server.
It uploaded without problem


(Dr. Gareth S. Bestor) #8

Good. It was worth eliminating something funky going on on the server-side (eg broken javaRosa version, ...).

So I might suggest adding (or removing) sections from your form, trying to upload them, and seeing when it breaks. Again, sorry, but I didnt see anything overtly wrong. But at least this brute-force approach - a simple form works, a complex one doesn't - so somewhere in-between these two it'll break, and we be able to better narrow down the root of the problem. Make sense?