Projet

Général

Profil

Development #30258

iParapheur: pouvoir surcharger les URL des appels webservices

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

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


Fichiers


Demandes liées

Lié à Passerelle - Bug #31058: iParapheur: bug sur une erreur de transportFermé04 mars 2019

Actions

Révisions associées

Révision 0b82a19d (diff)
Ajouté par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

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

Historique

#2

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

  • Assigné à changé de Thomas Noël à Nicolas Roche (absent jusqu'au 3 avril)

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

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

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

#4

Mis à jour par Serghei Mihai il y a environ 5 ans

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

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

Mais quel rapport avec ce ticket ?

#6

Mis à jour par Serghei Mihai il y a environ 5 ans

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

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

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

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

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

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

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

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

  • Lié à Bug #31058: iParapheur: bug sur une erreur de transport ajouté
#11

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

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

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

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.

#15

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

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

#16

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

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

#17

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

  • Statut changé de Solution proposée à 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

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

  • Statut changé de Résolu (à déployer) à Solution validée
#19

Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans

  • Statut changé de Solution validée à Solution déployée
#20

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

  • Statut changé de Solution déployée à Fermé

Formats disponibles : Atom PDF