python简单轻量级soap库
soap2p的Python项目详细描述
面向客户机和服务器的python simple和lightweight soap库 webservices接口,目标是尽可能小和简单, 支持最常见的功能。最初它的灵感来自PHP Soap Extension(模仿 它的功能性、简单性和易用性 新增功能。
支持python 3(相同的代码基,不需要运行2to 3)
目标
- 简单:最初小于200loc的客户机/服务器混凝土 易于维护和增强的实现。
- pythonic:没有工件,没有类生成,没有特殊类型,rpc 调用参数和返回值是简单的python结构 (听写、列表等)
- 动态:不需要定义(wsdl),动态生成和 支持解析(缓存在pickle文件中以提高性能, 支持固定断开WSDL)
- 简单:简单的xml操作,包括基本的序列化和raw 对象式访问soap消息
- 可扩展:支持多个http包装器(httplib2,pycurl, urllib2)用于通过ssl和代理(isa)的特殊传输需求
- wsgi编译器:服务器调度器可以集成到其他python 框架(web2py、django等)
- 向后兼容:稳定的api,在 发布
- 轻量级:低内存占用和快速处理(顺序为 在某些情况下,相对于其他实现的幅度)
历史记录
最初为AFIP(阿根廷国税局)Web服务开发的客户端: 电子发票,税收优惠,保险,外贸,农业, 海关等(http://code.google.com/p/pyafipws/wiki/ProjectSummary)
现在它已经扩展到支持其他web服务,如currency 交换控制和trazamed(医疗药品的国家可追溯性 程序)
此外,还包括服务器端支持(一个通用的分派器,以便 从web2py服务框架中公开,适用于其他web服务器, 包括独立wsgi和django的示例)
源代码最初可在 GoogleCode
更改日志
最近的变化(2014/2015):
- 支持wsse的插件系统(web服务安全扩展)
- wsse usernametoken、usernamedgestToken和binaryTokenSignature 支持
- pythonic xml安全库基本实现(规范化, SHA1哈希和使用X509数字的RSA签名/验证 证书)
- 改进的soap故障详细信息
- 几个修复程序(基本的python3支持,cdata,)
正在进行的工作:
- 单元测试更新和清理(删除旧测试,更好的框架, 固定非确定性结果等)
- wsdl高级支持(统一嵌套元素结构方言)
- python3支持wsse xmlsec(m2crypto替代方案?)
- 源代码重构以提高可读性和可维护性
以前贡献的功能(大约2013年,分叉并合并回来):
- 更正了对多个soap端口/绑定的支持
- 在wsdl中同时支持import和include节
- 支持wsdl基目录来处理 导入/包含节
- 更理智的跟踪/日志记录(跟踪现在转到log.debug(),其中 您可以处理每个模块)
- 更具可读性的逻辑(通过删除 单独的文件)
测试
使用Python2.7+:
python -m unittest discover
使用较旧的python版本:
python -m unittest tests/suite.py
代码覆盖范围:
sudo pip install coverage coverage run tests/suite.py coverage report -m coverage html
支架
为了社区支持,请随意填写 issue或 发送电子邮件至 soap@python.org。 如果您有技术问题,请不要向wiki页面添加评论。
对于优先的商业技术支持,您可以联系Mariano Reingart(项目创建者和main 维护人员,请参见AUTHORS了解更多信息)。