无法使用 Curl 将要素类型上传到 Geoserver REST API

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

地理服务器版本 2.20.1

我正在尝试将 PostGIS table 注册为 Geoserver 中的图层。 这是我在 bash

中的 Curl 命令
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

其中 $dataset 是 table 的名称。

这是我遇到的错误:

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

我以前从未见过这个错误。 而且我看不出我的凭据有什么问题,因为我使用相同的凭据在同一 bash 脚本中成功执行了其他任务(例如导入 GeoTIFF)。这是怎么回事?

在这种情况下,Geoserver 与 PostGIS 一起设置 docker-compose

有趣的是,当我第一次发帖时,我使用的是 Postgres 版本 14,PostGIS 版本 3.1。 当我恢复使用 Postgres 版本 13 时,错误消失了(好吧,一个新错误出现了,但它似乎是一个单独的问题——你知道它是怎么回事)。 ¯_(ツ)_/¯

我对 Postgres 版本不够熟悉,无法说明恢复到版本 13 有什么不同(也许版本 14 有安全更改??),但它对我有用。