Projet

Général

Profil

Development #30257

iParapheur: ajouter endpoint pour voir le WSDL "tel quel"

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Pour aider au debug, parce que l'accès au WSDL est soumis à certificat, login, pass, etc... autant que le connecteur qui a déjà tout cela sache exposer la façon dont lui il voit le WSDL.

Et c'est utile de voir le WSDL de iParapheur parce qu'on constate que les endpoint de service sont souvent mal configurés...


Fichiers

Révisions associées

Révision 3885a94e (diff)
Ajouté par Nicolas Roche il y a environ 5 ans

iparapheur: add endpoint to display raw wsdl (#30257)

Historique

#1

Mis à jour par Frédéric Péters il y a environ 5 ans

  • Assigné à Victor Claudet supprimé
#3

Mis à jour par Nicolas Roche il y a environ 5 ans

  • Fichier 0001-templatetags-add-mathematics-filters-27709.patch ajouté
  • Statut changé de Nouveau à Solution proposée
  • Assigné à mis à Nicolas Roche
  • Patch proposed changé de Non à Oui

Je n'ai pas pu tester ce patch sur un wsdl caché derrière une redirection de port.
Dites-moi...

#4

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

(petite erreur sur le patch, on sait que tu aimes les filtres Django, mais quand même)

#7

Mis à jour par Nicolas Roche il y a environ 5 ans

  • Fichier 0001-templatetags-add-mathematics-filters-27709.patch supprimé
#8

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

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

Le %r n'est pas nécessaire dans « 'data': '%r' % get_wsdl_string(self) » (on veut le wsdl lui-même et pas sa représentation en tant que string)

Pour le reste c'est ok, pousse après avoir retiré le « "%r % »

#9

Mis à jour par Nicolas Roche il y a environ 5 ans

#10

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

C'est quoi l'intérêt de renvoyer le WSDL encapsulé dans du JSON plutôt que directement (en plus directement ce sera gentiment mis en forme par les navigateurs qui aiment bien l'XML) ?

#11

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

Benjamin Dauvergne a écrit :

C'est quoi l'intérêt de renvoyer le WSDL encapsulé dans du JSON plutôt que directement (en plus directement ce sera gentiment mis en forme par les navigateurs qui aiment bien l'XML) ?

Aussi si le WSDL contient de l'UTF-8 ou du latin1 je me demande si un simple {'data': get_wsdl_string()} ne va pas foirer sur un UnicodeDecodeError, faudrait un test avec un WSDL contenant de l'UTF-8 et du latin1.

#12

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

Vrai, Benjamin. Nicolas, tu peux regarder, nos endpoint sont capables d'outre-passer la réponse en JSON. Regarde par exemple get_subscriber_qrcode dans passerelle/apps/okina/models.py qui sait renvoyer directement une image.

#13

Mis à jour par Nicolas Roche il y a environ 5 ans

Question:
si je télécharge avec mon navigateur un fichier qui contient à la fois de l'UTF-8 ou du latin1 alors il affiche une erreur,
et le seul moyen de le récupérer est d'afficher le code source de la page.
ça ira quand même ?

#14

Mis à jour par Frédéric Péters il y a environ 5 ans

si je télécharge avec mon navigateur un fichier qui contient à la fois de l'UTF-8 ou du latin1 alors il affiche une erreur,

C'est de toute façon de l'xml invalide; on doit partir de l'idée que les wsdl fournis sont valides (sinon de toute façon rien ne marchera).

#16

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

Nicolas Roche a écrit :

Dites-moi...

Le saut de ligne enlevé avant format_type(), il me semble que ce n'est pas PEP8 (2 sauts de ligne avant un fonction/classe de niveau global).

Je me demande si le pem='can_access' est bien utile, il n'y a rien de secret dans une WSDL quoi qu'en pense iParapheur...

#17

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

Benjamin Dauvergne a écrit :

Je me demande si le pem='can_access' est bien utile, il n'y a rien de secret dans une WSDL quoi qu'en pense iParapheur...

Ouaip... mais on va éviter de se poser la question, avec l'idée que c'est aussi le test de base qui permet de vérifier que l'accès à iParapheur est ok (login/pass/certif ... si le wsdl est bien vu mais que le ping ne marche pas, c'est un soucis de "endpoint")

#20

Mis à jour par Nicolas Roche il y a environ 5 ans

...dites-moi si je remet la protection (je n'ai pas assez de billes pour juger ce qui est le plus pertinent).

#21

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

Je laisse Thomas s'expliquer, moi même je ne trouve pas son commentaire sibyllin.

#22

Mis à jour par Nicolas Roche il y a environ 5 ans

Désolé, je suis long à la détente.
J'ai remis la protection.

#24

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

Mon commentaire #17 c'était effectivement n'importe quoi. On peut retirer le can_access, ça n'a rien à voir avec la communication passerelle/iparapheur.

#25

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

C'est du bizutage ou Nicolas qui réagit trop vite, disons un peu des deux.

#26

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

Benjamin Dauvergne a écrit :

C'est du bizutage ou Nicolas qui réagit trop vite, disons un peu des deux.

:-)

#28

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

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

Mis à jour par Nicolas Roche il y a environ 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 3885a94e0c6a63c424535ecc8e224cd6e22f035b
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Wed Feb 27 10:41:23 2019 +0100

    iparapheur: add endpoint to display raw wsdl (#30257)

#30

Mis à jour par Frédéric Péters il y a environ 5 ans

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

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

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

Formats disponibles : Atom PDF