Brian Lloyd wrote:
The more I look at this problem and the Zope code set up to handle it, the more I think that hacking Zope is the only way to accomplish what I want. The question I keep coming to, though, is "Is it right that Zope assumes that all POSTs with a text/xml payload are xmlrpc calls?" and I can't help but answering "no".
And you are correct ;) Unfortunately, though, this misfeature has been around for a long time and would break a lot of people if the default were changed. That doesn't mean it shouldn't necessarily be changed anyway, possibly with some sort of backward-compatibility mode that would make the transition reasonable.
This sounds to me like it won't be getting changed any time soon. :-)
Short of that though, its your lucky day, since I happen to have an add-on product laying around that does exactly what you want ;)
The attached XmlFix product disables xml-rpc handling w/o having to hack Zope (well, it hacks it from the outside, at least), which lets you handle xml sent via POST.
Thanks, Brian. That's a nifty piece of code -- I never realized that you could do something like this in a Product; but it makes sense now that I see it (wooo Python!). The Product version is definitely more supportable and upgrade- proof than hacking the Zope code itself. JZ