Projet

Général

Profil

Bug #34685

astregs: gérer les Fault lors des appels SOAP

Ajouté par Thomas Noël il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
09 juillet 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Il faudrait attraper les zeep.exceptions.Fault lors des appels et les transformer en ApiError propres, afin d'éviter les crash tels que :

Fault at /astregs/test/create-association
Erreur technique dans le service 'Tiers'
Erreur WebService :  Erreur (og.bean.AstreException) lors de l'insertion du tiers : Le numéro SIREN n'est pas
correct.   URL:
hdnCodeTrt=INSERT&CodTrt=Tiers&CodDom=GF&_hdnCodOrg=CG06&_hdnCodBud=01&_hdnCodExe=2019&comboStatut=|PROPOSE|&comboOrgani
sme=|CG06|&hdnEncodeKeyFamille=|51|CG06|&RaisonSociale=Assoc+de+los+kassos&Fournisseur=*&Debiteur=*&hdnEncodeKeyContact=
|437313|&ContactId=437313

Fichiers

Révisions associées

Révision a6656dab (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a presque 5 ans

astregs: wrap zeep errors into API errors (#34685)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

Là en l'occurence il faudrait surtout valider la forme du SIREN de notre coté, on aura du mal à extraire des informations pertinente des SOAP fault qui ne sont pas structurées (à part une str(soap_fault) je ne vois pas trop ce qu'on va en faire).

#2

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 5 ans

  • Assigné à mis à Serghei Mihai (congés, retour 15/05)

A la base le SIREN doit venir d'API entreprise ou autre, ces traces ont été créées par des sirens saisis au pif.
Je vais gérer les SOAP Fault pour ne pas péter des 500 à chaque test.

#3

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 5 ans

#4

Mis à jour par Thomas Noël il y a presque 5 ans

Je dirais de plutôt attraper tout zeep.exceptions.Error, et inclure le client = self.get_client(wsdl_name) dans le try/except.

Il doit être possible de factoriser Authentification=self.authentication et Contexte=self.context dans le call.

Il reste un "client = self.get_client(...)" devenu inutile dans associations()

La logique d'appel dans get_association_link_means(), qui commençait directement par un premier appel, me semblait bonne : pourquoi la changer ?

Et des petits soucis de PEP8 qu'Emacs doit te montrer, non ;) ? Genre 'Creation',{ sans espace.

#7

Mis à jour par Thomas Noël il y a presque 5 ans

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

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit a6656dab6b374f1df9b37b5975ad2eefe2a427b3 (origin/master, origin/HEAD)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Tue Jul 9 12:35:12 2019 +0200

    astregs: wrap zeep errors into API errors (#34685)
#9

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 5 ans

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

Formats disponibles : Atom PDF