我想将perl SOAP客户端转换为python SOAP客户端。
Perl客户端初始化像

$url = 'https://host:port/cgi-devel/Service.cgi';
$uri = 'https://host/Service';

my $soap = SOAP::Lite
    -> uri($uri)
    -> proxy($url);


我试图用suds 0.3.6在python 2.4.2中复制它

from suds.client import Client

url="https://host:port/cgi-devel/Service.cgi"
client=Client(url)


但是在运行此python脚本时出现错误

suds.transport.TransportError: HTTP Error 411: Length Required


是因为https还是问题所在?
任何帮助将不胜感激!

最佳答案

当像urllib2那样手动构造Request对象时,suds模块不会自动添加Content-Length(对于POST方法是必需的)标头。您必须修补肥皂泡沫,可能是suds.transport.HttpTransport.open()方法或suds.transport.Request类。

关于python - 用suds为SOAP编写Python客户端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1476814/

10-13 04:10