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"/>
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-opengis-adapt-tyename-parameter-to-servr-version-388.patch 0001-opengis-adapt-tyename-parameter-to-servr-version-388.patch ajouté
- Statut changé de Nouveau à En cours
- Assigné à mis à Nicolas Roche
- Patch proposed changé de Non à Oui
Voici un patch, bien que je ne l'ai pas encore testé.
Mis à jour par Frédéric Péters il y a plus de 4 ans
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.
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-opengis-adapt-typename-parameter-to-server-version-3.patch 0001-opengis-adapt-typename-parameter-to-server-version-3.patch ajouté
- Planning changé de Non à Oui
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
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Lié à Development #38865: opengis: traiter (ou pas) les contenus XML ajouté
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Statut changé de En cours à Solution proposée
Je relaye ce nouveau problème dans #38865.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
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à.
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Solution proposée à 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.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
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.
Mis à jour par Nicolas Roche il y a environ 4 ans
- Statut changé de Solution validée à 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)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
opengis: adapt typename parameter to server version (#38851)