What's the best SOAP client library for Python, and where is the documentation for it?[转]

简介:

I've never used SOAP before and I'm sort of new to Python. I'm doing this to get myself acquainted with both technologies. I've installed SOAPlib and I've tried to read their Client documentation, but I don't understand it too well. Is there anything else I can look into which is more suited for being a SOAP Client library for Python?

Edit: Just in case it helps, I'm using Python 2.6.

link | edit

65% accept rate
Does it have to be SOAP, such as using pre-existing web services? Python's xmlrpclib is dead simple to use and I've migrated our SOAP services to XMLRPC with it. –  Kirk Strauser  Oct 16 '08 at 1:03
By the way, I just went through and rated everyone up who'd been down-rated for no apparent reason. –  Kirk Strauser  Oct 16 '08 at 14:50
4  
Sometimes one just want to connect to service that is ONLY provided over SOAP so yes - good python SOAP lib is something that one will sooner or later need. One won't have any chance to convince service provider to replace SOAP with something "cleaner"... –  romke  Sep 23 '09 at 20:24
feedback

15 Answers

up vote 96 down vote accepted

Unfortunately, at the moment, I don't think there is a "best" Python SOAP library. Each of the mainstream ones available has its own pros and cons.

Older libraries:

  • SOAPy: Was the "best," but no longer maintained. Does not work on Python 2.5+

  • ZSI: Very painful to use, and development is slow. Has a module called "SOAPpy", which is different than SOAPy (above).

"Newer" libraries:

  • SUDS: Very Pythonic, and easy to create WSDL-consuming SOAP clients. Creating SOAP servers is a little bit more difficult.

  • soaplib: Creating servers is easy, creating clients a little bit more challenging.

  • ladon: Creating servers is much like in soaplib (using a decorator). Ladon exposes more interfaces than SOAP at the same time without extra user code needed.

  • pysimplesoap: very lightweight but useful for both client and server - includes a web2py server integration that ships with web2py.

Of the above, I've only used SUDS personally, and I liked it a lot.

link | edit
Python 2.5.2, SOAPpy 0.12.0 and my SOAP clients work. –  bortzmeyer  Oct 16 '08 at 9:45
Looks like you misspelled SOAPpy. Or do soappy and soapy both exist? Either way you might want to edit to clarify –  amarillion  May 15 '09 at 19:15
SOAPy and SOAPpy are actually different. I've edited to clarify, and turned the post into a community wiki. –  Samat Jain  May 21 '09 at 20:16
4  
+1 for SUDS, great library! I ran into problems using SUDS with HTTPS web services behind a proxy. Turns out it is a known Python urllib2 issue. See my answer for more details. –  sstock  Aug 6 '09 at 8:35
I've personally, had a lot of success with SOAPpy. Although, I've occasionally had to write some wrappers to fix some things. ( .NET consuming, WSDL serving ) –  sfossen  Oct 20 '10 at 15:41
欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2011/08/11/2135189.html
相关文章
|
5月前
|
Rust Java Go
Python is Easy. Go is Simple. Simple != Easy
Python以其易学易用著称,常用于初学者编程和复杂科学计算,但其解释器的复杂性和环境易变性可能导致运行时问题。Go语言则追求简单,语法稳定,编译快速,生成的二进制文件小巧、独立。Go的静态链接特性使其能在不同系统上无缝运行,而Python在数据科学和原型设计上仍具有优势。结合两者,通过Django进行快速原型验证,然后用Go重构业务逻辑和高性能部分,形成了一种有效的开发策略。
35 0
|
11月前
|
Python
python2 pip2 No module named web
python2 pip2 No module named web
42 0
|
3月前
|
安全 网络协议 网络安全
【Python】已解决:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool (host=’ files. pyth
【Python】已解决:pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool (host=’ files. pyth
189 0
|
3月前
|
监控 开发者 Python
【Python】已解决:WARNING: This is a development server. Do not use it in a production deployment. Use a p
【Python】已解决:WARNING: This is a development server. Do not use it in a production deployment. Use a p
156 0
|
5月前
|
计算机视觉 Python
ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly
ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly
107 2
|
5月前
|
Shell Ruby Perl
don‘t have write permissions for the /System/Library/Frameworks/Ruby.framework
don‘t have write permissions for the /System/Library/Frameworks/Ruby.framework
227 0
【解决方案】成功解决ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects报错信息
成功解决ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects报错信息
【解决方案】成功解决ERROR: Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects报错信息
|
C语言 C++ Python
Python3.X使用C Extensions调用C/C++
Python3.X使用C Extensions调用C/C++
Python3.X使用C Extensions调用C/C++
成功解决​​​​​​​安装pywin32时出现python version 3.6 required, which was not found in the registry
成功解决​​​​​​​安装pywin32时出现python version 3.6 required, which was not found in the registry
成功解决​​​​​​​安装pywin32时出现python version 3.6 required, which was not found in the registry
成功解决 安装pywin32时出现python version 3.6-32 required, which was not found in the registry
成功解决 安装pywin32时出现python version 3.6-32 required, which was not found in the registry
成功解决 安装pywin32时出现python version 3.6-32 required, which was not found in the registry
下一篇
无影云桌面