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.

Reply via email to