Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I need to automatically (using python) upload a shapefile into my geoserver.

I'm trying to do as described in here but i'm getting this error:

java.io.IOException: Wrong magic number, expected 9994, got 1347093252* Connection #0 to host localhost left intact

I'm sending this:

curl -u admin:geoserver -v -XPUT -H 'Content-type: application/zip' --data-binary @C:/x/test_data/localfile.zip http://localhost:8081/geoserver/rest/workspaces/test_VN/datastores/maisum/file.shp
share|improve this question
    
what is the actual request you are sending? –  iant Nov 27 '12 at 10:45
    
iant, check my edit in the question. –  vascobnunes Nov 27 '12 at 10:53
add comment

1 Answer

up vote 3 down vote accepted

I take it you're using Windows? Could you try using double quotes instead of single quotes?

curl -u admin:geoserver -v -XPUT -H "Content-type: application/zip" \
    --data-binary @C:/x/test_data/localfile.zip \   
    http://localhost:8081/geoserver/rest/workspaces/test_VN/datastores/maisum/file.shp

I think the problem is that Windows is ignoring the Content type as it's enclosed in single quotes. Therefore, Geoserver does not treat the file as zip. From the Windows command shell documentation:

... any argument that contains spaces or begins or ends with spaces must be enclosed in double quotes. This is particularly important when using long file and directory names, which frequently contain one or more spaces. If a double-quoted argument itself contains a double quote character, the double quote must be doubled. For example, enter "Quoted" Argument as """Quoted"" Argumen


Found this at the Geoserver mailing list.

Sometimes after repeated failed uploads some files can linger around on the server that cause problems. Go to your GEOSERVER_DATA_DIRECTORY and remove any lingering files from the "data" directory under it. Then try again.

Hopefully, that should help solve your problem.

share|improve this answer
    
hmm, no luck. I still got the same problem. –  vascobnunes Nov 27 '12 at 12:15
    
Oh, what version of Geoserver are you using btw? And have you ever successfully uploaded a file or is this your first attempt? –  R.K. Nov 27 '12 at 12:24
    
I uploaded a lot of files but not programaticaly. first time with that. My geoserver is v2.2.2 –  vascobnunes Nov 27 '12 at 12:26
    
Updated my answer. I think it's the quotes that did it. –  R.K. Nov 27 '12 at 12:35
    
thats it. It worked fine now! Thank you! a lot –  vascobnunes Nov 27 '12 at 14:02
show 4 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.