sends a request with python xmlrpclib with a string parameter:
send: 'POST /RPC2 HTTP/1.0\r\nHost: tec-pc-btnode.ethz.ch:8887\r\nAuthorization: Basic YnRub2RlOnRyYW0xbmVy\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 272\r\n\r\n'
send: "<?xml version='1.0' encoding='ISO-8859-1'?>\n<methodCall>\n<methodName>targetCommand.targetCommand</methodName>\n<params>\n<param>\n<value><string>00:04:3f:00:01:df</string></value>\n</param>\n<param>\n<value><string>tg get power</string></value>\n</param>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.0 200 OK\r\n'
header: Server: Apache XML-RPC 1.0
header: Connection: close
header: Content-Type: text/xml
header: Content-Length: 294
body: '<?xml version="1.0"?><methodResponse><fault><value><struct><member><name>faultString</name><value>org.apache.xmlrpc.XmlRpcException: null values not supported by XML-RPC</value></member><member><name>faultCode</name><value><int>0</int></value>
</member></struct></value></fault></methodResponse>'
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.3/xmlrpclib.py", line 1029, in __call__
return self.__send(self.__name, args)
File "/usr/lib/python2.3/xmlrpclib.py", line 1316, in __request
verbose=self.__verbose
File "/usr/lib/python2.3/xmlrpclib.py", line 1080, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib/python2.3/xmlrpclib.py", line 1219, in _parse_response
return u.close()
File "/usr/lib/python2.3/xmlrpclib.py", line 742, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 0: 'org.apache.xmlrpc.XmlRpcException: null values not supported by XML-RPC'>
Jaws server replies with XmlRpcException. Requests without parameters or without string parameters work as expected...
ethereal dump of known working and not working request
Logged In: YES
user_id=749518
Originator: YES
File Added: dump.txt
Logged In: YES
user_id=749518
Originator: YES
This XmlRpcException points to wrong XMLRPC credentials. The Jaws server should returns a better exception message.