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

Alan Milligan alan at balclutha.org
Tue Oct 12 21:31:55 EDT 2004


-----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)?

Cheers, Alan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFBbIWLCfroLk4EZpkRAlX3AKDI5Cdb6CUfdkqtSrEllfZeEGEnMwCdHJN0
78EIcOvXOD2H4imuI2NQOxw=
=H+yj
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: zope-xmlrpc-get.patch
Type: text/x-patch
Size: 807 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20041013/2c7b65f2/zope-xmlrpc-get.bin


More information about the Zope-Dev mailing list