[Twisted-Python] mktap problem, cPickle.UnpickleableError
Allan Streib
astreib at indiana.edu
Mon Apr 28 15:29:08 MDT 2003
Hi,
I am trying to create an XMLRPC server based on the plugins example in the
HOWTO documentation. My TAP construction module looks like:
from twisted.web import server
from MyXMLRPCServer import methods
from twisted.python import usage
class Options(usage.Options):
optParameters = [["port", "p", 8080, "Port number for XMLRPC Server."],
["ldapurl", None, "ldap://localhost/", "URL for ldap directory server."],
["ldapbinddn", None, "cn=Manager,dc=iu,dc=edu", "Bind DN for directory"],
["ldappw", None, None, "Password for directory Bind DN"]]
def postOptions(self):
if self['ldappw'] is None:
raise usage.UsageError, "Must provide option ldappw"
def updateApplication(app, config):
port = int(config['port'])
factory = server.Site(methods.MyXMLRPCMethods(config))
app.listenTCP(port, factory)
When I run mktap with the appropriate parameters for my application, I get:
Traceback (most recent call last):
File "/usr/local/bin/mktap", line 30, in ?
run()
File "/usr/local/lib/python2.2/site-packages/twisted/scripts/mktap.py", line 252, in run
a.save()
File "/usr/local/lib/python2.2/site-packages/twisted/internet/app.py", line 754, in save
dumpFunc(self, f)
File "/usr/local/lib/python2.2/site-packages/twisted/internet/app.py", line 736, in dumpFunc
_dump(obj, file, 1)
cPickle.UnpickleableError: Cannot pickle <type 'LDAP'> objects
I think I am getting this because my "MyXMLRPCMethods" instance contains a
connection to the LDAP Server. So what is the best approach to work
around this. Sorry if this is a newbie question; I am a newbie.
Allan
More information about the Twisted-Python
mailing list