Invoking WSDL Services with Zeep Library

This section provides a tutorial example on how to create a Zeep client object with a WSDL URL, access a given service, and invoke a given operation.

How to Invoke WSDL Service with Zeep Library? There are 4 main steps to invoke a WSDL service and call its operation:

1. Create a zeep.client.Client object with the URL of a given WSDL document:

from zeep import Client
wsdl = "https://www.herongyang.com/Service/Hello_WSDL_11_SOAP.wsdl"
client = Client(wsdl)

2. Create a zeep.proxy.ServiceProxy object by calling the client.bind(service, port) method with a given combination of service name and port name:

service = client.bind('helloService', 'helloPort')

3. Create a zeep.proxy.OperationProxy object by accessing the service[operation] list member with a given operation name:

operation = service['Hello']

4. Invoke the operation(arguments) with required arguments:

result = operation("Hello from client.")

Here is Python script example that performs these steps with a given WSDL 1.1 document:

#- WSDL_Service_Proxy.py
#- Copyright (c) 2019 HerongYang.com. All Rights Reserved.
#
from zeep import Client
wsdl = "https://www.herongyang.com/Service/Hello_WSDL_11_SOAP.wsdl"

client = Client(wsdl)
print(type(client))

service = client.bind('helloService', 'helloPort')
print(type(service))

operation = service['Hello']
print(type(operation))

result = operation("Hello from client.")
print(result);

Run the test script:

herong$ python3 WSDL_Service_Proxy.py

<class 'zeep.client.Client'>
<class 'zeep.proxy.ServiceProxy'>
<class 'zeep.proxy.OperationProxy'>

      Hello from server - herongyang.com.

The test worked well. I got the result returned from the WSDL service provider.

Table of Contents

 About This Book

Python SOAP Client: Zeep

 What Is Zeep Python Library

 Installing Python Engine on macOS

 Installing Zeep Library

 Parsing WSDL Documents with Zeep Library

Invoking WSDL Services with Zeep Library

 Invoking WSDL Default Service

 Dump SOAP Request and Response Messages

 WSDL 2.0 Not Supported by Zeep Library

 SoapUI - Web Service Testing Tool

 SOAP Web Service and SoapUI

 REST Web Service and SoapUI

 Mock Web Services - herongyang.com/Service

 "SoapResponder" and Web Service Test Tool

 "Calculator" for 4 Integer Operations

 DataFlex Web Service for Country Information

 LatLonListCityNames - Return Latitudes and Longitudes of US Cities

 LatLonListZipCode - Return Latitudes and Longitudes of US Zip Code

 TempConvert Web Service for Temperature Conversion

 NDFDgenByDay - US Weather Forecast by Day

 NDFDgen - US-Weather Forecast for a Single Location

 Currency Exchange Rate

 Bitcoin Blockchain Data API (or Explorer)

 flickr.interestingness.getList - Get Interesting Photos

 UUID/GUID Generator

 NumberToWords - Convert Number in Digits to Words

 TitleCaseWordsWithToken - Words to Title Case Format

 "PUG SOAP" Web Service for PubChem Database

 RSC - ChemSpider APIs

 Discontinued: Currency Converter by kowabunga.net

 Discontinued: GetCountries - Get All Countries and Territories

 Discontinued: GetCurrencies - Get Currencies from All Countries

 Discontinued: GetGMTbyCountry - Get GMT Information of a Given Country

 Discontinued: GetISD - Get ISD Phone Code of a Given Country

 Discontinued: GetCitiesByCountry - Get Cities by Country

 Discontinued: GetInfoByState - Get ZIP Codes of a Given US State

 Discontinued: GetAirportInformationByCountry - Get Airport Code by Country

 Discontinued: GetGeoIP - Get Country by IP Address

 Discontinued: ConvertTemp - Convert Temperature Unit

 Discontinued: ChangeLengthUnit - Convert Length Unit

 Discontinued: ConvertWeight - Convert Weight Unit

 Discontinued: ChangeAreaUnit - Convert Area Unit

 Discontinued: Code39 - Generate Bar Code Images in Code 39 Format

 Discontinued: GenerateBarCode - Generate Bar Code Images

 Discontinued: GetMortgagePayment - Calculate Mortgage Payment

 Discontinued: ConversionRate - Get Currency Exchange Rate

 Discontinued: GetQuote - Get Stock Quote

 Discontinued: GetSunSetRiseTime - Get Sunrise and Sunset Time

 Discontinued: GetWeatherByZipCode - Get Weather by ZIP Code in US

 Discontinued: getTime - Get the Current Time

 Discontinued: questionSearch - Search Yahoo! Questions and Answers

 Discontinued: Hotwire - Get Travel Ticker Deals

 Archived Tutorials

 References

 Full Version in PDF/EPUB