Projet

Général

Profil

Bug #70075

toulouse-maelis: on peut passer un code PAI vide et faire planter Maélis

Ajouté par Sentry Io il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
11 octobre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Dupliqué par Passerelle - Bug #70060: toulouse-maelis: On peut passer une qualité vide et faire planter MaélisRejeté10 octobre 2022

Actions

Révisions associées

Révision ab753467 (diff)
Ajouté par Nicolas Roche il y a plus d'un an

toulouse-maelis: relax soap response check (#70075)

Révision ba3ed388 (diff)
Ajouté par Nicolas Roche il y a plus d'un an

toulouse-maelis: do not replace null values when not needed (#70075)

Révision 016fe427 (diff)
Ajouté par Nicolas Roche il y a plus d'un an

toulouse-maelis: refuse empty string on required referencial field (#70075)

Révision 45ae4d3c (diff)
Ajouté par Nicolas Roche il y a plus d'un an

toulouse-maelis: add test content (#70075)

Révision ae85feec (diff)
Ajouté par Nicolas Roche il y a plus d'un an

toulouse-maelis: check input referential keys (#70075)

Historique

#1

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'"
#2

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Assigné à mis à Nicolas Roche
#3

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.

#8

Mis à jour par Nicolas Roche il y a plus d'un an

  • 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).
#9

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é
#10

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée
#12

Mis à jour par Nicolas Roche il y a plus d'un an

Deux nouveaux patch pour vérifier les clés :
  • 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.
#13

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée

Go.

#14

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)
#15

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#16

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF