添加CustomTransport时忽略SUDS标头

时间:2017-03-17 08:19:24

标签: python-2.7 ssl soap content-type suds

我正在尝试使用带有subs的Web服务,因为我使用的是自签名证书,因此我想忽略证书检查。

我在这里找到了如何做到这一点的方法: Bypass SSL when I'm using SUDS for consume web service

CustomTransport类的复制方式与答案完全相同。

但我收到错误: 例外:(415,u“无法处理消息,因为内容类型'text / xml; charset = utf-8'不是预期类型'application / soap + xml; charset = utf-8'。”)

即使我在标题中将内容类型设置为soap:

aHeader = {
    "Content-Type" : 'application/soap+xml; charset=UTF-8',
    "SOAPAction": "",
}

client = Client(wsdl, transport=CustomTransport(), headers=aHeader)

我找不到发生这种情况的原因,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

由于CustomTransport,它被忽略了,所以为了使这项工作你需要将标题放在customtransport中,如下所示:

client = Client(wsdl, transport=CustomTransport(headers=aHeader))