Out of curiosity, what is your end-goal with this?

_Nik

On 7/6/2012 12:44 PM, Jeff Silverman wrote:
> 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