kartverket / NGIS-OpenAPI

Tjenestebasert grensesnitt mot NGIS, basert på OpenAPI og REST.
3 stars 9 forks source link

Unknown roletype, ved UpadteDatasetFeatures #122

Closed larsop closed 1 year ago

larsop commented 1 year ago

Feilmelding vi får er

2023-05-19 08:51:03,956 [pool-30-thread-6] ERROR NgisJobHandler no.skogoglandskap.topo.jobhandler.NgisJobHandler$NgisAr5UpadteDatasetFeaturesImpl.call(NgisJobHandler.java:1128) 1128 - failed when calling UpadteDatasetFeatures job for session_id A7C9C14B1201E635828D11536F9D650B with job uuid 3ae0a363-fec7-43dd-8571-2f973ea5c1d4 and dataset uuid [0c49f0e3-1982-47a8-a51d-290d2f0cfc50] registered at Fri May 19 08:51:03 CEST 2023 ngisError:{"detail":"Mottatte data på GeoJSON-format kunne ikke leses","errors":[{"reason":"Unknown roletype: avgrensesAvArealressursGrense"},{"reason":"Error reading association: index: 0 featuretype: ArealressursGrenseFiktiv lokalId: 668af1ba-41a2-42dc-82af-93e20881fefb"},{"reason":"While reading association: avgrensesAvArealressursGrense"},{"reason":"Error reading ArealressursFlate (GM_Surface FLATE): 3535501a-fb13-4a8c-bbba-ae574b243157"},{"reason":"Error reading feature index: 3 (second loop, polygons)"}],"title":"GeoJSON-data kunne ikke leses","type":"http://ngisopenapi.no/errors/geojson_read"} - 
org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request: "{"detail":"Mottatte data på GeoJSON-format kunne ikke leses","errors":[{"reason":"Unknown roletype: avgrensesAvArealressursGrense"},{"reason":"Error reading association: index: 0 featuretype: ArealressursGrenseFiktiv lokalId: 668af1ba-41a2-42dc-82af-93e20881fefb"},{"reason":"While reading association: avgrensesAvArealressursGrense"},{"reason":"Error reading ArealressursFlate (GM_Surface FLATE): 3535501a-fb13-4a8c-bbba-ae574b243157"},{"reason":"Error reading feature index: 3 (second loop, polygons)"}],"title":"GeoJSON-data kunne ikke leses","type":"http://ngisopenapi.no/errors/geojson_read"}"

Here are request and response info

