Sorry to bring such a boring question...
But we seem to be stuck with 500 internal server error when trying to PUT a new json metadatafile for an existing dataset, using Native API.
We GET the existing data as json, modify something, and try put. Always 500... I wonder what we do wrong - or if my server could be too minimal, even if creating and populating datasets haven't casused any problems?
Apache ssl_access_log says:
130.225.178.2 - - [06/Apr/2017:14:57:21 +0200] "GET /api/datasets/20/ HTTP/1.1" 200 6191
130.225.178.2 - - [06/Apr/2017:15:03:25 +0200] "PUT /api/datasets/20/versions/:draft?key=xxxx HTTP/1.1" 500 19038
Glassfish server.log beginning of error stack, notice that in this case, the error-level is actually only indicated as WARNING:
[2017-04-06T15:03:26.061+0200] [glassfish 4.1] [WARNING] [] [edu.harvard.iq.dataverse.api.ApiBlockingFilter] [tid: _ThreadID=48 _ThreadName=jk-connector(3)] [timeMillis: 1491483806061] [levelValue: 900] [[
Error processing /api/v1/datasets/20/versions/:draft: javax.json.stream.JsonParsingException: Unexpected char 100 at (line no=1, column no=1, offset=0)
javax.servlet.ServletException: javax.json.stream.JsonParsingException: Unexpected char 100 at (line no=1, column no=1, offset=0)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:391)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:381)
In other cases, we have seen null-pointer exceptions, or other "unexpected" chars reported, e.g. 75.
The command line is
curl -k -H "Content-Type: application/json" -X PUT https://<our-server-address>/api/datasets/20/versions/:draft?key=xxxx --data "dvn_id_20.json"
Any suggestions would be very highly appreciated!
Thanks!
Anders