Bug #38851
opengis: adapter le paramètre typeNames à la version du serveur
0%
Description
cf https://docs.geoserver.org/latest/en/user/services/wfs/reference.html#describefeaturetype
c'est TYPENAME, pas TYPENAMES, qui devrait être passé, si la version en face n'est pas 2.0.0.
ex:
$ wget --content-on-error https://data.toulouse-metropole.fr/api/wfs?OUTPUTFORMAT=json&CQL_FILTER=DWITHIN%2C1000%2Cmeters)&SERVICE=WFS&REQUEST=GetFeature&TYPENAMES=ods%3Apoints_apport_volontaire_dmt&VERSION=1.0.0
<Exception exceptionCode="MissingParameterValue" locator="typeName"/>
Files
Related issues
Associated revisions
History
Updated by Nicolas Roche over 3 years ago
- File 0001-opengis-adapt-tyename-parameter-to-servr-version-388.patch 0001-opengis-adapt-tyename-parameter-to-servr-version-388.patch added
- Status changed from Nouveau to En cours
- Assignee set to Nicolas Roche
- Patch proposed changed from No to Yes
Voici un patch, bien que je ne l'ai pas encore testé.
Updated by Frédéric Péters over 3 years ago
Dans la description, typename, server.
Dans le code, def get_typename_label(self, renew=False), tu ne passes jamais renew, ça ne sert du coup pas de l'avoir en paramètre.
Updated by Nicolas Roche over 3 years ago
- File 0001-opengis-adapt-typename-parameter-to-server-version-3.patch 0001-opengis-adapt-typename-parameter-to-server-version-3.patch added
- Planning changed from No to Yes
Merci beaucoup pour ton aide.
Test fait via cette url depuis le connecteur de toulouse recopié localement :
https://passerelle.dev.publik.love/opengis/opendata-tm/reverse?lat=43.596&lon=1.412
Sans le patch, le connecteur obtient une réponse 400 du serveur puis retourne
{"err_class": "passerelle.utils.jsonresponse.APIError", "err_desc": "Webservice returned status code 400", "data": null, "err": 1}
c'est bien le même retour que celui obtenu sur la plateforme de Toulouse :
https://passerelle-moncompte.cutm-ea-dev-publik.nfrance.com/opengis/opendata-tm/reverse?lat=43.596&lon=1.412
Avec le patch, le connecteur obtient une réponse 200 du serveur puis retourne
{"err_class": "ValueError", "err_desc": "No JSON object could be decoded", "data": null, "err": 1}
Parce que je récupère un XML.
(Pdb) l 315 closest_feature = {} 316 min_delta = None 317 -> for feature in response.json().get('features'): 318 if not feature['geometry']['type'] == 'Point': 329 continue # skip unknown (Pdb) response.json() *** ValueError: No JSON object could be decoded
Updated by Nicolas Roche over 3 years ago
- Related to Development #38865: opengis: traiter (ou pas) les contenus XML added
Updated by Nicolas Roche over 3 years ago
- Status changed from En cours to Solution proposée
Je relaye ce nouveau problème dans #38865.
Updated by Benjamin Dauvergne over 3 years ago
On met ça en standby parce qu'en fait je ne sais même pas si on est en train de bosser pour quelque chose là.
Updated by Frédéric Péters over 3 years ago
- Status changed from Solution proposée to Solution validée
De mon côté je suis pour quand même mettre ça, ça améliore la compatibilité de taper correctement selon la version le bon attribut.
Updated by Benjamin Dauvergne over 3 years ago
Frédéric Péters a écrit :
De mon côté je suis pour quand même mettre ça, ça améliore la compatibilité de taper correctement selon la version le bon attribut.
Ok j'aurai du mettre mon intervention sur le ticket #38865.
Updated by Nicolas Roche over 3 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit edf5ff19486c5866e91f0643ddec3466746208eb Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Jan 9 16:49:10 2020 +0100 opengis: adapt typename parameter to server version (#38851)
Updated by Frédéric Péters over 3 years ago
- Status changed from Résolu (à déployer) to Solution déployée
opengis: adapt typename parameter to server version (#38851)