概述
"Suds" 网络服务客户端是一个基于SOAP的轻量级Python客户端,采用LGPL许可证发布。
详细信息请访问:
版本发布说明:
版本 0.3.6 (04-31-09):
- 将硬编码的 /tmp/suds 改为 tempfile.gettempdir() 并按需创建 suds/ 目录。
- 修复 Any.get_attribute() 的返回类型。
- 更新 HTTP 缓存以忽略 file:// 网址。
- 当仅注入回复时,更好地记录消息。
- 修复 XInteger 和 XFloat 类型以正确转换返回的数组。
- 修复同命名空间的 xs:import schema。
- 更新解析器以不加载外部引用,并为 XMLSchema.xsd 位置添加 Import.bind()。
- 添加 schema doctor - 用于在运行时修补 XSD。(参见 Option.doctor)
- 修复 Python 2.6 中的弃用警告。
- 为 上定义的 @default 添加行为。
- 更改 @xsi:type 的值,使其始终限定于 doc/literal。(还原 0.3.5 的更改)。
- 添加 Option.xstq 选项以控制 @xsi:type 何时被限定。
- 已修复的问题: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230
版本 0.3.5 (04-16-09):
- 添加 HTTP 缓存。默认缓存期为 1 天。不适用于方法调用。详见文档。
- 移除了 spec 中对 fedora 版本的检查,因为不再构建低于 fc9 的版本。
- 更新 Makefile,使用 tar.sh 打包。
- 将 bare/wrapped 的判断移至 wsdl 中以处理 document/literal。
- 将 Transport 重构为一个包(提供更好的 HTTP 头部日志)。
- 已修复的问题: #207, #209, #210, #212, #214, #215
版本 0.3.4 (02-24-09):
- 静态(自动)Import.bind('http://schemas.xmlsoap.org/soap/encoding/'),用户不再需要手动执行。
- 基本的 ws-security,支持 {{{UsernameToken}}} 和明文密码。
- 通过传递字典支持“稀疏”的 SOAP 头部。
- 支持任意用户自定义的 SOAP 头部。
- 修复包含多个 SOAP 头部条目的服务操作。
- Schema 加载和去引用算法增强。
- 修复嵌套的 SOAP multiref。
- 更好地(真正地)支持 elementFormDefault="unqualified",提供更精确的命名空间处理。
- WSDL part 类型不再默认为 WSDL 的目标命名空间。
- 已修复的问题: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201。
版本 0.3.3 (11-31-08):
版本 0.3.2 (11-7-08):
- SOAP {{{MultiRef}}} 支持 ''(首次实现于 r300)''
- 添加对新 schema 标签的支持:
- 添加新的 xs <--> python 类型转换支持:
- xs:int
- xs:long
- xs:float
- xs:double
- 修订编组器和绑定,进一步优化生成的节点的命名空间。
- 修复了 ''xsd'' 包中 dereference() 在 schema 加载时的无限递归。
- 添加对 wsdl:import/ 将 schema 文件导入到 wsdl 根 的支持。
- 修复 (&) 的双重编码。
- 添加 Client API:
- setheaders() - 与关键字相同,但适用于所有调用。
- addprefix() - 命名空间前缀的映射。
- setlocation() - 覆盖 wsdl 中的位置;与关键字相同,但适用于所有调用。
- setproxy() - 与 proxy 关键字相同,但适用于所有调用。
- 为 SOAP 头部添加正确的命名空间前缀。
- 已修复的问题: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51
版本 0.3.1 (10-1-08):
- 快速跟进 0.3 版本,该版本使得处理多端口服务定义变得比必要更困难。经过考虑(以及一夜好眠),
显然一些更改会使这变得更容易:1)过滤掉非 SOAP 绑定——它们才是真正的问题所在;2)由于大多数服务器
对任何 SOAP 绑定(soap 1.1 和 1.2)都能正常工作,因此在不指定端口的情况下调用方法时,含糊的方法引用
在几乎所有情况下都能正常工作。那么,为什么不让 suds 自行选择端口呢?在非必要的情况下,不要让用户去指定。
大多数情况下,使用 0.2.9 及更早版本的用户在迁移到 0.3.1 时不必像在 0.3 中那样更新代码。
版本 0.3 (9-30-08):
-
扩展了 0.2.9 中引入的多端口服务支持。此次新增功能支持多个服务定义 相同 的方法,suds 将正确处理。
请参见 '多端口服务' 一节。
-
添加对多文档 document/literal soap 绑定样式的支持。
请参见 '多文档 Document/Literal' 一节。
-
添加对 (xs:group, xs:attributeGroup) 标签的支持。
-
添加 Client.last_sent() 和 Client.last_received()。
版本 0.2.9 (9-09-08):
- 支持服务中的多个端口。
- 属性引用 <xs:attribute ref=""/>
- 使 sax 包中的 XML 特殊字符编码器可插拔。
版本 0.2.8 (8-28-08):
-
更新 document/literal 绑定,始终发送由 引用的文档根元素。
在又一次仔细审查空间和用户输入后,似乎被引用的元素始终是文档根元素。
-
添加对 'binding' schemaLocation 到 namespace-uri 的支持。
这是针对那些没有指定 schemaLocation 但仍期望下载 schema 的导入。例如:Axis 引用了 'http://schemas.xmlsoap.org/soap/encoding/'
但没有提供 schemaLocation。因此,通过执行:
from suds.xsd.sxbasic import Import.
Import.bind('http://schemas.xmlsoap.org/soap/encoding/')
该 schema 被绑定到一个 schemaLocation 并被下载。
-
基本解编组器不再需要 /schema/。
在重构期间本应移除但遗漏了。
-
更新客户端,将 kwargs 传递给 send(),并添加 /location/ kwarg 用于覆盖 wsdl 中的服务位置。
-
更新编组器,不为表示 同时 为可选且值为 None 的元素和/或属性的对象属性生成 XML。
* 更新工厂(构造器)以包含所有属性。
* 向 SchemaObject 添加 optional() 方法。
-
更新 wsdl,在指定了命名空间时覆盖操作中的命名空间。
-
修复 schema 加载问题——在处理导入前构建所有 schema。
-
更新打包,为提交到 fedora 做准备。
版本 0.2.7 (8-11-08):
- 添加对 document/literal(包裹和未包裹)的检测/支持。
- 更新 document/literal {包裹},将文档根元素(位于 下)设置为包裹元素(带有适当命名空间)。
- 添加对具有 maxOccurs 的 、 和 的支持,使解编组器将包含在无界集合中的元素的值设置为列表。
- 更新 client.factory(构造器)以省略 的子元素,因为用户真正需要决定包含哪些子元素。
- 更新展平算法,防止重新展平来自导入 schema 的类型。
- 对展平/合并算法的调整。
版本 0.2.6 (8-5-08):
- 修复在 xsd 包大修期间损坏的 ENUM。
- 根据 ticket #24 修复类型。
- 根据 ticket #30 报告,修复方法签名中的重复参数名。
- Suds 以 LGPL 许可发布。
- 根据 ticket #31 的补丁建议,移除 suds.init() 中的日志配置。用户现在需要自行配置日志记录器。
- 添加对 Client.Factory.create() 替代语法的支持:使用 {namespace}name 格式完全限定要构建的类型。
例如:client.factory.create('{http://blabla.com/ns}Person')
版本 0.2.5 (8-01-08):
-
对 (XSD) 包进行了大修。这种新的(合并)方法更简单,应该更可靠且更易维护。同时,由于合并后的 schema
通过字典查找进行查找,性能应会更好。
此次大修应能修复当前的 TypeNotFound 和 xs:extension/ 问题,希望如此 :-)。
-
修复 dateTime 打印错误。
-
为 builder.Builder 添加了针对自包含 xs 类型的无限递归预防。
版本 0.2.4 (7-28-08):
- 添加对 WSDL 导入的支持:wsdl:import/
- 添加 xs 到 python 类型转换的支持(感谢:Nathan Van Gheem):
- xs:date
- xs:time
- xs:dateTime
- 修复的问题:
- Bug:带有 schemaLocation 的 Schema
- Bug:服务描述中指定的命名空间在打印 client/proxy 之前无效。
版本 0.2.3 (7-23-08):
版本 0.2.2 (7-8-08):