This is a fork of (mvantellingen/python-zeep)[https://github.com/mvantellingen/python-zeep]. For now it just runs the plugins after signing when making the request, and before when processing the response.
We did this because we needed to encrypt in those moments and we didn't saw a way to do it. So we used plugins to do it, and needed to encrypt after sign in the request and before in the response.
Maybe in the future we could implement a "Encryption Plugin" and return the "Normal Plugin" execution where it belongs.
A Python SOAP client
- Highlights:
- Compatible with Python 3.7, 3.8, 3.9, 3.10, 3.11 and PyPy3
- Build on top of lxml, requests and httpx
- Support for Soap 1.1, Soap 1.2 and HTTP bindings
- Support for WS-Addressing headers
- Support for WSSE (UserNameToken / x.509 signing)
- Support for asyncio using the httpx module
- Experimental support for XOP messages
Please see for more information the documentation at http://docs.python-zeep.org/
I consider this library to be stable. Since no new developments happen around the SOAP specification it won't be updated that much. Good PR's which fix bugs are always welcome however.
pip install zeep
Note that the latest version to support Python 2.7, 3.3, 3.4 and 3.5 is Zeep 3.4, install via pip install zeep==3.4.0
Zeep uses the lxml library for parsing xml. See https://lxml.de/installation.html for the installation requirements.
from zeep import Client
client = Client('tests/wsdl_files/example.rst')
client.service.ping()
To quickly inspect a WSDL file use:
python -m zeep <url-to-wsdl>
Please see the documentation at http://docs.python-zeep.org for more information.
If you want to report a bug then please first read http://docs.python-zeep.org/en/master/reporting_bugs.html
Please only report bugs and not support requests to the GitHub issue tracker.