[Geoserver-users] Error while uploading shapefile

Hi I am trying to load a .shp file on geoserver. I am programming in C++ and
using the curllib library. When I try to upload, a store is formed on
geoserver but no layer is published. Also if I try to publish the layer from
geoserver GUI, it gives a error.

Here is the code..

static size_t read_callback(void *ptr, size_t size, size_t nmemb, FILE
*stream)
    {
      size_t retcode;
      curl_off_t nread;
     
      /* in real-world cases, this would probably get this data differently
       as this fread() stuff is exactly what the library already would do
       by default internally */
      retcode = fread(ptr, size, nmemb, stream);
     
      nread = (curl_off_t)retcode;
     
      fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
          " bytes from file\n", nread);
     
      return retcode;
    }
     
void pushSHPToPostgresGeoserver()
    {
      CURL *curl;
      CURLcode res;
      FILE * hd_src ;
      struct stat file_info;
     
      char *file;
      char *url;
     
      file= "D:\\shp\\test.zip";
      url =
"http://192.168.0.65:8080/geoserver/rest/workspaces/opengeo/datastores/test/file.shp?configure=all";
     
      /* get the file size of the local file */
      stat(file, &file_info);
     
      /* get a FILE * of the same file, could also be made with
       fdopen() from the previous descriptor, but hey this is just
       an example! */
      hd_src = fopen(file, "rb");
     
      /* In windows, this will init the winsock stuff */
      curl_global_init(CURL_GLOBAL_ALL);
     
      /* get a curl handle */
      curl = curl_easy_init();
      if(curl) {
      /* we want to use our own read function */
      curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
     
      curl_easy_setopt(curl, CURLOPT_USERNAME, "XXX");
      curl_easy_setopt(curl, CURLOPT_PASSWORD, "XXX");

       struct curl_slist *headers=NULL;
        headers = curl_slist_append(headers, "Content-Type:application/zip");

      /* enable uploading */
      curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
     
      /* HTTP PUT please */
      curl_easy_setopt(curl, CURLOPT_PUT, 1L);
     
      /* specify target URL, and note that this URL should include a file
         name, not only a directory */
      curl_easy_setopt(curl, CURLOPT_URL, url);
     
      /* now specify which file to upload */
      curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
     
      /* provide the size of the upload, we specicially typecast the value
         to curl_off_t since we must be sure to use the correct data size */
      curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE,
               (curl_off_t)file_info.st_size);
     
      /* Now run off and do what you've been told! */
      res = curl_easy_perform(curl);
      /* Check for errors */
      if(res != CURLE_OK)
        fprintf(stderr, "curl_easy_perform() failed: %s\n",
            curl_easy_strerror(res));
     
      /* always cleanup */
      curl_easy_cleanup(curl);
      }
      fclose(hd_src); /* close the local file */
     
      curl_global_cleanup();
}

*Also it is showing the following error on my application console..
***We read 16384 bytes from file
***We read 16384 bytes from file
***We read 16384 bytes from file

java.io.IOException: Wrong magic number, expected 9994, got
1347093252[osgEarth ] *fAIL, unable to load scriptEngine driver for
"javascript"*

*The file is uploaded in my geoserver data directory. If I try to delete
that file, windows shows file in use, "The action cannot be completed
because file is open in java(TM) Platform SE Library"..*

This is the error being show on geoserver if I try to publish the store as
layer..
java.lang.RuntimeException: Error occurred while building the resources for
the configuration page
  at
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:302)
  at
org.geoserver.web.data.layer.NewLayerPage$6.onClick(NewLayerPage.java:241)
  at
org.geoserver.web.wicket.SimpleAjaxLink$1.onClick(SimpleAjaxLink.java:45)
  at org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:68)
  at
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
  at
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
  at
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
  at
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
  at
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
  at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
  at
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
  at
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
  at
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)
  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:923)
  at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
  at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
  at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
  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.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
  at
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
  at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
  at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
  at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
  at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
  at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
  at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
  at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
  at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
  at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
  at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
  at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
  at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
  at
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:97)
  at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
  at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
  at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
  at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:168)
  at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:233)
  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.headerComplete(HttpConnection.java:828)
  at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
  at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
  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:64)
  at
org.geotools.data.shapefile.shp.ShapefileHeader.read(ShapefileHeader.java:84)
  at
org.geotools.data.shapefile.shp.ShapefileReader.init(ShapefileReader.java:358)
  at
org.geotools.data.shapefile.shp.ShapefileReader.<init>(ShapefileReader.java:251)
  at
org.geotools.data.shapefile.ShapefileDataStore.openShapeReader(ShapefileDataStore.java:558)
  at
org.geotools.data.shapefile.ShapefileDataStore.readAttributes(ShapefileDataStore.java:785)
  at
org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:743)
  at
org.geotools.data.shapefile.ShapefileDataStore.getSchema(ShapefileDataStore.java:737)
  at
org.geotools.data.shapefile.ShapefileDataStore.getFeatureSource(ShapefileDataStore.java:1071)
  at
org.geotools.data.AbstractDataStore.getFeatureSource(AbstractDataStore.java:598)
  at
org.geotools.data.AbstractDataStore.getFeatureSource(AbstractDataStore.java:89)
  at
org.geoserver.catalog.CatalogBuilder.buildFeatureType(CatalogBuilder.java:327)
  at
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:295)
  ... 89 more

Any help..
Please I really need this ASAP..
Note : I have done the same thing in .net and everything worked fine for me.

Regards
Pankaj Bansal

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-while-uploading-shapefile-tp5095598.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

hii

Anyone please I really need this ASAP.

Regards
Pankaj Bansal

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-while-uploading-shapefile-tp5095598p5095625.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi Pankaj,
try to look here: http://osgeo-org.1560.x6.nabble.com/Rest-Config-java-io-IOException-Wrong-magic-number-expected-9994-got-1347093252-td3798247.html
or here: http://osgeo-org.1560.x6.nabble.com/REST-and-ZIP-and-Wrong-magic-number-td3802174.html

I did a simple search on google with the error you get (Wrong magic number, expected 9994).
You can do the same and look at the results you get.
If you are in hurry, you can’t probably wait for someone to help you for free, so try to help yourself (google is your friend :slight_smile: ).

Regards,
Mauro Bartolomeoli

···

2013/12/27 pankaj123 <pankaj.bansal.jiit@anonymised.com>

hii

Anyone please I really need this ASAP.

Regards
Pankaj Bansal


View this message in context: http://osgeo-org.1560.x6.nabble.com/Error-while-uploading-shapefile-tp5095598p5095625.html

Sent from the GeoServer - User mailing list archive at Nabble.com.


Rapidly troubleshoot problems before they affect your business. Most IT
organizations don’t have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users