- February 6, 2009
- 1 (after 1 ratings)
This snippet is a replacement views.py for SOAP views with on-demand WSDL generation
It iterates over your installed apps looking for web_service.py in each one, any methods decorated with @soapmethod within web_service.py will automatically be imported into the local namespace making them visible in the WSDL.
It will blindly override local objects of the same name so it's not very safe (could do with some more error checks) but it works very well.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
from soaplib_handler import DjangoSoapApp from django.conf import settings import inspect class Service(DjangoSoapApp): for app in settings.INSTALLED_APPS: try: module = __import__(app + '.web_service', , , ['']) for key in module.__dict__: func = module.__dict__[key] if inspect.isfunction(func): if '_is_soap_method' in dir(func): locals()[key] = func except ImportError, e: pass service = Service()
More like this
- Stuff by NixonDash 1 month ago
- Add custom fields to the built-in Group model by jmoppel 3 months, 1 week ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 6 months, 3 weeks ago
- Python Django CRUD Example Tutorial by tuts_station 7 months, 1 week ago
- Browser-native date input field by kytta 8 months, 3 weeks ago
Hi, you have written just what i need for my django app.
Can you recommend where should the above code snippet be placed? How can i access the wsdl URL using the above code?
Thanks for your code. -- Michael
Please login first before commenting.