我以前从未使用过SOAP,对Python也有点陌生。我这样做是为了让自己熟悉这两种技术。我已经安装了soapplib,并试图阅读他们的客户端文档,但我不太理解它。是否还有其他更适合作为Python的SOAP客户端库的东西?
编辑:为了以防万一,我使用的是Python 2.6。
我以前从未使用过SOAP,对Python也有点陌生。我这样做是为了让自己熟悉这两种技术。我已经安装了soapplib,并试图阅读他们的客户端文档,但我不太理解它。是否还有其他更适合作为Python的SOAP客户端库的东西?
编辑:为了以防万一,我使用的是Python 2.6。
当前回答
肥皂水很不错。我尝试了SOAPpy,但没有得到它的工作方式,我需要而肥皂水工作得很直接。
其他回答
http://users.skynet.be/pascalbotte/rcx-ws-doc/python.htm#SOAPPY有帮助吗
我通过搜索wsdl和python找到了它,理性的是,您将需要SOAP服务器的wsdl描述来执行任何有用的客户端包装....
我们发布了一个新的库:PySimpleSOAP,它提供了对简单实用的客户端/服务器的支持。它的目标是:易用性和灵活性(不需要类、自动生成代码或xml)、WSDL自省和生成、符合WS- i标准、兼容性(包括Java AXIS、. net和Jboss WS)。它被包含在Web2Py中,以支持全栈解决方案(补充其他支持的协议,如XML_RPC、JSON、AMF-RPC等)。
如果有人正在学习SOAP或想要研究它,我认为这是一个很好的开始。
我听从了其他回答这个问题的建议,尝试了一下SUDS。在“愤怒地”使用它之后,我必须同意:SUDS非常好!强烈推荐!
我确实遇到了从代理后面调用基于http的web服务的麻烦。在撰写本文时,这将影响所有使用urllib2的Python web服务客户机,因此我将在这里记录解决方案。
python 2.6.2及以下版本附带的urllib2模块不会为http -over- http -代理会话向代理发出CONNECT。这会导致很长时间的超时,或者如果你幸运的话,会出现如下错误:
abort: error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
这是Python错误跟踪器的第1424152号问题。在Python 2中,bug报告附带的补丁将修复这个问题。3.x和Python 3.x。这个问题已经解决了。
我们使用了来自Python Web Services的SOAPpy,但似乎ZSI(同一来源)正在取代它。
只是供大家参考的警告,在此问题解决之前,SUDS不支持WSDL中的“choice”标签:
https://fedorahosted.org/suds/ticket/342
看到的: 肥皂水和选择标签