无法使用Zeep获得WSDL服务

问题描述

我正在尝试使用zeep == 3.4.0来访问SOAP服务。我在防火墙内部,但是在Chrome浏览器中,如果我请求WSDL URL,则会在浏览器窗口中显示服务列表。

但是,当我尝试在DOS窗口中这样做时:

python -mzeep http://a_service_url.svc?wsdl

我明白了

requests.exceptions.HTTPError:504服务器错误:网关超时 网址:.....

通过简单的python设置尝试时,我仍然遇到504错误

from zeep import Client,Transport
import operator
import datetime as dt


wsdl = "http://a_service_url.svc?wsdl"
client = Client(wsdl)
transport = Transport(operation_timeout=3600)
client = Client(wsdl=wsdl,transport=transport)

for service in client.wsdl.services.values():
    print("service:",service.name)
    for port in service.ports.values():
        operations = sorted(
            port.binding._operations.values(),key=operator.attrgetter('name'))

        for operation in operations:
            print("method :",operation.name)
            print("  input :",operation.input.signature())
            print("  output:",operation.output.signature())
            print
    print

如果有人能告诉我为什么它可以在浏览器中而不是DOS命令或Python代码中起作用,并且可能的解决方法,我将不胜感激。我在环境变量中正确设置了代理。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)