Python部落组织翻译,禁止转载,欢迎转发
一个快速Python SOAP客户端
一个快速的例子>>> from zeep import Client
>>> client = zeep.Client(
... 'http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
>>> print client.service.ConvertSpeed(
... 100, 'kilometersPerhour', 'milesPerhour')
62.137
复杂的请求
大多数时候你都需要给SOAP传入复杂的多层级的数据结构。这些复杂的结构可以使用client.get_element()创建。>>> from zeep import Client
>>> client = zeep.Client('http://my-entrprisy-endpoint.com')
>>> order_type = client.get_element(
... '{http://tests.python-zeep.org}Order')
>>> order = order_type(
... number='1234', billing_address=billing_address)
>>> client.service.submit_order(user_id=1, order=order)
缓存
默认的缓存组件是SqliteCache,它默认缓存WSDL和XSD文件一个小时。你可以在实例化的时候给cache属性传入一个None值来禁止缓存。
>>> from zeep import Client
>>> from zeep.cache import SqliteCache
>>> client = zeep.Client(
... 'http://www.webservicex.net/ConvertSpeed.asmx?WSDL',
... cache=None)
你也可以通过设置改用其他的缓存组件
>>> from zeep import Client
>>> from zeep.cache import SqliteCache
>>> client = zeep.Client(
... 'http://www.webservicex.net/ConvertSpeed.asmx?WSDL',
... cache=SqliteCache(persistent=True, timeout=60))
工具
serialize_object() 把zeep对象转化为Python的数据结构
英文原文:http://docs.python-zeep.org/en/latest/
译者:诗书塞外