[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