python简单轻量级soap库

soap2p的Python项目详细描述


面向客户机和服务器的python simple和lightweight soap库 webservices接口,目标是尽可能小和简单, 支持最常见的功能。最初它的灵感来自PHP Soap Extension(模仿 它的功能性、简单性和易用性 新增功能。

支持python 3(相同的代码基,不需要运行2to 3)

目标

  • 简单:最初小于200loc的客户机/服务器混凝土 易于维护和增强的实现。
  • 灵活:适用于几个SOAP方言/服务器(Java轴,.NET, wcf,jboss,“jetty”),可以微调xml请求 以及回应
  • 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中同时支持importinclude
  • 支持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了解更多信息)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
序列化反序列化java。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)