Python的SOAP服务
项目描述
SOAPpy提供构建SOAP客户端和服务器工具。更多信息请参阅https://github.com/kiorky/SOAPpy.git
SOAPpy - 简单易用的Python SOAP库
免责声明
请使用 suds 而不是 SOAPpy。SOAPpy 已过时且笨拙。
致谢
公司
贡献者
Christopher Blunck <blunck2@gst.com>
Brad Knotwell <b.knotwell@f5.com>
Mark Bucciarelli <mark@hubcapconsulting.com> (从 ZSI 转移 WSDL 客户端)
Ivan R. Judson <judson@mcs.anl.gov> (Globus 支持)
Kirk Strauser <kirk@daycos.com>
Antonio Beamud Montero <antonio.beamud@linkend.com> (将 SOAPpy 集成到 Zope 的补丁)
以及其他人员。
版权所有 (c) 2011 Makina Corpus 版权所有 (c) 2002-2005, Pfizer, Inc. 版权所有 (c) 2001, Cayce Ullman. 版权所有 (c) 2001, Brian Matthews. 保留所有权利,有关使用条件请参阅 LICENSE 文件。
介绍
SOAPpy 团队的目标是提供一个功能齐全、易于使用的 SOAP 库,该库能够完全支持客户端和服务器之间的动态交互。
包含
基于 sax.xml 的一般 SOAP 解析器
一般 SOAP 构建器
SOAP 代理用于 RPC 客户端代码
SOAP 服务器框架用于 RPC 服务器代码
功能
处理所有 SOAP 1.0 类型
处理错误
允许命名空间指定
允许 SOAPAction 指定
同构类型数组
支持多个模式
支持头部(mustUnderstand 和 actor)
支持 XML 属性
支持多引用(解析器/构建器)
理解 SOAP-ENC:root 属性
良好的互操作性,通过 Frontier、SOAP::LITE、SOAPRMI 的所有客户端测试
编码
SSL 客户端(Python 需编译带有 OpenSSL 支持)
SSL 服务器(Python 需编译带有 OpenSSL 支持,并安装 M2Crypto)
根据 SOAP 1.2 名称混淆规范编码 XML 标签(Gregory Warnes)
自动支持状态化 SOAP 服务器(Apache v2.x)(blunck2)
支持 WSDL 客户端
支持 WSDL 服务器
待办事项(参见RELEASE_INFO和CHANGELOG了解最新更改)
方法调用超时
高级数组(稀疏、多维和部分)
附件
mod_python 示例
medusa 示例
改进的文档
清单
Files README This file RELEASE_NOTES General information about each release ChangeLog Detailed list of changes TODO List of tasks that need to be done setup.py Python installation control files SOAPpy.spec RPM package control file Directories SOAPpy/ Source code for the package SOAPpy/wstools/ Source code for WSDL tools tests/ unit tests and examples validate/ interop client and servers bid/ N+I interop client and server contrib/ Contributed examples (also see test/) docs/ Documentation tools/ Misc tools useful for the SOAPpy developers zope/ Patches to Zope allowing it to provide SOAP services
安装
使用GitHub
您可以使用 PIP 直接从 GitHub 安装 SOAPpy 及其依赖项
pip install -e “git+http://github.com/kiroky/SOAPpy.git@develop#egg=SOAPpy”
必需包
wstools
可选包
pyGlobus,可选支持 Globus,<http://www-itg.lbl.gov/gtg/projects/pyGlobus/>
M2Crypto.SSL,可选支持服务器端 SSL <http://sandbox.rulemaker.net/ngps/m2/>
如果 Python 编译带有 SSL 支持(Python 2.3 默认如此),则支持客户端使用 SSL
安装步骤
从版本 0.9.8 开始,可以使用标准的 Python 软件包安装工具安装 SOAPpy。
要安装
解压缩分发包
在 Windows 上,使用您喜欢的 zip 文件解压缩工具。
在 Unix 上
$ tar -xvzf SOAPpy-$VERSION$.tar.gz
- 如果您有 gnu tar,否则
$ gzcat SOAPpy-$VERSION$.tar.gz | tar -xvf -切换到源目录
cd SOAPpy-$VERSION$编译包
$ python setup.py build安装包
在 Windows 上
$ python setup.py install在 Unix 上,以 python 目录的所有者身份安装(通常是 root)
$ su root Password: XXXXXX $ python setup.py install
文档
快速入门
一个简单的“Hello World” http SOAP 服务器
import SOAPpy def hello(): return "Hello World" server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(hello) server.serve_forever()
以及相应的客户端
import SOAPpy server = SOAPpy.SOAPProxy("https://#:8080/") print server.hello()
基础教程
Mark Pilgrims的《Python深入浅出》一书由Apress印刷出版,并在https://diveintopython.cn在线提供,在第12章“SOAP Web服务”中提供了SOAPpy的出色教程。请参阅https://diveintopython.cn/soap_web_services。
其他文档
有关更多信息,请参阅docs/目录下的文件。
请注意,文档是SOAPpy当前的一个弱点。请帮助我们!
支持
Github: https://github.com/kiorky/SOAPpy 问题: https://github.com/kiorky/SOAPpy/issues
变更日志
0.12.22 (2014-06-20)
对象内部config属性的合理使用。[Davorin Kunstelj]
使用处理函数转储用户定义的类型(可用于覆盖内置类型的转储)。[Davorin Kunstelj]
0.12.21 (2014-05-27)
分发自定义对象,支持插槽。[Davorin Kunstelj]
0.12.20 (2014-05-15)
更好的版本处理。[kiorky]
在pypi上显示摘要。[kiorky]
非公开的中间版本以完善pypi输出。[kiorky]
0.12.6 (2014-05-15)
修复CVE请求——SOAPpy 0.12.5多个漏洞——LOL部分。[kiorky]
修复CVE请求——SOAPpy 0.12.5多个漏洞——XXE部分。[kiorky]
移除对fpconst的依赖。
添加maptype。[Sandro Knauß]
支持密码中的/(以及其他保留字符)。[Ionut Turturica]
Client.HTTPWithTimeout:修复构造函数的文档字符串和注释——命名与覆盖方法之间的差异——修复对模块‘httplib’中类的不正确引用——添加了参数‘t’的文档——[German Larrain]
修复模块文档字符串位置(所有导入必须位于它们下方)[German Larrain]f
修复错误“Bad types (class java.math.BigInteger -> class java.lang.Integer)” - Clayton Caetano de Sousa]
0.12.5 (2011-08-01)
多维度数组的修复。[Ionut Turturica]
致谢
0.12.3 (2011-02-21)
修复了URL
0.12.2 (2011-02-21)
修复了URL
0.12.1 (2011-02-21)
- 最初从https://github.com/pelletier/SOAPpy分叉
抓取了主要的有趣增强
from __future__导入必须在文件开头进行
try安装需求
从https://bitbucket.org/cmclaughlin/soappy-0.12.0/(fpconst)抓取了其他更改集
从https://bitbucket.org/zeus/soappy(ssl密钥支持)抓取了其他更改集
直接依赖于wstools,而不是捆绑重复版本。
从原始svn抓取
rpm规范文件
tools/
zope/
bid/
.cvsignore文件
使其成为合适的打包,特别是针对setuptools。
SOAPpy的0.12.0版本
此版本主要侧重于错误修复。主要更改
修复过去一年中积累的错误报告
[ 916265] “Unicode数组未正确序列化(包含补丁)” [ 918216] “SOAPpy 0.11.3中的解析错误” [ 925077] “SOAPpy打印出SOAP错误”(即使Config.debug关闭)。 [1001646] “SOAPpy在发送多引用时破坏标题” [1001646] “SOAPpy在发送多引用时破坏标题。 [1064233] “复杂类型的错误修复” [1064248] “Types.py中_asdict()和_asarray()的错误” [1078051] “复杂类型的数组(doc/lit)” [1096971] “解析错误:缺少HTTP标题‘Content-length’” [1106450] “浮点数被截断为10位,导致精度损失” [1122991] “SOAPpy/Client.py中的content_length评估错误?”
修复了“规则”,这些规则允许控制传入消息的数据类型。因此,TCtest.py现在通过所有测试。
由于在共享ZSI和SOAPpy的“wstools”模块上进行了工作,因此WSDL支持已经得到了改善。
已经做了一些工作来改进文档。
SOAPpy的0.11.6版本
更改文档中的URL和电子邮件地址。
SOAPpy的0.11.5版本
错误修复
修复故障处理中的字符串格式错误
SOAPpy的0.11.4版本
错误修复
- SOAPpy/Server.py:在检查其值之前检查头部信息是否包含SOAPAction。
密钥。
修复由antonio.beamud@linkend.com提供的从complexType数组生成SOAP的错误。
修复了导致typedArrayTypes在渲染为SOAP时丢失其类型信息的问题,并添加了相应的测试用例。
新特性
故障处理增强:现在 faultType Faultstring 是一个非变量字符串(即其中没有 nsmethod),因此它可以进行程序性检查。此外,现在可以注册故障处理器来处理特定类型的故障。
SOAPpy/Server.py:修改了 unregsiterObject 函数,使其可以接受可选的命名空间/路径参数,以与 registerObject 保持一致。
SOAPpy/Server.py:添加了 unregisterObject 函数
更改允许 SOAPBuilder 处理原始 Python 对象。
SOAPpy的0.11.2版本
新闻
Ivan R. Judson 加入 SOAPpy 团队。他专注于 Globus 支持,但也负责本次发布的大量其他工作。
错误修复
Types.py 中的代码假设嵌套作用域,因此我添加了正确的导入,以便在 python 2.2.x 下运行。
解决命名空间冲突
修复了 0.11.1 中引入的命名参数处理错误。
修复在引发异常时出现的内存泄漏。
修复了在解析的 SOAP 消息中不存在 content-length 时出现的错误。
修复了错误 #888345:Python 2.3 的布尔类型序列化为 int。
修复了错误 #875977:NoneTypes 没有对坏标签名进行转义。
新特性
改进了 Globus 支持和文档。感谢 Ivan!
添加了上下文处理
更改了 SOAPAction 的使用,它以前默认设置为“”,现在默认设置为方法(而不是 nsmethod)。Server.py 中有一个捕获“旧式”SOAPActions(即“”)并设置为方法的子句。当确认这是大家想要的,并且我们决定可以(可能)打破客户端/服务器交互时,我们可以从 Server.py 中移除这个子句,并仅将 SOAPActions 的“”处理为可能的错误/警告。
添加了额外的测试代码。
当遇到 SOAP 错误并且启用 simplify_objects 时,抛出 SOAPException 而不是返回 SOAPpy.faultType。
SOAPpy的0.11.1版本
错误修复
修复了 Greg Chapman (glchapman) 提交的 SOAPBuilder.dump() 中的错误 [ 792258 ] “SOAPBuilder.SOAPBuilder.dump 可以捕获错误的异常”。
根据 Richard Au (richardau) 提出的更改修复了 ssl 支持。请参阅错误报告 [ 752882 ] “SSL SOAP 服务器不再工作”。
根据错误报告 [ 792600 ] “SOAPBuilder.SOAPBuilder.dump 可能不应该调用 gentag” 由 Greg Chapman (glchapman) 提出的问题,从‘dump’中移除对 gentag 的调用,并将其添加到‘dump_float’中。
添加了对处理 nil="true" 和 nil="false" 的测试。这修复了 Robert Zimmermann (robertzett) 报告的 bug [ pywebsvcs-Bugs-858168 ] ‘xsi:nil="true" 导致异常’。
testClient1.py 现在正常工作。它曾无法在第二个单元测试中启动服务器线程。结果是变量‘quit’需要在第一个单元测试的 SOAP 服务器线程退出后重置为零。解决了这个问题后,testClient1 现在可以扩展为运行客户端和服务器组件的单元测试。
向 WSDL 类添加了‘strict’选项。如果 strict 为 true,则接收到未识别的消息时将引发 RuntimeException。如果 strict 为 false,则会在控制台打印警告,将消息类型添加到 WSDL 架构中,并继续处理。这是对错误报告 [ 817331 ] “Some WSDL.py changes”的第二部分做出的回应,由 Rudolf Ruland 提出。
SOAPpy的0.11.0版本
新的/更改的配置设置
Config.simplify_objects=1 将所有 SOAPpy 对象转换为基本 Python 类型(列表、字典、元组、双精度浮点数、浮点数等)。默认情况下,为保持向后兼容性,Config.simplify_objects=0。
Config.dict_encoding='ascii' 将字典的键(例如,在 Config.simplify_objects=1 时创建)转换为 ascii == 平凡的 Python 字符串,而不是 Unicode 字符串。此变量可以设置为 string.encode() 所知的任何编码。
Config.strict_range=1 强制 SOAP 解析例程在接收 SOAP 浮点数和双精度浮点数对象时执行范围检查。当 Config.strict_range=0(默认值)时,解析不执行范围检查(除了检测溢出,这始终会发生)。在两种情况下,生成 SOAP 浮点数和双精度浮点数对象时都会执行范围检查。
对 WSDLProxy 的修复。
test/ 目录中的脚本
已关闭详细调试消息。
当 Config.simplify_objects=1 时,SOAPtest.py 现在可以正常工作。
SOAPtest.py现在设置Config.strict_range=1,以便正确测试范围检查。
新的README文件列出了哪些测试脚本失败以及原因。
通过Ivan R. Judson贡献的pyGlobus,初始支持Globus。
SOAPpy的0.10.4版本
大型数据传输性能显著提升。
SOAPpy的0.10.1版本
仅有少量更改
代码现在使用单个文件来存储版本号
客户端和服务器现在报告‘SOAPpy’作为服务器/user-agent。
所有测试脚本现在使用本地的SOAPpy源,而不是全局安装的版本。
SOAPpy的0.10.0版本
增强
新的名称处理机制默认启用。
本次发布的主要目的是允许用户测试此功能是否会引起问题。请花时间进行测试。如果截至2003年4月15日没有报告问题,0.9.9将默认启用此功能发布。
请注意,在旧版SOAPpy下运行客户端和在此版本下运行服务器可能会由于不同的名称处理机制而产生错误。
MS-Windows系统现在将得到完全支持。
这需要实现一个新模块ieee754,该模块提供检测和生成IEEE 754特殊浮点值(+Inf,-Inf,NaN)的功能,这些值在Windows的float()函数实现中未得到适当处理。
代码重组:巨大的文件SOAPpy/SOAP.py(4,122行,131K)已被拆分为10个单独的文件。此外,与ZSI共享的代码已移至单独的子目录和单独的CVS模块。
修复了导致客户端丢失命名空间信息的bug 678239。
Mark Bucciarelli的mark@hubcapconsulting.com已将ZSI的客户端WSDL支持移植,并为SOAPpy服务器提供了一个机制,以在结构良好的.GET请求上提供WSDL。
添加了从ThreadingTCPServer继承的ThreadingSOAPServer,以便多个客户端将被自动多路复用。
版本 0.10.4
集成了由Erik Westra提交的简单补丁,该补丁显著提高了解析器性能。
如果已安装,WSDL工具现在使用m2crypto进行SSL。
各种其他WSDL更改。
版本 0.10.3
已删除过时的ieee753.py的导入。现在使用PEP 754提出的fpconst模块,可以从http://research.warnes.net/Zope/projects/fpconst/获取
SOAPpy不应再依赖于pyXML。
版本 0.10.2
修复了客户端的基本认证支持
修复了Client.py中的导入错误
改进了客户端对命名空间的解析,以支持有状态的SOAP服务器。
版本 0.10.1
修改了setup.py、Server.py和Client.py,从新的文件version.py中获取SOAPpy版本号。
SOAP服务器/user-agent现在是‘SOAPpy’而不是‘SOAP.py’。
为所有缺少此标识字符串的文件添加了包含CVS版本的标识字符串。
版本 0.10.0
自0.9.9-pre5版本以来的更改
主要更改:巨大的文件SOAPpy/SOAP.py(4,122行,131K)已被拆分为10个单独的文件
Client.py NS.py SOAPBuilder.py Utilities.py Config.py Parser.py Server.py Errors.py SOAP.py Types.py
这应该有助于导航和维护。
已创建一个新的CVS模块‘wstools’,以存放ZSI和SOAPpy共同使用的代码。虽然此模块在CVS中存储为单独的模块,但它将作为ZSI和SOAPpy的组成部分分发,并将作为‘内部’模块包含在两者中。在SOAPpy源中,它位于目录SOAPpy/wstools中。
XMLname.py和ieee754.py文件已移至SOAPpy/wstools。
添加了TODO文件
修复了getNS中的bug,该bug会导致由于使用更好的模式匹配来查找SOAP消息中的命名空间而丢失命名空间。修复了bug 678239
添加了Mark Bucciarelli的补丁,为服务器上的正确结构化.GET请求提供wsdl代码,邮箱为<mark@hubcapconsulting.com>
添加了客户端对WSDL的支持,由Mark Bucciarelli <mark@hubcapconsulting.com>移植自ZSI
添加了ThreadingSOAPServer,它继承自ThreadingTCPServer服务器,以便自动多路复用多个客户端。
从/test中移除了不再存在的服务的一些文件。
自0.9.9-pre4版本以来的变更
添加了客户端对WSDL的支持,由Mark Bucciarelli <mark@hubcapconsulting.com>移植自ZSI。
自0.9.9-pre3版本以来的变更
SOAPpy和ZSI之间共享的代码现在位于SOAPpy/SOAPpy/wstools,并存储在单独的CVS包中。这将允许ZSI和SOAPpy保持这些文件的同步。
自0.9.9-pre2版本以来的变更
修复了Win32上的简单编译错误:只有当支持Unix域套接字时才定义SOAPUnixSocketServer
自0.9.9-pre1版本以来的变更
添加了对嵌套作用域的请求,现在应该可以在python 2.1中通过命名参数调用正确工作。
修复了由于__init__.py中遗漏ieee754模块而引起的错误。
SOAPpy现在提供了一个SOAPUnixSocketServer类,它使用Unix域套接字而不是网络TCP/IP套接字进行通信。将来将提供相应的客户端。[此类尚未经过测试。]
自0.9.8版本以来的变更
IEEE 754浮点特殊值(Inf,-Inf,NaN)现在应该能够在所有平台上正确和一致地处理。
添加了显式检查和处理IEEE 754浮点特殊值(Inf,-Inf,NaN)的代码。这替代了针对那些python float()不认识字符串“Inf”,“NaN”等系统的丑陋的技巧。浮点特殊值现在应该在所有操作系统上得到正确处理。
*SOAPpy现在应该在所有版本的Microsoft Windows上正常工作。*
新模块ieee754包含检测和创建NaN、Inf和-Inf值的函数。此模块应在其他上下文中可用。
* 新的参数处理方法(通过SOAPpy.SOAP.Config.specialArgs=1)现在默认启用。*
将SOAP.py中所有对actzero.com的引用更改为pywebscvs.sf.net。
修复了一个错误,即当作为SOAP方法调用的参数的列表被错误地命名为“Results”时,即使给出了另一个名称。
自0.9.7版本以来的变更
修改了结构,以便可以使用Python distutils(即setup.py)安装。现在访问SOAPpy库需要:from SOAPpy import SOAP
我(Gregory R. Warnes)实现了一种实验性和非标准的处理命名和无命名参数的方法。通过在SOAPpy中设置SOAPpy.SOAP.Config.specialArgs=1来启用此机制。
当启用时,名称为 _####(即与正则表达式“^_[0-9]+”匹配)的参数被假定是无命名参数,并按数字顺序传递给方法。所有其他参数被假定是命名的,并使用xml标签id作为参数名称传递。现在出站SOAP方法调用始终以这种方式生成名称——无论是否启用specialArgs——而不是使用模式v#####。
有关更多详细信息,请参阅文件README.MethodParameterNaming。
添加了noroot参数到SOAPBuilder和SOAPProxy对象,以便与较旧的EasySOAP(v0.2)版本保持兼容,如果包含SOAP-ENC:root参数,则该版本会拒绝。(Brad Knotwell)
添加了对命名空间重写的支持(由Apache v2.x SOAP服务器用于错误条件以及有状态通信)(Christopher Blunck)
添加了对数组类型(Python 2.2+)的字符串 <-> str 转换(Christopher Blunck)
添加了SOAPProxy的便捷方法(invoke),它调用__call(不确定是否必要——如果需要,可以删除)。(Christopher Blunck)
Python的‘float’与SOAP的‘double’等效。修改了dump_float和dump_list以适当地使用SOAP类型字符串‘double’。(Gregory R. Warnes)
添加基本身份验证(Brad Knotwell)
修复了使客户端能够正确处理SOAP错误的更改:- 修复了接收故障时测试消息内容是否为text/xml的错误。 - 添加了到异常类的__call__方法以匹配当前API。 - 现在faultType.__repr__()方法如果存在则打印详细信息(Gregory R. Warnes)
添加了XMLnam.py,它提供了toXMLname()和fromXMLname()函数,用于根据SOAP 2.1(草案)规范正确编码XML标签名称。(Gregory R. Warnes)
添加了对toXMLname()和fromXMLname()的调用,以便正确编码标签名称。这解决了编号为[548785]的错误:“传递包含空格的字典键时出错。”(Gregory R. Warnes)
添加了代码,当标签不是已识别类型时,对标签内容进行cgi编码。修复了编号为[549551]的错误:“传递非标准类型时出错。”(Gregory R. Warnes)
添加了__init__.py,以便将SOAPpy用作标准Python模块。(Gregory R. Warnes)
版本 0.9.7 (6/27/01)
修复了未命名有序参数错误。
添加了指定http_proxy的能力。
添加了Tim MiddelKoop提供的补丁,允许打印代理对象。
添加了contrib目录,并包含了Ng Pheng Siong的SOAP.py服务器实现。
版本 0.9.6 (6/08/01)
日期和时间类型现在在创建类型时检查其初始值,而不是在数据序列化时。
日期和时间类型现在以UTC解析并返回为元组(对于多元素类型)或标量(对于单元素类型),因此可以表示SOAP日期的全部范围。
如果元素没有类型但有具有命名空间的名称,则尝试将名称作为类型。
在解析时,具有多个元素且所有元素具有相同名称的无类型复合类型被转换为数组。
在解析structType时,具有相同名称的元素被放置在列表中,而不是仅保存最后一个。可以使用_getItemsAsList获取结构中的元素作为列表,无论该元素出现一次还是多次。
添加了schemaNamespace、schemaNamespaceURI和namespaceStyle配置选项。namespaceStyle取1999、2000或2001之一,并设置typesNamespace、typesNamespaceURI、schemaNamespace和schemaNamespaceURI。
规范化了类型类名称,将Compound替换为compoundType,Struct替换为structType,Header替换为headerType,Body替换为bodyType,Array替换为arrayType,TypedArray替换为typedArrayType,Fault替换为faultType,urType替换为anyType。
属性现在出现在元素本身上,而不是元素父元素上。对于解析为内置Python类型的元素,属性存储在以元素Python id为键的字典中。该字典位于Context对象中,可以从parseSOAP*返回,并且如果设置了returnAllAttrs配置选项,可以从方法调用中返回。
使用isinstance检查类,因此类可以被子类型化。
可以指定None编码,以不包括编码信息。
现在在创建SOAPProxy实例时报告SOAPProxy URL的问题,而不是在第一次方法调用时。
已删除Binary、Boolean和DateTime类型,现在应使用dateTimeType、binaryType和booleanType。
版本 0.9.5 (5/16/01)
应解析和构建所有1999、2000、2001和SOAP-ENC数据类型。
初始化处理多维、部分和稀疏数组。
支持SSL客户端(如果Python使用OpenSSL构建)。
支持SSL服务器(如果安装了M2Crypto)。
为SOAPproxy URL应用默认值(适用于命令行工具)。
添加了_SoapContext对象,为注册的服务器函数提供了有关当前调用的更多信息。
现在假设任何不在模式中的类型都可能是一个结构。
添加了Config对象,现在可以在全局或单个调用级别设置配置选项。
已弃用DateTime、Binary和Boolean类型,现在应使用dateTimeType、binaryType和booleanType。
包括N+I互操作套件。
各种错误修复和改进。
版本 0.9 (5/01/01)
Envelope现在只包含实际使用的命名空间的定义(Builder)
命名空间定义由子元素继承,但不由兄弟元素继承(Builder)
进一步改进了多引用解析——它处理循环引用(Parser)
添加了对使用引用构建递归和循环类型的支持(Builder)
更多类型
正确处理整数和浮点类型的溢出和下溢(Parser)
更多互操作性
各种错误修复和改进
版本 0.8.5 (4/25/01)
buildSOAP、SOAPProxy、SOAPServer 现在接受编码参数
多引用(解析器)有很大改进
将 base64 和 dateTime 添加到互操作性套件中
各种错误修复
版本 0.8 (4/23/01)
添加更多类型
早期多引用支持(解析器)
重新组织了解析器,现在更加简洁
在字符串中保留空白(按照标准)
全面支持XML属性(解析器/构建器)
对象(反)序列化现在保持元素顺序
修复了零长度数组问题
使缩进一致(空格而不是制表符)
使头和体更像真实的结构体
更改了 parseSOAP api,现在返回体结构,而不是体元素列表
更改了互操作性服务器的 soapaction 和命名空间
新的 silabclient 选项
初始编码支持
版本 0.7 (4/19/01)
修复了导致 Python 2.1 无法正常工作的错误
WIN32(其他?)的浮点数解决方案
WIN32的日期时间解析
XML属性支持的开始
更好的互操作性
版本 0.6 (4/18/01)
修复了许多错误(dateTime、浮点精度、响应元素、null字符串)
添加更多类型
同构类型数组
添加了对更多架构的支持
早期头支持以及 mustUnderstand 和 actor
添加互操作性套件
通过验证器
互操作性得到很大改善,通过所有客户端测试,包括 Frontier、SOAP::LITE。
版本 0.5 (4/17/01)
初始公开发布
项目详细信息
SOAPpy-0.12.22.zip 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | e70845906bb625144ae6a8df4534d66d84431ff8e21835d7b401ec6d8eb447a5 |
|
MD5 | 7a8d7199af72539d14168dd249a91a64 |
|
BLAKE2b-256 | 781b29cbe26b2b98804d65e934925ced9810883bdda9eacba3f993ad60bfe271 |