Project

General

Profile

Development #35370

fonctionner avec un zeep récent

Added by Frédéric Péters 2 months ago. Updated 2 days ago.

Status:
Solution proposée
Priority:
Normal
Assignee:
Target version:
-
Start date:
12 Aug 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Aujourd'hui,

            'zeep < 3.0',

(notre dépôt a 2.5.0, buster a 3.2.0)

0001-utils-soap-upgrade-zeep-soap-library-version-35370.patch View (8.29 KB) Nicolas Roche, 15 Oct 2019 07:39 PM

History

#1 Updated by Nicolas Roche 5 days ago

  • Assignee set to Nicolas Roche

a priori ne plante que sur l'iparapheur

#2 Updated by Frédéric Péters 4 days ago

Attention il faut continuer à fonctionner avec la version qui est sur nos serveurs. (en plus de fonctionner avec la dernière version dispo).

#3 Updated by Nicolas Roche 4 days ago

Oui, j'avais zappé.
Désolé, encore un patch bien moche.

Le principal problème vient du déport de certains paramètres du
constructeur de l'objet client SOAP dans un objet de configuration.

Ici, il ne s'agit en fait que du paramètre 'strict' qui permet
d'être plus permissif avec le SOAP retourné.
https://python-zeep.readthedocs.io/en/master/client.html#strict-mode
J'ai du modifier le soap.wsdl des tests pour ajouter un test qui met
en évidence son effet.

Pour l'instant il n'y a que l'iparapheur qui utilise ce paramètre.
Peut-être que se serait plus propre d'utiliser un block with :

with client.settings(strict=True):
    response = client.service.myoperation()

et alors de laisser à chaque connecteur le soin de gérer ce paramètre.

#4 Updated by Thomas Noël 2 days ago

Faudrait avoir l'infra de test sur les deux versions.

Dans tox.ini, ie y créer deux environnements, zeep2 et zeep3.

Ensuite, pour ne pas doubler les temps de test dans Jenkins, tant qu'on n'a pas encore commencé la bascule vers zeep3, je pense qu'on pourrait rester en « envlist = django111-pg-zeep2 ».

Also available in: Atom PDF