ChatGPT解决这个技术问题 Extra ChatGPT

What SOAP libraries exist for Python 3.x? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 10 years ago.

I searched the web for an existing and supported SOAP library for Python 3. (both client and server)

Here the list of libraries I've found:

Python 2:

Zeep: active and well documented in Python 2.7/3

SOAPy: discontinued Python 2 project

ZSI: discontinued Python 2 project

soaplib: discontinued Python 2 project

SUDS: discontinued Python 2 project (no activity since 02/2012)

rpclib: discontinued Python 2 project (no activity since 08/2012)

Python 3:

Zeep: active and well documented Python 2/3 project

SOAPy: discontinued Python 2 project

pysimplesoap: active Python 2/3 project

SUDS-jurko: quite inactive. Python 2/3 project

ladon: low activivty. but web services only

Does this list seems complete to you? (FYI, I used this post as starting point (The purpose of that post was the same but for Python 2))

ladon seems to me the only existing framework for Python 3 but can AFAIK only be used for implementing the server side.

NO: I don't want to migrate one of the discontinued Python 2 projects myself. I am looking for a supported project with an active team providing help if needed.

Updated on 28/09/2013

pysimplesoap has since made another release, and the VCS has been quite busy since.
simplesoap looks like it will suit my needs. Thanks.
is there any library which helps in interacting with URLs without wsdl extensions/files?

T
TheSentinel

Depending on the complexity of the service, you could use ladon for the server side and mock up the client by hand until there's a better solution available.

Just call the service with suds (or similar) with logging turned on and note the SOAP wrapping on the request. Use that to wrap your request and call the service with plain http.

It's not an ideal solution, but it can get you by until you have a package to replace it.


T
ThatAintWorking

I did this same search several months ago and came to the same conclusions. There really isn't much to choose from in this space. I ended up sticking with Python 2.7 and using SOAPy for my project because it was so easy to use. It may be discontinued but it still works. I figure that sometimes you just have to get your hands a little dirty and support yourself, that is why we are called programmers.


Currently I am using SUDS in Python 3. I ported it myself. But I really would appreciate not to be forced to plunge myself into 3rd party project's source code each time I encounter a problem...
Have you tried to push your ported version back to the SUDS group to see if they will accept it? They might be glad to get a version already ported to Python 3 and that might relieve you of having to support it yourself.
Just wanted to add that there is an active fork of suds that supports Python3: https://bitbucket.org/jurko/suds/overview. Just do pip3 install suds-jurko
l
lefterav

rpclib: seems the only active project. In their description, they say they are looking for volunteers to test it for Python 3. So maybe you should volunteer yourself!