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.