Bug #70075
toulouse-maelis: on peut passer un code PAI vide et faire planter Maélis
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/95972/
UnexpectedElementError: Unexpected element 'dateDeb', expected 'code' File "zeep/xsd/types/complex.py", line 206, in parse_xmlelement result = element.parse_xmlelements( File "zeep/xsd/elements/indicators.py", line 617, in parse_xmlelements item_subresult = element.parse_xmlelements( File "zeep/xsd/elements/element.py", line 206, in parse_xmlelements raise UnexpectedElementError( XMLParseError: Unexpected element 'dateDeb', expected 'code' (22 additional frame(s) were not displayed) ... File "zeep/xsd/types/complex.py", line 206, in parse_xmlelement result = element.parse_xmlelements( File "zeep/xsd/elements/indicators.py", line 617, in parse_xmlelements item_subresult = element.parse_xmlelements( File "zeep/xsd/elements/element.py", line 177, in parse_xmlelements item = self.parse(xmlelement, schema, allow_none=True, context=context) File "zeep/xsd/elements/element.py", line 126, in parse return xsd_type.parse_xmlelement( File "zeep/xsd/types/complex.py", line 212, in parse_xmlelement raise XMLParseError(exc.message) Error occurred while processing request
Fichiers
Demandes liées
Révisions associées
toulouse-maelis: do not replace null values when not needed (#70075)
toulouse-maelis: refuse empty string on required referencial field (#70075)
toulouse-maelis: add test content (#70075)
toulouse-maelis: check input referential keys (#70075)
Historique
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Projet changé de Suivi des traces à Passerelle
- Sujet changé de XMLParseError: Unexpected element 'dateDeb', expected 'code' à maelis: erreur sur appel read-child "XMLParseError: Unexpected element 'dateDeb', expected 'code'"
Mis à jour par Nicolas Roche il y a plus d'un an
- Sujet changé de maelis: erreur sur appel read-child "XMLParseError: Unexpected element 'dateDeb', expected 'code'" à toulouse-maelis: on peut passer un code PAI vide et faire planter Maélis
Si on passe une chaîne vide comme code PAI, alors Maélis qui ailleurs détecte que cette clé issue d'un référentiel n'est pas valable, ici l'accepte.
Ensuite quand Maélis dump sa base en SOAP il ne renvoie pas de code contrairement à ce qui est indiqué dans le wsdl, et zeep s'en plaint.
C'est https://redmine.sigec.fr/issues/1302 ouvert chez sigec.
Mis à jour par Nicolas Roche il y a plus d'un an
- Fichier 0003-toulouse-maelis-refuse-empty-string-on-required-refe.patch 0003-toulouse-maelis-refuse-empty-string-on-required-refe.patch ajouté
- Fichier 0002-toulouse-maelis-do-not-replace-null-values-when-not-.patch 0002-toulouse-maelis-do-not-replace-null-values-when-not-.patch ajouté
- Fichier 0001-toulouse-maelis-relax-soap-response-check-70075.patch 0001-toulouse-maelis-relax-soap-response-check-70075.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
- 0001 Être plus souple sur le trâmes SOAP reçues.
Par exemple avec #69936 on a vu le champ civilité être réordonné
https://dev.entrouvert.org/attachments/70372
et la directive strict aurait permis de ne pas avoir la trace de ce ticket (contournement).
- 0002 Ne pas envoyer les champs quand on n'a pas besoin de les vider.
J'ai retiré l'appel àreplace_null_values
(qui permet de vider un champ) là où il n'est pas nécessaire.
Cette fonction est utile sur les endpoints qui appellent updateFamily ou les micro-services sigec qui en sont dérivés.
cf https://demo-toulouse.sigec.fr/maelisws-toulouse/doc/family.html
Une donnée non renseignée (paramètre non présent) n'est pas mise à jour
Une donnée vide (paramètre présent mais chaine vide) efface la donnée
- 0003 Ne pas faire planter Maélis en lui envoyant des chaînes vides (correction du bug).
J'ai refusé les chaînes vides sur les champs obligatoires issus d'un référentiel.
En principe Maélis fait déjà le rapprochement avec le référentiel (et renvoie un message d'erreur si la clé envoyée n'en fait pas parti).
Mis à jour par Nicolas Roche il y a plus d'un an
- Dupliqué par Bug #70060: toulouse-maelis: On peut passer une qualité vide et faire planter Maélis ajouté
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a plus d'un an
- Fichier 0005-toulouse-maelis-check-input-referential-keys-70075.patch 0005-toulouse-maelis-check-input-referential-keys-70075.patch ajouté
- Fichier 0004-toulouse-maelis-add-test-content-70075.patch 0004-toulouse-maelis-add-test-content-70075.patch ajouté
- Statut changé de Solution validée à Solution proposée
- 0004 ajoute du contenu aux tests create-family, update-family et update-coordinate, sutout des clés issues des référentiels.
- 0005 contrôle les clé contenu dans les payload
Ce sont les bretelles après 0003, mais c'est pas plus mal parce que d'après ce que j'ai vu sur les clés vides, maélis ne répond pas toujours la même chose suivant les WS.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Go.
Mis à jour par Nicolas Roche il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit ae85feec894d48f4dffbc6de9de6e528611de659 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Oct 20 02:01:18 2022 +0200 toulouse-maelis: check input referential keys (#70075) commit 45ae4d3cf3c6df08fb87e28619032c1696ea49bc Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Oct 20 02:00:38 2022 +0200 toulouse-maelis: add test content (#70075) commit 016fe427b45be07bd0edef8e51e9ddac6cc1e26d Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Oct 13 12:58:35 2022 +0200 toulouse-maelis: refuse empty string on required referencial field (#70075) commit ba3ed38816b2c7ff6d492fd8cafe747a15c441e9 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Oct 13 12:02:51 2022 +0200 toulouse-maelis: do not replace null values when not needed (#70075) commit ab75346711e20db6aedc9652e9675c6337444d53 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Oct 13 12:56:06 2022 +0200 toulouse-maelis: relax soap response check (#70075)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
toulouse-maelis: relax soap response check (#70075)