Parsing WSDL Documents with Zeep Library

This section provides a tutorial example on how to parse WSDL documents and print out available services using Zeep default script. Zeep library supports WSDL 1.1 documents, not WSDL 2.0 documents.

Once the Zeep library is installed, you can use it to parse a given WSDL document and print out available services by running its default script:

python3 -m zeep <wsdl_url>

1. Parse a WSDL 1.1 document as a local file, Hello_WSDL_11_SOAP.wsdl, created in previous tutorials.

herong$ python3 -m zeep file:///Users/herong/Hello_WSDL_11_SOAP.wsdl

Prefixes:
     xsd: http://www.w3.org/2001/XMLSchema
     ns0: https://www.herongyang.com/Service/

Global elements:
     ns0:HelloRequest(xsd:string)
     ns0:HelloResponse(xsd:string)
     
Global types:
     xsd:anyType
     xsd:ENTITIES
     xsd:ENTITY
     xsd:ID
     ...
     xsd:unsignedShort

Bindings:
     Soap11Binding: {https://www.herongyang.com/Service/}helloBinding

Service: helloService
     Port: helloPort (Soap11Binding: 
                    {https://www.herongyang.com/Service/}helloBinding)
         Operations:
            Hello(xsd:string) -> xsd:string

Cool! It parsed the WSDL 1.1 document correctly.

2. Parse an online version of the same WSDL 1.1 document. I got the same output:

herong$ python3 -m zeep \
  https://www.herongyang.com/Service/Hello_WSDL_11_SOAP.wsdl

...
Service: helloService
     Port: helloPort (Soap11Binding: 
                    {https://www.herongyang.com/Service/}helloBinding)
         Operations:
            Hello(xsd:string) -> xsd:string

3. Parse an online version of a WSDL 2.0 document. I got no bindings and servers:

herong$ python3 -m zeep \
  https://www.herongyang.com/Service/Hello_WSDL_20_SOAP.wsdl

Prefixes:
     xsd: http://www.w3.org/2001/XMLSchema

Global elements:
     
Global types:
      xsd:anyType
      xsd:ENTITIES
      xsd:ENTITY
      xsd:ID
      ...
      xsd:unsignedShort

Bindings:

Zeep library actually does not support WSDL 2.0 documents. It should return an error message.

Conclusion: Zeep library supports WSDL 1.1 documents. It does not support WSDL 2.0 documents.

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