Home > database >  Can't upload feature type to Geoserver REST API using Curl
Can't upload feature type to Geoserver REST API using Curl

Time:12-08

Geoserver version 2.20.1

I am attempting to register a PostGIS table as a layer in Geoserver. Here is my Curl command in bash

curl -v -u $GEOSERVER_ADMIN_USER:$GEOSERVER_ADMIN_PASSWORD \
        -XPOST -H "Content-type: text/xml" \
        -d "\
        <featureType>
            <name>$dataset</name>\
            <title>$dataset</title>\
            <nativeCRS class='projected'>EPSG:4326</nativeCRS><srs>EPSG:4326</srs>\
            <nativeBoundingBox>\
                <minx>-94.0301461140306003</minx>\
                <maxx>-91.0935619356926054</maxx>\
                <miny>46.5128696410899991</miny>\
                <maxy>47.7878144308049002</maxy>\
                <crs class='projected'>EPSG:4326</crs>\
            </nativeBoundingBox>
        </featureType>" \
        http://geoserver:8080/geoserver/rest/workspaces/foropt/datastores/postgis/featuretypes

where $dataset is the name of the table.

Here is the error I am getting:

The retquest has not been applied because it lacks valid authentication credentialsn for the target resource.

I have never seen this error before. And I can't see how it's an issue with my credentials, since I am successfully performing other tasks (such as importing GeoTIFFs) within the same bash script using the same credentials. What is going on here?

CodePudding user response:

In this situation, Geoserver is setup alongside PostGIS in a docker-compose arrangement.

Interestingly enough, when I first posted, I was using Postgres version 14, PostGIS version 3.1. When I revert back to using Postgres version 13, the error goes away (well, a new one crops up but it seems to be a separate issue--you know how it goes). ¯_(ツ)_/¯

I'm not familiar enough with Postgres versions to say what difference it made by reverting back to version 13 (maybe there are security changes at version 14??), but it worked for me.

  • Related