Free Web Services - Herong's Tutorial Examples - v2.13, by Herong Yang
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
Installing Python Engine on macOS
Parsing WSDL Documents with Zeep Library
►Invoking WSDL Services with Zeep Library
Dump SOAP Request and Response Messages
WSDL 2.0 Not Supported by Zeep Library
SoapUI - Web Service Testing Tool
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
Bitcoin Blockchain Data API (or Explorer)
flickr.interestingness.getList - Get Interesting Photos
NumberToWords - Convert Number in Digits to Words
TitleCaseWordsWithToken - Words to Title Case Format
"PUG SOAP" Web Service for PubChem Database
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