[Zope] ZopeProfiler issue

Pascal Peregrina Pperegrina at Lastminute.com
Mon Jun 27 04:41:40 EDT 2005


Hi,

In a previous mail, I was asking if anyone had issues with ZopeProfiler and
Zope 2.8.
I have made many more tests and my issue is completely unrelated with Zope
2.8 (I got the same issue with Zope 2.7.6)

The issue has to deal with an XML-RPC call to a java service (using the
standard xmlrpclib module).

The code is (method of a class of my own):
    def query(self):
        from xmlrpclib import ServerProxy, loads, ProtocolError
        try:
            if self.protocol=='HTTP GET':
                self.result=loads(urlopen(self.url).read())[0][0]
            elif self.protocol=='XMLRPC':
 
self.result=getattr(ServerProxy(self.url),self.rpc_method_expr)(*self.params
)
        except ProtocolError:
            self.result=None
            self.zeroconf_exception=1
            self.log_exception()
        except SocketError:
            self.result=None
            self.zeroconf_exception=1
            self.log_exception()
        except IOError:
            self.result=None
            self.zeroconf_exception=1
            self.log_exception()
        except:
            self.result=None
            self.log_exception()

This works fine with disabled profiler.

However, when I enable the profiler, I get this error :
Fault: <Fault 0: 'java.lang.Exception: RPC handler object "cat.getProducts"
not found and no default handler registered\n\tat
org.apache.xmlrpc.SelfDocumentingHandlerMapping.getHandler(Ljava.lang.String
;)Ljava.lang.Object;(Unknown Source)\n\tat
org.apache.xmlrpc.XmlRpcWorker.execute(Ljava.io.InputStream;Lorg.apache.xmlr
pc.XmlRpcContext;)[B(XmlRpcWorker.java:183)\n\tat
org.apache.xmlrpc.DocXmlRpcServer.execute(Ljava.io.InputStream;Lorg.apache.x
mlrpc.XmlRpcContext;)[B(Unknown Source)\n\tat
org.apache.xmlrpc.DocXmlRpcServer.execute(Ljava.io.InputStream;Ljava.lang.St
ring;Ljava.lang.String;)[B(Unknown Source)\n\tat
org.apache.xmlrpc.DocXmlRpcWebServer$Connection.run()V(Unknown Source)\n\tat
org.apache.xmlrpc.DocXmlRpcWebServer$Runner.run()V(Unknown Source)\n\tat
java.lang.Thread.run()V(Optimized Method)\n\tat
java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Optimized
Method)\n'> 

I can reproduce that error if I omit (*self.params) on that line :
 
self.result=getattr(ServerProxy(self.url),self.rpc_method_expr)(*self.params
)

But when I add some logging, self.params looks fine.
Changing that line into :
 
self.result=apply(getattr(ServerProxy(self.url),self.rpc_method_expr),self.p
arams)
Gives the same error.

I also tried hardcoding the arguments, and I still get the same issue !

I don't know what to do, I really need to profile my Zope instance.
So any suggestion would be highly appreciated...

Thanks.

Pascal


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************



More information about the Zope mailing list