[Zope3-Users] Issue with xmlrpc call to zope3 xmlrpc view hanging, until original call interupted.
Roger Ineichen
dev at projekt01.ch
Thu Oct 16 06:25:18 EDT 2008
Hi Tim
> Betreff: [Zope3-Users] Issue with xmlrpc call to zope3 xmlrpc
> view hanging,until original call interupted.
>
> Hi
>
> I wonder if anyone can shed some light on a problem I am
> having with xmlrpc calls to a zope3 server.
>
> I am running zope3 from buildout on python2.5 on unbuntu.
>
> I have a view defined for xmlrpc (zope.app.publisher 3.5.0)
> the same view is also defined for jsonrpc using z3c.jsonrpc
>
> I am testing with xmlrpclib and the z3c.jsonrpc proxy
>
> Everything works fine when testing the jsonrpc call. However
> when performing the xmlrpc call the call hangs, until I
> either kill the server, or the ctl ^c the test.
>
> I know the zcml registration for the view is correct as I end
> up in the method of the view on the server,because I can put
>
> import pdb
> pdb.set_trace()
>
> in the method in question, and when I kill the client socket
> the server thread advances to the set_trace call and I get
> the stacktrace on the client as follows
>
> Traceback (most recent call last):
> File "bin/python", line 136, in <module>
> execfile(sys.argv[0])
> File "x.py", line 6, in <module>
> print x.iba.stores.name()
> File "/usr/lib/python2.5/xmlrpclib.py", line 1147, in __call__
> return self.__send(self.__name, args)
> File "/usr/lib/python2.5/xmlrpclib.py", line 1437, in __request
> verbose=self.__verbose
> File "/usr/lib/python2.5/xmlrpclib.py", line 1185, in request
> errcode, errmsg, headers = h.getreply()
> File "/usr/lib/python2.5/httplib.py", line 1199, in getreply
> response = self._conn.getresponse()
> File "/usr/lib/python2.5/httplib.py", line 928, in getresponse
> response.begin()
> File "/usr/lib/python2.5/httplib.py", line 385, in begin
> version, status, reason = self._read_status()
> File "/usr/lib/python2.5/httplib.py", line 343, in _read_status
> line = self.fp.readline()
> File "/usr/lib/python2.5/socket.py", line 331, in readline
> data = recv(1)
> KeyboardInterrupt
>
>
> It seems as if the publisher for xmlrpc is not reading
> everything from the socket.
>
> I have been using xmlrpclib for years against zope2 and never
> experienced sort of problem, and my current python 2.4 and
> 2.5 xmlrpclib in ubuntu works fine against existing zope2 servers.
>
> I am using paste.httpserver .
>
> Any ideas, things I could try to diagnose the problem?
As far as I understand the problem is at the server side
if you receive a xmlrpc request and not if you use a
XMLRPC client and will send a request.
The z3c.jsonrpc doesn't use anything similar then the xmlrpclib
implementation. I mean the jsonrpc and xmlrpc implemenation are
not comparable for that problem.
The z3c.json package offers a JSON python client. Only this
client uses similar patterns then the xmlrpclib package.
Regards
Roger Ineichen
More information about the Zope3-users
mailing list