Hi,

I installed importer extension on geoserver 2.10.1 and I have a problem to
import shapefile into a postgis table in append. I execute this steps:

1. post on http://192.168.1.193:8080/geoserver/rest/imports of this json
{
  "import": {
    "targetStore": {
      "dataStore": {
        "name": "db_public"
      }
    },
    "targetWorkspace": {
      "workspace": {
        "name": "cite"
      }
    }
  }
}
with response:
{
    "import": {
        "id": 7,
        "href": "http://192.168.1.193:8080/geoserver/rest/imports/7";,
        "state": "PENDING",
        "archive": false,
        "targetWorkspace": {
            "workspace": {
                "name": "cite"
            }
        },
        "targetStore": {
            "dataStore": {
                "name": "db_public",
                "type": "PostGIS"
            }
        },
        "tasks": []
    }
}

2. post on http://192.168.1.193:8080/geoserver/rest/imports/1/tasks of a
shapefile zip with this response:

{
    "task": {
        "id": 0,
        "href": "http://192.168.1.193:8080/geoserver/rest/imports/7/tasks/0
",
        "state": "READY",
        "updateMode": "CREATE",
        "data": {
            "type": "file",
            "format": "Shapefile",
            "file": "area1.shp"
        },
        "target": {
            "href": "
http://192.168.1.193:8080/geoserver/rest/imports/7/tasks/0/target";,
            "dataStore": {
                "name": "db_public",
                "type": "PostGIS"
            }
        },
        "progress": "
http://192.168.1.193:8080/geoserver/rest/imports/7/tasks/0/progress";,
        "layer": {
            "name": "area1",
            "href": "
http://192.168.1.193:8080/geoserver/rest/imports/7/tasks/0/layer";
        },
        "transformChain": {
            "type": "vector",
            "transforms": []
        }
    }
}

3. Now I want update this task to send data in append into an existing
geoserver layer and I execute a put on
http://192.168.1.193:8080/geoserver/rest/imports/7/task/0  with this json

{
  "task": {
    "updateMode": "APPEND",
    "layer":{
    "name":"site_boundary"
    }
  }
}

I have a 500 server error with this exception


02 feb 09:27:52 ERROR [geoserver.rest] -
java.lang.NullPointerException
        at
org.geoserver.importer.rest.ImportResource.createImport(ImportResource.java:155)
        at
org.geoserver.importer.rest.ImportResource.handlePut(ImportResource.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
org.geoserver.rest.RESTDispatcher$1.handle(RESTDispatcher.java:205)
        at
com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
        at
org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:87)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:147)
        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
        at
org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:881)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:651)
        at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at  .........

and from geoserver admin interface I see that it was created a new import
with a new id.

I see also a mismatch on documentation for updating a task:

at
http://docs.geoserver.org/2.10.1/user/extensions/importer/rest_reference.html#updating-a-task
says  to execute a PUT to geoserver/rest/imports/<import_id>/task/<task_id>
while at
http://docs.geoserver.org/stable/en/user/extensions/importer/rest_examples.html#uploading-a-shapefile-to-postgis
says to execute a PUT to
geoserver/rest/imports/<import_id>/tasks/<task_id>/target

With this url I have this exception:

java.lang.ClassCastException: Cannot cast org.geoserver.importer.ImportTask
to org.geoserver.catalog.StoreInfo
        at java.lang.Class.cast(Class.java:3369)
        at
org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:606)
        at
org.geoserver.importer.rest.ImportJSONReader.fromJSON(ImportJSONReader.java:475)
        at
org.geoserver.importer.rest.ImportJSONReader.fromJSON(ImportJSONReader.java:479)
        at
org.geoserver.importer.rest.TaskTargetResource$TaskTargetJSONFormat.read(TaskTargetResource.java:156)
        at
org.geoserver.rest.format.StreamDataFormat.toObject(StreamDataFormat.java:34)
        at
org.geoserver.importer.rest.TaskTargetResource.handlePut(TaskTargetResource.java:70)
        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
org.geoserver.rest.RESTDispatcher$1.handle(RESTDispatcher.java:205)
        at
com.noelios.restlet.ext.servlet.ServletConverter.service(ServletConverter.java:129)
        at
org.geoserver.rest.RESTDispatcher.handleRequestInternal(RESTDispatcher.java:87)
....


Thanks.

Giuseppe
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to