Project

General

Profile

Development #30258

iParapheur: pouvoir surcharger les URL des appels webservices

Added by Thomas Noël 6 months ago. Updated 3 months ago.

Status:
Fermé
Priority:
Normal
Assignee:
Target version:
-
Start date:
31 Jan 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

parce que souvent le WSDL n'indique pas les bonnes URLs, parce que reverse-proxy et/ou DNAT

0001-iparapheur-add-a-field-to-override-endpoint-location.patch View (3.14 KB) Nicolas Roche, 04 Mar 2019 03:24 PM

0001-iparapheur-add-a-field-to-override-endpoint-location.patch View (4.52 KB) Nicolas Roche, 04 Mar 2019 07:22 PM

0004-iparapheur-add-a-field-to-override-endpoint-location.patch View (5.34 KB) Nicolas Roche, 12 Mar 2019 06:46 PM


Related issues

Related to Passerelle - Bug #31058: iParapheur: bug sur une erreur de transport Fermé 04 Mar 2019

Associated revisions

Revision 0b82a19d (diff)
Added by Nicolas Roche 4 months ago

iparapheur: add a field to override endpoint location on wsdl (#30258)

History

#2 Updated by Nicolas Roche 5 months ago

  • Assignee changed from Thomas Noël to Nicolas Roche

Serghei m'a aidé à faire remonter le message d'erreur qui apparaît lorsque l'url donnée en remplacement n'aboutit pas.
(code non testé ; on s'attend à avoir un 3ème argument)

except(RequestException,) as e:
    raise TransportError(e.message.message, None)

Est-ce que je peux inclure la correction dans ce patch (dans un second commit),
ou est-ce que vous préférez que j'ouvre un nouveau ticket ?

#3 Updated by Thomas Noël 5 months ago

Il doit me manquer un bout d'explication, je comprends pas de quoi tu parles :)

#4 Updated by Serghei Mihai 5 months ago

L'erreur est dans:

raise TransportError(e.message.message, None)

ou e.message.message explose et il n'y a pas de test qui couvre cette ligne.

#5 Updated by Thomas Noël 5 months ago

Mais quel rapport avec ce ticket ?

#6 Updated by Serghei Mihai 5 months ago

Il me semble que dans ses tests Nicolas utilisait une url d'appel du genre "prout" qui provoquait une exception:

contrib/iparapheur/soap.py

        try:
            resp = self.model.requests.post(request.url, data=request.message,
                headers=request.headers, **self.get_requests_kwargs())
        except(RequestException,) as e:
            raise TransportError(e.message.message, None)

et bam.

#7 Updated by Thomas Noël 5 months ago

Le ticket où nous parlons est une demande d'ajout de la possibilité de surcharger les URL endpoint services du wsdl. Je pense qu'on peut arrêter de parler de n'importe quoi d'autre...

#8 Updated by Benjamin Dauvergne 5 months ago

Tu peux simplifier cette partie avec un TransportError(str(e)), je pense. À terme le plan c'est de complètement dégager suds pour utiliser zeep (et donc tout le code dans iparapheur/soap.py).

#9 Updated by Nicolas Roche 5 months ago

Désolé d'avoir tout embrouillé, j'ai voulu aller trop vite.
Je vais traiter en premier le bug que je décris ici: #31058

#10 Updated by Nicolas Roche 5 months ago

  • Related to Bug #31058: iParapheur: bug sur une erreur de transport added

#11 Updated by Nicolas Roche 5 months ago

Je ne vois pas quel scénario permettrait d'écrire un test pour cette fonctionnalité.
Si vous avez une idée, je suis preneur.

#12 Updated by Benjamin Dauvergne 5 months ago

Prend un WSDL quelconque, configure une ressource, met la destination alternative, mock requests.post() et vérifie que ça tape bien sur l'URL alternative et pas la première.

#14 Updated by Nicolas Roche 4 months ago

Je remet le patch à jour en utilisant la librairie zeep.

#15 Updated by Benjamin Dauvergne 4 months ago

Ack, mais je suppose que ça doit s'appliquer dans un certain ordre avec d'autres patchs (notamment pour zeep).

#16 Updated by Nicolas Roche 4 months ago

merci. Oui, c'est le dernier des 4 (j'ai déjà fait passer ceux de #31120).

#17 Updated by Nicolas Roche 4 months ago

  • Status changed from Solution proposée to Résolu (à déployer)
commit 0b82a19d0cd3cf8c51546f95f8b97ba363db7ae7
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Tue Mar 12 18:16:40 2019 +0100

    iparapheur: add a field to override endpoint location on wsdl (#30258)

#18 Updated by Benjamin Dauvergne 4 months ago

  • Status changed from Résolu (à déployer) to Solution validée

#19 Updated by Nicolas Roche 4 months ago

  • Status changed from Solution validée to Solution déployée

#20 Updated by Benjamin Dauvergne 3 months ago

  • Status changed from Solution déployée to Fermé

Also available in: Atom PDF