我想将 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
模块不会像 suds
那样手动构造 Request 对象时自动添加 Content-Length(POST 方法需要) header 。您必须修补泡沫,可能是 suds.transport.HttpTransport.open()
方法或 suds.transport.Request
类。
关于python - 用 suds 为 SOAP 编写 python 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1476814/