wsdl描述了基于“suds”的“dm.zope.rpc”的soap协议支持

dm.zope.rpc.wsdl_suds的Python项目详细描述


这是dm.zope.rpc的插件,与协议无关 通过各种rpc协议公开web服务的中间件。

此包使用的是suds,这是一个高级soap(1.1)客户端库,位于 lgpl许可证。 suds在使用它实现服务器组件时被稍微滥用。 这种滥用需要使用未记录的实现细节 可能在suds版本之间发生变化。包裹已经 用suds==0.3.9实现。它可能不适用于其他版本。

限制

当前实现不处理异常。 它们不会转换为soapFault消息(根据需要 肥皂1.1)但是 由底层传输协议(“http”)报告(使用 包含HTML消息的HTTP错误代码)。 这个限制的原因是:soap 1.1没有完成 (自包含)其Fault元素的规范,但要求 要完成的外部定义的命名空间,我还没有 了解wsdl定义的异常与 soapFault元素。一旦,我理解了wsdl指定的 例外情况下,此限制可能会被删除。

soap和wsdl是具有大量特性的复杂标准。 此包不支持所有功能。例如,它 忽略所有soap头,甚至是带有^{tt9}的头$ 声明(违反了soap规范)。 此外,只测试了一小部分功能: 例如,只有document绑定;其他绑定可能 (或可能不)工作。随着时间的推移,可能会支持更多功能, 可能已经测试过了。

当前实现使用sudswsdl缓存。这个 在wsdl开发过程中可能会混淆,因为修改不是 直到缓存超时。删除其中的suds缓存文件 case(它们通常位于文件夹的suds子文件夹中 用于临时文件)。

配置

与往常一样,dm.zope.rpc协议处理程序,配置 是通过一个marshaller实例。 WsdlMarshaller的wsdl特定配置是 通过字段wsdl_mapdefault_namespacewsdl_map将方法调用中找到的命名空间映射到 提供对此命名空间的wsdl的访问的url。 default_namespace是用于get请求的命名空间 当方法和参数直接在url和 不是通过请求实体。

您可以在tests.soap中找到一个(简单的)示例配置。

其他

该软件包已经在zope 2.12和zope2.10下进行了测试。 对于2.12之前的zope版本,正确配置 dm.zopepatches.xmlrpc是必需的,以防止zope的 内置的xmlrpc支持。上述例子 配置显示如何配置dm.zopepatches.xmlrpc

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

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入