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 ********************************************************************** _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )