[Zope-dev] xml-rpc changes between 2.7.0 and 2.7.3 ??

Tino Wildenhain tino at wildenhain.de
Wed Oct 13 00:27:22 EDT 2004


Hi,

Am Mi, den 13.10.2004 schrieb Alan Milligan um 3:31:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Tino Wildenhain wrote:
> 
> |>
> |>I had a client that used to work on 2.7.0, and now doesn't on 2.7.3.
> |>
> |>The problem would appear to be that it's not substituting the
> |>xmlrpc.Response class for a GET request on a text/xml content type and
> |>therefore just delegating to the str() function instead of wrapping it
> |>in the xml-rpc xml response tags.
> |>
> 
> | I wonder how this ever was supposed to work since
> | XML-RPC requires an entidy body for the message (which is
> | in XML). You can compare with RFC2616 - there is no
> | entidy body in GET. Your client needs to use POST.
> | I suspect then it should work.
> |
> 
> Ok, I now more fully understand the subtlety of this explanation.
> 
> What happened here is that in cgi.py's FieldStorage class, since this is
> a GET request, it completely ignores the CONTENT_TYPE environment and
> sets the content-type header to x-www-form-urlencoded.
> 
> According to Dave Winer's spec at http://www.xmlrpc.com/spec, XML-RPC is
> supposed to be HTTP-POST based, where this issue is fully resolved.
> 
> I have implemented this GET 'Extension' with this patch.
> 
> I appreciate that supporting 'unofficial' extensions to protocols is not
> something we want to encourage, but is there any chance of getting this
> patch into zope core (ever)?

-1 by me. Go and fix the broken client instead. I wonder who came
to such a crazy idea to even think about sending a body with GET.

Regards
Tino



More information about the Zope-Dev mailing list