suds在python3.8中失败

问题描述 投票:0回答:1

当前,我将自动化代码从python 2.7.9迁移到python 3.8.1我们有很多肥皂api,它们使用python 2.7.9的suds 0.4版本,并且效果很好但是在迁移到python 3.8.1之后,它失败了我尝试使用suds-py3库,但它仍然失败。

下面是我得到的错误

File "C:\Users\administrator\net.py", line 375, in __getattribute__
    if hasattr(attr, '__call__') and \
File "C:\Users\administrator\venv\lib\site-packages\suds\client.py", line 315, in __getattr__
    return getattr(port, name)
File "C:\Users\administrator\venv\lib\site-packages\suds\client.py", line 419, in __getattr__
return getattr(m, name)
File "C:\Users\administrator\venv\lib\site-packages\suds\client.py", line 510, in __getattr__
   return self[name]
File "C:\Users\administrator\venv\lib\site-packages\suds\client.py", line 523, in __getitem__
    raise MethodNotFound(qn)
suds.MethodNotFound: Method not found: 'cessService.chargePort.__call__'

我尝试过suds-jurko和suds3库,但仍然失败。

是否有简单的解决方法?

当前切换回2.14,然后继续。

suds python-3.8
1个回答
0
投票

没有办法使泡沫发挥作用。

[首先尝试对suds本身进行更改,由于python 3导致suds调用失败,我添加了if否则,如果python 3为python 2进行了此操作,则我的进步很小,但最终在许多模块的核心代码中进行了大量更改,因此添加到我们的框架中变得越来越不可取。

切换到zeep后,大约需要2-3来理解,并能够自动执行所需的操作。Zeep文档在某种程度上是好的,但不是最好的,因为其中存在一些错误。

但是我们目前可以使用Zeep替代泡沫

© www.soinside.com 2019 - 2024. All rights reserved.