A fast and modern Python SOAP client

  1. Other Salesforce Platform APIs, such as SOAP API or REST API, are optimized for synchronous client applications that update a few records at a time. You can use SOAP API for processing many records, but when the data sets contain hundreds of thousands of records, synchronous operations are less practical.
  2. Soap:operation – This has 2 attributes: soapaction – This I think is the url location to where to send the SOAP message to. Wsdl:input – This I think is the encoding to use to send the entire SOAP message; wsdl:output – this I think is the encoding to use to read the SOAP message received from the.

Generic SOAP Client: The generic SOAP client allows you to execute SOAP services using a web browser. SOAP Interop Testing: SOAP Interoperability Test is an effort to make SOAP implementations interoperable with each other. It defines a set of standard methods that can be invoked by clients of other implementations.

Highlights:
  • Compatible with Python 3.6, 3.7, 3.8 and PyPy
  • Build on top of lxml and requests
  • 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 via httpx
  • Experimental support for XOP messages

A simple example:

Quick Introduction¶

Zeep inspects the WSDL document and generates the corresponding code to use theservices and types in the document. This provides an easy to use programmaticinterface to a SOAP server.

The emphasis is on SOAP 1.1 and SOAP 1.2, however Zeep also offers support forHTTP Get and Post bindings.

Parsing the XML documents is done by using the lxml library. This is the mostperformant and compliant Python XML library currently available. This resultsin major speed benefits when processing large SOAP responses.

Soap Client Php

Soap ClientClient

The SOAP specifications are unfortunately really vague and leave a lot ofthings open for interpretation. Due to this there are a lot of WSDL documentsavailable which are invalid or SOAP servers which contain bugs. Zeep tries tobe as compatible as possible but there might be cases where you run intoproblems. Don’t hesitate to submit an issue in this case (but please firstread Reporting bugs).

Client

Installation¶

Zeep is a pure-python module. This means that there is no C code which needsto be compiled. However the lxml dependency does contain C code since it useslibxml2 and libxslt. For linux/bsd this means you need to install libxml2-devand libxslt-dev packages. For Windows this is unfortunately a bit morecomplicated. The easiest way is to install lxml via wheel files since thatcontains already compiled code for your platform.

Soap Client C#

To install wheel files you need a recent pip client. Seehttps://pip.pypa.io/en/stable/installing/ how to install pip on your platform.

Soap client python

If you have installed pip then run:

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 zeep3.4.0

This assumes that there are wheel files available for the latest lxml release.If that is not the case (https://pypi.python.org/pypi/lxml/) then firstinstall lxml 4.2.5 since that release should have the wheel files for allplatforms:

When you want to use wsse.Signature() you will need to install the pythonxmlsec module. This can be done by installing the xmlsec extras:

For the asyncio support in Python 3.6+ the httpx module is required, thiscan be installed with the async extras:

Getting started¶

The first thing you generally want to do is inspect the wsdl file you need toimplement. This can be done with:

See python-mzeep--help for more information about this command.

Note

Zeep follows semver for versioning, however bugs can always occur.So as always pin the version of zeep you tested with(e.g. zeep4.0.0’).

A simple use-case¶

Soap Client Linux

To give you an idea how zeep works a basic example.

The WSDL used above only defines one simple function (Method1) which ismade available by zeep via client.service.Method1. It takes two argumentsand returns a string. To get an overview of the services available on theendpoint you can run the following command in your terminal.

Note

What is soap

Online Soap Client

Note that unlike suds, zeep doesn’t enable caching of the wsdl documentsby default. This means that everytime you initialize the client requestsare done to retrieve the wsdl contents.

User guide¶

  • The Client object
  • Settings
  • Transports
  • Datastructures
  • WS-Security (WSSE)
  • Plugins
  • Reporting bugs

API Documentation¶

Soap Client C++

Changelog¶

  • Changelog