Django-fr

Forum

#1 23-05-2011 15:57:03

frague
Membre
Inscription : 29-11-2010
Messages : 24

Servir du SOAP avec Django

Bonjour à tous,

Je suis en train de développer une mini-application de gestion de documents (upload/download), et de transformations de ces documents. La transformation se base sur modification de variables définies dans un document Open Document (LibreOffice). J'utilise pour ça ZipFile et ElementTree. (si le code intéresse quelqu'un, me laisser un message...), les pages d'upload / download sont écrite avec django.

L'objectif est de faire un système de transformations de formulaires "universel"

Lors du téléversement du fichier "modèle" (contenant des variables), il est analysé et les variables sont ajoutées dans une table, pour valider les formats quand on demandera une "transformation".

Je souhaite accéder à ces fonctionnalités depuis d'autres sites, et j'ai pensé que l'utilisation de WebService/SOAP était la plus appropriée, mais je n'ai rien trouvé sur le sujet dans la doc django.

En utilisant le décorateur @csrf_exempt, je peux récupérer le fichier généré, depuis une autre machine et sans envoyer jeton CSRF. Je souhaite maintenant mettre à disposition ma fonctionnalité de transformation via un WebService SOAP/WSDL

Est-il possible d'utiliser django pour servir un tel Webservice ?

Sinon, comme puis-je intégrer cette technologie dans django ?

Merci de votre attention.


frague

Hors ligne

#2 29-05-2011 16:28:08

daker
Membre
Inscription : 29-03-2011
Messages : 13

Re : Servir du SOAP avec Django

Oui tu peut utiliser la librairie python soaplib, voici un snippet http://djangosnippets.org/snippets/979/ qui explique la base.

Hors ligne

#3 01-06-2011 09:42:10

Olivier Meunier
Membre
Inscription : 11-08-2010
Messages : 29

Re : Servir du SOAP avec Django

Bonjour,

Le 23/05/11 16:57, François GUÉRIN a écrit :
> L'objectif est de faire un système de transformations de formulaires
> "universel"
>
> Je souhaite accéder à ces fonctionnalités depuis d'autres sites, et
> j'ai pensé que l'utilisation de WebService/SOAP était la plus
> appropriée, mais je n'ai rien trouvé sur le sujet dans la doc django.

Si rien ne t'y contraint, tu serais peut-être mieux d'envisager autre
chose que soap. Il y a une grande quantité d'outils pour faire des
services web bien foutus. Par exemple :

https://bitbucket.org/jespern/django-piston/wiki/Home
https://github.com/benoitc/restkit

Ces deux là sont plutôt pas mal fait et bien documentés.

En te reposant sur soap, tu te limites à un protocole mal pensé et des
implémentations client et serveur complexes. Après, si tu n'as pas le
choix, condoléances wink

Hors ligne

#4 01-06-2011 10:00:27

Olivier Girardot
Membre
Inscription : 08-04-2011
Messages : 14

Re : Servir du SOAP avec Django

Juste une précision sur Piston, pour avoir beaucoup utiliser la version
original sur BitBucket,
je ne peux que conseiller d'utilise plutôt le fork suivant:
https://github.com/mozilla/django-piston
<https://github.com/mozilla/django-piston>qui contient un certain nombre de
fix qui vous évitera de vous prendre la tête sur des "Bad Request"

Cordialement,

Olivier.

Le 1 juin 2011 10:42, Olivier Meunier <om _AT_ neokraft.net> a écrit :

> Bonjour,
>
> Le 23/05/11 16:57, François GUÉRIN a écrit :
>
>> L'objectif est de faire un système de transformations de formulaires
>> "universel"
>>
>> Je souhaite accéder à ces fonctionnalités depuis d'autres sites, et
>> j'ai pensé que l'utilisation de WebService/SOAP était la plus
>> appropriée, mais je n'ai rien trouvé sur le sujet dans la doc django.
>>
>
> Si rien ne t'y contraint, tu serais peut-être mieux d'envisager autre chose
> que soap. Il y a une grande quantité d'outils pour faire des services web
> bien foutus. Par exemple :
>
> https://bitbucket.org/jespern/django-piston/wiki/Home
> https://github.com/benoitc/restkit
>
> Ces deux là sont plutôt pas mal fait et bien documentés.
>
> En te reposant sur soap, tu te limites à un protocole mal pensé et des
> implémentations client et serveur complexes. Après, si tu n'as pas le choix,
> condoléances wink
>
> --
> Olivier
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

Pied de page des forums