On 3/29/07, jmp242 <[EMAIL PROTECTED]> wrote:
I too am fighting with ZenWin - you need to set the U/N + password to whatever 
ZOPE is set to (not sure how you change that), wich as already stated is 
admin/zenoss.

However, my problem is that Zenwin fell over after working for a little while, 
now I get:

2007-03-28 15:24:28 ERROR zen.zenwin: config load failed
Traceback (most recent call last):
  File "C:\zenwin-1.1.1\zenutils\StatusMonitor.py", line 96, in getConfig
    self.loadConfig()
  File "C:\zenwin-1.1.1\zenwin.py", line 58, in loadConfig
    for n,u,p,s in server.getWinServices():
  File "C:\Python24\lib\xmlrpclib.py", line 1096, in __call__
    return self.__send(self.__name, args)
  File "C:\Python24\lib\xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
  File "C:\Python24\lib\xmlrpclib.py", line 1147, in request
    return self._parse_response(h.getfile(), sock)
  File "C:\Python24\lib\xmlrpclib.py", line 1286, in _parse_response
    return u.close()
  File "C:\Python24\lib\xmlrpclib.py", line 744, in close
    raise Fault(**self._stack[0])
Fault: <Fault -1: 'Unexpected Zope exception: exceptions.TypeError - dictionary 
key must be string'>

jmp242,

I had this same problem. The root cause is that your Zenoss server is
running Python 2.3. The requirement is actually Python 2.4. There is a
way to make this work with Python 2.3, which I've posted to the
mailing list before and I'll reproduce for you below. Who knows what
other problems you'll run into if you stay with Python 2.3 though..
I've since upgraded to 2.4 myself.

I'm running my Zenoss server on CentOS 4.4, and due to this I'm stuck
with Python-2.3. After upgrading to the latest SVN trunk of Zenoss my
zenwin service on my Windows server no longer worked. It was throwing
exceptions like "dictionary key must be string."

The cause of the exception ended up being the xmlrpclib that goes with
Python-2.3. It doesn't properly support unicode, which Zenoss has
started using extensively as of late. If you, like I, are unable to
upgrade to Python-2.4, you can apply this patch to your xmlrpclib
(usually in /usr/lib/python2.3/xmlrpclib.py)

@@ -689,7 +689,10 @@
       for k in value.keys():
           write("<member>\n")
           if type(k) is not StringType:
-                raise TypeError, "dictionary key must be string"
+                if unicode and type(k) is UnicodeType:
+                    k = k.encode(self.encoding)
+                else:
+                    raise TypeError, "dictionary key must be string"
           write("<name>%s</name>\n" % escape(k))
           dump(value[k], write)
           write("</member>\n")

--
Chet Luther
[EMAIL PROTECTED]
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to