Justin,

thanks for the help.Here are the cURL commands I am submitting:

curl -u admin:geoserver -v -XPOST -H "Content-type: text/xml" -d
"<workspace><name>roads</name></workspace>"
http://localhost:8080/geoserver/rest/workspaces

curl -XGET http://localhost:8080/geoserver/rest/workspaces/roads.xml

I get the following at this point:

/workspaces/roads.xml
<workspace>
  <name>roads</name>
  <dataStores>
    <atom:link xmlns:atom="http://www.w3.org/2005/Atom"; rel="alternate"
href="ht
tp://localhost:8080/geoserver/rest/workspaces/roads/datastores.xml"
type="applic
ation/xml"/>
  </dataStores>
  <coverageStores>
    <atom:link xmlns:atom="http://www.w3.org/2005/Atom"; rel="alternate"
href="ht
tp://localhost:8080/geoserver/rest/workspaces/roads/coveragestores.xml"
type="ap
plication/xml"/>
  </coverageStores>
</workspace>

Next I do:

curl -v -u admin:geoserver -XPUT --header 'Content-type: application/zip'
--data-binary @fe_2007_01001_edges.zip
http://localhost:8080/geoserver/rest/workspaces/roads/datastores/fe_2007_01001_edges/file.shp

That's when I get the exception I posted in my original email. Here
fe_2007_01001_edges.zip is a zip file that contains a fe_2007_01001_edges
shapefile. The file is taken  from TIGER/Line dataset.

Thanks,

Andy


On Tue, Dec 29, 2009 at 11:34 AM, Justin Deoliveira <[email protected]>wrote:

> Hi Andy,
>
> First I would try clearing out any directories under data_dir/data that
> were created by previous upload attempts. Then try again and capture the log
> of the first attempt. It would also be helpful to have the exact cURL
> request that you are making.
>
> A common mistake is not setting the content-type properly to
> application/zip.
>
> -Jusitn
>
> Andy Burgard wrote:
>
>> Hello everybody,
>>
>> I am trying to repeat the steps in the REST Configuration Examples as
>> outlined here:
>>
>> http://docs.geoserver.org/2.0.0/user/extensions/rest/rest-config-examples-curl.html
>>
>> I failed to accomplish "Upload a Shapefile" step - I can see the attached
>> exception thrown in the GeoServer console.
>>
>> It looks like GeoTools is trying to locate an shx file in the destination
>> folder before it copied it there.
>>
>> I am using GeoServer 2.0.0 running on Windows XP. Any ideas what is going
>> on?
>>
>> Thanks,
>>
>> Andy
>>
>>
>>
>> 27 Dec 19:13:38 INFO [catalog.rest] - PUT file, mimetype:
>> application/x-www-form
>> -urlencoded
>> 27 Dec 19:13:38 INFO [catalog.rest] - Using existing datastore:
>> fe_2007_010001_e
>> dges
>> 27 Dec 19:13:38 WARN [shapefile.sh] - Could not open the .shx file,
>> continuing a
>> ssuming the .shp file is not sparse
>> java.io.FileNotFoundException: C:\Program Files\GeoServer
>> 2.0.0\data_dir\data\fe
>> _2007_010001_edges\fe_2007_010001_edges.shx
>>        at
>> org.geotools.data.shapefile.ShpFiles.getReadChannel(ShpFiles.java:821)
>>        at
>> org.geotools.data.shapefile.shp.IndexFile.<init>(IndexFile.java:78)
>>        at
>> org.geotools.data.shapefile.shp.ShapefileReader.<init>(ShapefileReader.java:215)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.openShapeReader(ShapefileDataStore.java:453)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.readAttributes(ShapefileDataStore.java:680)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:638)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:632)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getFeatureSource(ShapefileDataStore.java:964)
>>        at
>> org.geoserver.catalog.rest.DataStoreFileResource.handlePut(DataStoreFileResource.java:220)
>>        at org.restlet.Finder.handle(Finder.java:298)
>>        at
>> org.geoserver.rest.BeanDelegatingRestlet.handle(BeanDelegatingRestlet.java:38)
>>        at org.restlet.Filter.doHandle(Filter.java:105)
>>        at org.restlet.Filter.handle(Filter.java:134)
>>        at org.restlet.Router.handle(Router.java:444)
>>        at
>> com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
>>        at
>> org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:79)
>>        at
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>>        at
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>        at
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>>        at
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>>        at
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>>        at
>> org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:521)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:730)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>>        at
>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
>>        at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
>>        at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>>        at
>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>
>>        at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>        at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>        at org.mortbay.jetty.Server.handle(Server.java:324)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>        at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> 27 Dec 19:13:38 ERROR [geoserver.rest] -
>> java.lang.RuntimeException: java.io.IOException: Wrong magic number,
>> expected 9994, got 1347093252
>>        at
>> org.geoserver.catalog.rest.DataStoreFileResource.handlePut(DataStoreFileResource.java:253)
>>        at org.restlet.Finder.handle(Finder.java:298)
>>        at
>> org.geoserver.rest.BeanDelegatingRestlet.handle(BeanDelegatingRestlet.java:38)
>>        at org.restlet.Filter.doHandle(Filter.java:105)
>>        at org.restlet.Filter.handle(Filter.java:134)
>>        at org.restlet.Router.handle(Router.java:444)
>>        at
>> com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
>>        at
>> org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:79)
>>        at
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>>        at
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>>        at
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>>        at
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>>        at
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>>        at
>> org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:521)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:730)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>>        at
>> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
>>        at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
>>        at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>>        at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>>        at
>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>>        at
>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:47)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>
>>        at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>        at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>        at org.mortbay.jetty.Server.handle(Server.java:324)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>        at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> Caused by: java.io.IOException: Wrong magic number, expected 9994, got
>> 1347093252
>>        at
>> org.geotools.data.shapefile.shp.ShapefileHeader.checkMagic(ShapefileHeader.java:53)
>>        at
>> org.geotools.data.shapefile.shp.ShapefileHeader.read(ShapefileHeader.java:75)
>>        at
>> org.geotools.data.shapefile.shp.ShapefileReader.readHeader(ShapefileReader.java:259)
>>        at
>> org.geotools.data.shapefile.shp.ShapefileReader.init(ShapefileReader.java:309)
>>        at
>> org.geotools.data.shapefile.shp.ShapefileReader.<init>(ShapefileReader.java:221)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.openShapeReader(ShapefileDataStore.java:453)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.readAttributes(ShapefileDataStore.java:680)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:638)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:632)
>>        at
>> org.geotools.data.shapefile.ShapefileDataStore.getFeatureSource(ShapefileDataStore.java:964)
>>        at
>> org.geoserver.catalog.rest.DataStoreFileResource.handlePut(DataStoreFileResource.java:220)
>>        ... 56 more
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> ------------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Verizon Developer Community
>> Take advantage of Verizon's best-in-class app development support
>> A streamlined, 14 day to market process makes app distribution fast and
>> easy
>> Join now and get one step closer to millions of Verizon customers
>> http://p.sf.net/sfu/verizon-dev2dev
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Geoserver-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>>
>
> --
> Justin Deoliveira
> OpenGeo - http://opengeo.org
> Enterprise support for open source geospatial.
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to