Development #30258
iParapheur: pouvoir surcharger les URL des appels webservices
0%
Description
parce que souvent le WSDL n'indique pas les bonnes URLs, parce que reverse-proxy et/ou DNAT
Fichiers
Demandes liées
Révisions associées
Historique
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 ?
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 :)
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.
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.
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...
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).
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
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é
Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans
- Fichier 0001-iparapheur-add-a-field-to-override-endpoint-location.patch 0001-iparapheur-add-a-field-to-override-endpoint-location.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Je ne vois pas quel scénario permettrait d'écrire un test pour cette fonctionnalité.
Si vous avez une idée, je suis preneur.
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.
Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans
- Fichier 0001-iparapheur-add-a-field-to-override-endpoint-location.patch 0001-iparapheur-add-a-field-to-override-endpoint-location.patch ajouté
En effet (merci Serghei).
Mis à jour par Nicolas Roche (absent jusqu'au 3 avril) il y a environ 5 ans
- Fichier 0004-iparapheur-add-a-field-to-override-endpoint-location.patch 0004-iparapheur-add-a-field-to-override-endpoint-location.patch ajouté
Je remet le patch à jour en utilisant la librairie zeep.
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).
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).
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)
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution validée
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
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Statut changé de Solution déployée à Fermé
iparapheur: add a field to override endpoint location on wsdl (#30258)