from soaplib.core import Application
from soaplib.core.server.wsgi import Application as WSGIApplication
from django.http import HttpResponse
class DjangoSoapApp(WSGIApplication):
"""
Generic Django view for creating SOAP web services (works with soaplib 2.0)
Based on http://djangosnippets.org/snippets/2210/
"""
csrf_exempt = True
def __init__(self, services, tns):
"""Create Django view for given SOAP soaplib services and tns"""
return super(DjangoSoapApp, self).__init__(Application(services, tns))
def __call__(self, request):
django_response = HttpResponse()
def start_response(status, headers):
django_response.status_code = int(status.split(' ', 1)[0])
for header, value in headers:
django_response[header] = value
response = super(DjangoSoapApp, self).__call__(request.META, start_response)
django_response.content = '\n'.join(response)
return django_response
SOAP web service with soaplib 2.0
最新推荐文章于 2019-03-29 22:16:25 发布