我想将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/