I have a xmlrpc service in Web2py (1.99.3 or 1.99.4). When I try: import xmlrpclib server = xmlrpclib.ServerProxy('https://zvolsky:xxxx @www.ereceipts-server.com:8001/ereceipts_server/services/call/xmlrpc', verbose=True) server.gettime()
then I receive proper result from gettime() method and this log: send: "POST /ereceipts_server/services/call/xmlrpc HTTP/1.1\r\nHost: www.ereceipts-server.com:8001\r\nAccept-Encoding: gzip\r\nAuthorization: Basic enZvbHNreTptbWlyZWs=\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 101\r\n\r\n<?xml version='1.0'?>\n<methodCall>\n<methodName>gettime</methodName>\n<params>\n</params>\n</methodCall>\n" reply: 'HTTP/1.1 200 OK\r\n' When I try same, but with transport=... parameter: import xmlrpclib server = xmlrpclib.ServerProxy('https://zvolsky:xxxx @www.ereceipts-server.com:8001/ereceipts_server/services/call/xmlrpc', transport=xmlrpclib.Transport(), verbose=True) server.gettime() then I receive: send: "POST /ereceipts_server/services/call/xmlrpc HTTP/1.1\r\nHost: www.ereceipts-server.com:8001\r\nAccept-Encoding: gzip\r\nAuthorization: Basic enZvbHNreTptbWlyZWs=\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 101\r\n\r\n<?xml version='1.0'?>\n<methodCall>\n<methodName>gettime</methodName>\n<params>\n</params>\n</methodCall>\n" reply: 'HTTP/1.1 400 Bad Request\n' Seems "send:" part is same in both cases. What I do wrong? I think problem is not on the Web2py side, but that I'm not familiar with xmlrpclib module and Transport() class.