Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install dm.zopepatches.xmlrpc

How to install dm.zopepatches.xmlrpc

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install dm.zopepatches.xmlrpc
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0 Available View build log
Windows (64-bit)
1.0 Available View build log
Mac OS X (10.5+)
1.0 Available View build log
Linux (32-bit)
1.0 Available View build log
Linux (64-bit)
1.0 Available View build log
 
Author
License
ZPL
Dependencies
Lastest release
version 1.0 on Jan 5th, 2011

This package patches the web application server Zope to allow customizable control over the interpretation of requests as xmlrpc requests. It implements functionality proposed in https://bugs.launchpad.net/zope2/+bug/373663.

The package has been tested with Zope 2.10.x. It contains special handling for Zope 2.11 and Zope 2.12. Because each of these versions requires version specific handling (an indication that the corresponding Zope code is unstable (in the sense that it changes often)), it is likely to fail with other Zope versions.

Control xmlrpc processing

Zope has built in xmlrpc support. Unfortunately, this support triggers as soon as a "POST" request has a "text/xml" content type. However, there are many "POST" requests which use a "text/xml" content type but cannot be interpreted as xmlrpc requests, most prominently SOAP 1.1 requests.

Starting with Zope 2.12, Zope no longer treats requests with a "SoapAction" header as xmlrpc requests. This solves the problem for SOAP 1.1 requests; however, in a very ad-hoc way. This package provides an easily customizable way to control the recognition of xmlrpc requests.

In publisher.interfaces it defines the interface IXmlrpcChecker. This interface is destined as an interface implemented by a utility. When dm.zopepatches.publisher.interfaces is imported, Zope's HTTPRequest is patched such that when the preconditions for an xmlrpc request as stipulated by the xmlrpc specification ("POST" request and content type text/xml) are met, an IXmlrpcChecker utility is looked up and the request is interpreted as an xmlrpc request when either no such utility is found or the utility applied to the request returns true. Otherwise, the request is treated normally and other parts of the framework or the application can handle it as appropriate.

This means that you simply can register an dm.zopepatches.xmlrpc.publisher.interfaces.IXmlrpcChecker utility when you need control over the triggering of Zope's xmlrpc support.

Subscribe to package updates

Last updated Jan 5th, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.