Nik, I appreciate your help, but I'm about at the end with this.  I'm
throwing in the towel.

On Jul 6, 1:40 pm, Nikolas Stevenson-Molnar <nik.mol...@consbio.org>
wrote:
> I'm not exactly sure, I usually try to avoid SOAP. But perhaps something
> like this?http://www.w3schools.com/soap/soap_example.asp. You'll have
> to modify it to match your SOAP app, of course.
>
> Depending on what you're trying to accomplish, SOAP may not be your best
> option. I tend to prefer REST, and there are some good Django-compatible
> libraries for implementing REST 
> interfaces:http://django-rest-framework.org/(for example; there are others as 
> well)
>
> _Nik
>
> On 7/6/2012 10:32 AM, Jeff Silverman wrote:
>
>
>
> > What should the XML look like?
>
> > On Jul 6, 12:03 pm, Nikolas Stevenson-Molnar <nik.mol...@consbio.org>
> > wrote:
> >> Perhaps it's expecting XML in the request and trying to parse your POST 
> >> data (which is not XML)?
>
> >> _Nik
>
> >> On Jul 6, 2012, at 6:03 AM, Jeff Silverman wrote:
>
> >>> Ok Nik.  I have removed the CSRF middleware and get a brand new error.
> >>> XMLSyntaxError at /hello/
> >>> error parsing attribute name, line 1, column 6Request Method: POST
> >>> Request URL:http://piadm42.troweprice.com:5555/hello/
> >>> Django Version: 1.3.1
> >>> Exception Type: XMLSyntaxError
> >>> Exception Value: error parsing attribute name, line 1, column 6
> >>> Exception Location: /usr/lib/python2.6/site-packages/
> >>> soaplib-2.0.0_beta1-py2.6.egg/soaplib/core/_base.py in
> >>> _parse_xml_string, line 248
> >>> Python Executable: /usr/bin/python
> >>> Python Version: 2.6.6
> >>> The POST in fiddler is something like this ->  
> >>> http://mysite.com:5555/hello/
> >>> and the request body contains -> <name=fred&times=2>
> >>> On Jul 5, 10:35 pm, Nikolas Stevenson-Molnar <nik.mol...@consbio.org>
> >>> wrote:
> >>>> Yes, I would expect a 403 when the CSRF middleware is active, the
> >>>> decorator is not used, and no CSRF token is provided. This is the
> >>>> intended behavior. You can fix this in a few ways:
> >>>>  1. Apply the decorator to the __call__ method (rather than to the class
> >>>>     itself). If I understand how this code works, that should correctly
> >>>>     disable CSRF for the view.
> >>>>  2. Provide a CSRF value with the POST data, as you suggested. This all
> >>>>     depends on how the request is made. Django's CSRF system relies on a
> >>>>     CSRF value set in a cookie. You have to mimic a browsers cookie
> >>>>     functionality, then use the value of the CSRF cookie with evey
> >>>>     request you make. By default, the cookie name is 'csrftoken'. For
> >>>>     more info on the CSRF process:
> >>>>    https://docs.djangoproject.com/en/1.4/ref/contrib/csrf/
> >>>>  3. Disable CSRF altogether. Simply remove the CsrfViewMiddleware from
> >>>>     your settings and you're good to go.
> >>>> _Nik
> >>>> On 7/5/2012 6:22 PM, Jeff Silverman wrote:
> >>>>> Nik, if I remove the csrf decorator and leave the middleware in place,
> >>>>> I get the 403.  Is there a way to add the token on the POST command,
> >>>>> or is there another way of leaving the middleware in place, but turn
> >>>>> off csrf without using the decorator?
> >>>>> On Thursday, July 5, 2012 8:33:51 PM UTC-4, Jeff Silverman wrote:
> >>>>>     Nik, I will give that a try.  The reason for the decorator was
> >>>>>     that I was getting 403 forbidden, and the decorator made that one
> >>>>>     go away.  If I remove the csrf from the settings file, will that
> >>>>>     solve that problem?
> >>>>>     On Tuesday, July 3, 2012 9:32:20 AM UTC-4, Jeff Silverman wrote:
> >>>>>         Below is the code from the views.py
> >>>>>         The405is 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__')
> >>>>> --
> >>>>> You received this message because you are subscribed to the Google
> >>>>> Groups "Django users" group.
> >>>>> To view this discussion on the web visit
> >>>>>https://groups.google.com/d/msg/django-users/-/WpDQ4UjGEQwJ.
> >>>>> 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.-Hidequoted 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 
> >>> athttp://groups.google.com/group/django-users?hl=en.-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.

Reply via email to