http://djangosnippets.org/snippets/2638/
On Jul 3, 2:56 pm, Nikolas Stevenson-Molnar <nik.mol...@consbio.org> wrote: > Would you please provide a reference to the snippet or to your complete > code? It's hard to understand what's going on from this small bit. > > _Nik > > On 7/3/2012 11:33 AM, Jeff Silverman wrote: > > > > > Thanks for the reply. Removing that did not change the result. Just > > an FYI, but I copied the code verbatim from the snippet. that's why I > > cannot understand what's going on. I continually get the 405 method > > not allowed error regardless. > > > On Jul 3, 1:28 pm, Nikolas Stevenson-Molnar <nik.mol...@consbio.org> > > wrote: > >> I'm not sure that this is the problem, but typically constructors should > >> not have a return value. Try removing the "return" from your > >> DjangoSoapApp constructor. > > >> _Nik > > >> On 7/3/2012 6:32 AM, Jeff Silverman wrote: > > >>> Below is the code from the views.py > >>> The 405 is retunred from the 'return super(DjangoSoapApp, > >>> self).__init__(Application(services, tns))' statement. I am using > >>> python 2.6, soaplib20 and django 1.3. I am struggling to understand > >>> what exactly is wrong here. > >>> class HelloWorldService(DefinitionBase): > >>> @soap(String,Integer,_returns=Array(String)) > >>> def say_smello(self,name,times): > >>> results = [] > >>> for i in range(0,times): > >>> results.append('Hello, %s'%name) > >>> return results > >>> class DjangoSoapApp(WSGIApplication): > >>> 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 > >>> # the view to use in urls.py > >>> hello_world_service = DjangoSoapApp([HelloWorldService], '__name__')- > >>> Hide quoted text - > >> - Show quoted text -- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.