2023-05-19 08:51:03,847 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logRequest(ApiClient.java:587) 587 - URI: https://openapi-test13.kartverket.no/v1/datasets/0c49f0e3-1982-47a8-a51d-290d2f0cfc50/features?locking_type=user_lock&crs_EPSG=25833&normalized_for_visualization=true&async=false - 
2023-05-19 08:51:03,847 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logRequest(ApiClient.java:588) 588 - HTTP Method: POST - 
2023-05-19 08:51:03,847 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logRequest(ApiClient.java:589) 589 - HTTP Headers: Accept=[application/vnd.kartverket.ngis.edit_features_summary+json],Content-Type=[application/vnd.kartverket.sosi+json],X-Client-Product-Version=[ar5_java_web],Authorization=[??],User-Agent=[Java-SDK],Con>
2023-05-19 08:51:03,847 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logRequest(ApiClient.java:590) 590 - Request Body: {"crs":{"type":"name","properties":{"name":"EPSG:25833"}},"type":"FeatureCollection","features":[{"type":"Feature","update":{"action":"Replace"},"geometry":{"type":"LineString","coordinates":[[556144.11,7570513.55],[556131.76,7570509.55],[55611>
2023-05-19 08:51:03,926 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logResponse(ApiClient.java:595) 595 - HTTP Status Code: 400, timeused sec. 0 - 
2023-05-19 08:51:03,926 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logResponse(ApiClient.java:596) 596 - Status Text: Bad Request - 
2023-05-19 08:51:03,926 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logResponse(ApiClient.java:597) 597 - HTTP Headers: Server=[nginx/1.14.1],Date=[Fri, 19 May 2023 06:51:03 GMT],Content-Type=[application/problem+json],Content-Length=[598],Connection=[keep-alive] - 
2023-05-19 08:51:03,926 [pool-30-thread-6] INFO  ApiClientHttpRequestInterceptor ngis.openapi.client.client.invoker.ApiClient$ApiClientHttpRequestInterceptor.logResponse(ApiClient.java:598) 598 - Response Body: {"detail":"Mottatte data på GeoJSON-format kunne ikke leses","errors":[{"reason":"Unknown roletype: avgrensesAvArealressursGrense"},{"reason":"Error reading association: index: 0 featuretype: ArealressursGrenseFiktiv lokalId: 668af1ba-41a2-42>

The file we send over is this

ls -lah --full-time /tmp/ar5_upadteDatasetFeatures_FAIL_UTF-81684479063956.json -rw-r--r-- 1 tomcat tomcat 40K 2023-05-19 08:51:03.953965923 +0200 ar5_upadteDatasetFeatures_FAIL_UTF-81684479063956.json.gz

The last two files with data uploaded from ngis openapi before drawing and bbox.

ar5_pg_OK_USER_REQUEST_A7C9C14B1201E635828D11536F9D650B_a8f7d1eb-a6b0-4f44-abc2-d688108eae9f_dataset_6aa8e2a7-8dcc-4681-918b-880403285016__UTF-8_1684479043985.json.gz ar5_pg_OK_USER_REQUEST_A7C9C14B1201E635828D11536F9D650B_a8f7d1eb-a6b0-4f44-abc2-d688108eae9f_dataset_6aa8e2a7-8dcc-4681-918b-880403285016__UTF-8_1684479043985.bbox.gz ar5_pg_OK_USER_REQUEST_A7C9C14B1201E635828D11536F9D650B_1e5684e1-86d7-49e6-a2b1-694e4ee2ad20_dataset_f8283036-6979-47cb-9988-eca6200505cf__UTF-8_1684478969330.json.gz ar5_pg_OK_USER_REQUEST_A7C9C14B1201E635828D11536F9D650B_1e5684e1-86d7-49e6-a2b1-694e4ee2ad20_dataset_f8283036-6979-47cb-9988-eca6200505cf__UTF-8_1684478969330.bbox.gz

The new line from the user added was this request

request:{"request_id":null,"session_id":"A7C9C14B1201E635828D11536F9D650B","user_id":null,"user_token":null,"response_srid":25833,"request_time":null,"layer_id":"AR5_WEBCLIENT_F","envelope":null,"bbox":{"type":"Polygon","coordinates":[[[555683
.108018526,7570150.98119758],[555683.108018526,7570725.730011334],[556631.6837069629,7570725.730011334],[556631.6837069629,7570150.98119758],[555683.108018526,7570150.98119758]]],"crs":{"type":"name","properties":{"name":"EPSG:25833"}}},"input_line":{"type":"LineString","coordinates":[[556050.2444341305,7570479.723910114],[556067.0447506473,7570449.088034827],[556089.7745826571,7570454.029306786],[556070.5036369469,7570492.077096797]],"crs":{"type":"
name","properties":{"name":"EPSG:25833"}}},"map_update":"\"{\"type\":\"Feature\",\"geometry\":{\"type\":\"LineString\",\"coordinates\":[[556050.2444341305,7570479.723910114],[556067.0447506473,7570449.088034827],[556089.7745826571,7570454.029306786],[556070.5036369469,7570492.077096797]],\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:25833\"}}},\"properties\":{\"datafangstmetode\":\"dig\",\"datafangstdato\":\"2023-05-18\"}}\"","updSurface
WithPolyReqAttrValuesStringEntities":[],"updSurfaceWithPolyReqAttrValuesDecimalEntities":[],"updSurfaceWithPolyReqAttrValuesDateEntities":[],"updSurfaceWithPolyReqAttrValuesIntEntities":[]} - 
larsop commented 1 year ago

A picture showing what the user did Screenshot 2023-05-19 at 10 05 13

meastp commented 1 year ago

Hi,

The improved error message pinpoints the problem in the input JSON :

The third (last) polygon first associated feature of avgrensesAvArealressursGrense has the featuretype avgrensesAvArealressursGrenseFiktiv...

        {
            "type": "Feature",
            "update": {
                "action": "Replace"
            },
            "geometry": { },
            "properties": {
                "opphav": "samf",
                "treslag": "98",
                "arealtype": "12",
                "featuretype": "ArealressursFlate",
                "skogbonitet": "98",
                "grunnforhold": "98",
                "datafangstdato": "2015-08-18",
                "identifikasjon": {
                    "lokalId": "3535501a-fb13-4a8c-bbba-ae574b243157",
                    "versjonId": "1970-01-01 00:00:00000"
                },
                "oppdateringsdato": "2023-02-27T14:31:37",
                "verifiseringsdato": "2015-08-18",
                "registreringsversjon": "2014-03-01",
                "klassifiseringsmetode": "sOrto",
                **"avgrensesAvArealressursGrense"**: [
                    {
                        "idx": [
                            0,
                            0,
                            0
                        ],
                        "lokalId": "668af1ba-41a2-42dc-82af-93e20881fefb",
                        "reverse": true,
                        "featuretype": **"ArealressursGrenseFiktiv"**
                    },