I am trying to make a POST request to geoserver in order to Insert a new feature. I am using the example provided by the Demo section of geoserver.
I have modified it as following:
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:geonode="http://www.openplans.org/geonode"
xmlns:gml="http://www.opengis.net/gml">
88.247354197,21.438097723 89.247354197,18.438097723
alley
When trying to execute it I get a message:
Feature type 'bgd_uti_transmissionline_nrel' is not available:
Any idea why this is happening?
EDITED I tried to make a DescribeFeature request as:
version="1.0.0"
service="WFS"
xmlns="http://www.opengis.net/wfs"
xmlns:topp="http://www.openplans.org/topp"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs http://www.opengis.net/wfs">
geonode:bgd_uti_transmissionline_nrel
I did the request through the Demo section of geoserver. I get nothing back. Checking the Developer's tools, I see the request is pending.
EDIT II
I did the DescribeFeature request using PYTHON Requests and I get something meaningful:
When I tried to do the InsertFeature request using PYTHON Requests, I got this error:
Feature type 'bgd_uti_transmissionline_nrel' is not available:
Answer
There were two issues in my requests. The first one was related with the URL. Initially I was using this URL:
url = 'http://localhost:8080/geoserver/wfs'
Including my_workspace name in the URL is necessary for this WFS-T Insert (according to here):
url = 'http://localhost:8080/geoserver/my_workspace/wfs'
The second issue was related with the namespace I have defined: geonode In the end the xml I used looked like this:
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml">
39.247354197,21.438097723 89.247354197,18.438097723
The rest of the request command (using PYTHON Requests lib) is straightforward:
headers = {'Content-Type': 'application/xml'}
print requests.post(url, data=xmlstr, headers=headers, auth=('geoserver_user', 'geoserver_pass')).text
The problem to solve now is how to pass non spatial data in the request. Meaning values of the attributes.
No comments:
Post a Comment