如何在 python 中使用 zeep 实现 wsdl?
How to implement a wsdl with zeep in python?
我正在使用 zeep 来实现 Web 服务,其中一个 WSDL 在 python 中不起作用,但在 c# 中没问题。
这是我使用的代码:
from zeep import Client
wsdl = 'https://sep.shaparak.ir/payments/initpayment.asmx?wsdl'
client = Client(wsdl)
而且,我的错误是:
requests.exceptions.HTTPError: 500 Server Error: Internal Server
Error for url: https://sep.shaparak.ir/payments/initpayment.asmx?wsdl
在 C# 中它有效!你有什么想法可以帮助我吗?!
根据您提供的信息,我无法帮助您解决内部服务器错误。但是,我可以帮助您了解更多信息...
http://docs.python-zeep.org/en/master/transport.html#debugging
import logging.config
logging.config.dictConfig({
'version': 1,
'formatters': {
'verbose': {
'format': '%(name)s: %(message)s'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
},
'loggers': {
'zeep.transports': {
'level': 'DEBUG',
'propagate': True,
'handlers': ['console'],
},
}
})
看来是你说的wsdl有问题,换个试试。
例如:http://www.soapclient.com/xml/soapresponder.wsdl
并将您的代码编辑为:
client = zeep.Client(wsdl)
我将 zeep 与 magento 一起使用,这是我如何加载 wsdl 并获取会话 ID
from zeep import Client
soap = Client(http://my-wsdl)
session = soap.service.login(USER, PASSWORD)
替换 http://my-wsdl、用户密码(如适用)
然后,拨打电话
list_of_attribute_sets = soap.service.catalogProductAttributeSetList(session)
希望对您有所帮助。
我正在使用 zeep 来实现 Web 服务,其中一个 WSDL 在 python 中不起作用,但在 c# 中没问题。
这是我使用的代码:
from zeep import Client
wsdl = 'https://sep.shaparak.ir/payments/initpayment.asmx?wsdl'
client = Client(wsdl)
而且,我的错误是:
requests.exceptions.HTTPError: 500 Server Error: Internal Server
Error for url: https://sep.shaparak.ir/payments/initpayment.asmx?wsdl
在 C# 中它有效!你有什么想法可以帮助我吗?!
根据您提供的信息,我无法帮助您解决内部服务器错误。但是,我可以帮助您了解更多信息...
http://docs.python-zeep.org/en/master/transport.html#debugging
import logging.config
logging.config.dictConfig({
'version': 1,
'formatters': {
'verbose': {
'format': '%(name)s: %(message)s'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
},
'loggers': {
'zeep.transports': {
'level': 'DEBUG',
'propagate': True,
'handlers': ['console'],
},
}
})
看来是你说的wsdl有问题,换个试试。
例如:http://www.soapclient.com/xml/soapresponder.wsdl
并将您的代码编辑为:
client = zeep.Client(wsdl)
我将 zeep 与 magento 一起使用,这是我如何加载 wsdl 并获取会话 ID
from zeep import Client
soap = Client(http://my-wsdl)
session = soap.service.login(USER, PASSWORD)
替换 http://my-wsdl、用户密码(如适用)
然后,拨打电话
list_of_attribute_sets = soap.service.catalogProductAttributeSetList(session)
希望对您有所帮助。