WSDL Tutorials - Herong's Tutorial Examples

https://www.herongyang.com/WSDL

Copyright © 2007-2024 Herong Yang. All rights reserved.

WSDL Tutorials This book is a collection of notes and sample codes written by the author while he was learning WSDL himself. Topics include introduction to WSDL (Web Services Definition Language); WSDL document structure; 'types', 'interface', 'binding' and 'service' definition elements; differences between style='rpc' and style='document'; using WSDL document with SoapUI; parsing WSDL documents with Python, PHP, Perl, and Java programs. Updated in 2024 (Version v2.22) with Python tutorials.

Table of Contents

About This Book

Introduction to WSDL 2.0

What Is WSDL 2.0

A Sample WSDL 2.0 Document

WSDL 2.0 Core, Adjuncts and Extensions

List of APIs and Tools for WSDL 1.1 and 2.0

WSDL 2.0 Document Structure and Syntax

Overview of WSDL 2.0 Document Structure

"description" - The Root Element

"types" - The Container Element for Data Types

"interface" - Interface Definition Element

"binding" - Binding Definition Element

"service" - Service Definition Element

WSDL Version 2.0 Part 2: Adjuncts

WSDL Message Exchange Patterns

wsdlx:safe="true|false" Operation Safety

Operation Message Styles

SOAP Binding Extension

SOAP 1.2 Binding Rules

WSDL 2.0 Document Examples with SOAP Binding

No Style Example - Hello

RPC Style Example - Get Stock Price

IRI Style Example - Get Exchange Rate

Multiplart Style Example - Reservation

Using WSDL Document in Java Apache Axis2/Java for WSDL

What Is Axis2

Downloading and Installing Axis2/Java

org.apache.axis2.client.ServiceClient Class

Creating Service Client with WSDL Document

WSDL2Java Converting WSDL 2.0 Documents to Stub Classes

Apache Woden for WSDL Documents in Java

What Is Apache Woden - WSDL Parser API

Java API for WSDL 2.0 Component Model

WodenHelloComponent.java - Testing WSDL 2.0 Components

Java API for WSDL 2.0 Element Model

WodenHelloElement.java - Testing WSDL 2.0 Elements

Wsdl20Validator.java - WSDL 2.0 Validator

WSDL 2.0-2 Adjuncts Not Supported by Woden API

Convert WSDL 1.1 to 2.0 with Woden API

SoapUI - Web Service Testing Tool

What Is SoapUI

Downloading and Installing SoapUI

Validating and Inspecting WSDL Documents

PHP SOAP Extension for WSDL

What Is PHP SOAP Extension

Downloading and Installing PHP

Configuring and Testing SOAP Extension

Perl SOAP::Lite for WSDL

What Is Perl SOAP::Lite

Installing ActivePerl on Windows

Installing SOAP::Lite Package

Testing Perl SOAP::Lite with WSDL Documents

Introduction to WSDL 1.1

What Is WSDL 1.1

A Sample WSDL 1.1 Document

WSDL 1.1 Framework and Extensions

WSDL 1.1 Document Structure and Syntax

Overview of WSDL 1.1 Document Structure

"definitions" - The Root Element

"types" - The Container Element for Data Types

"message" - Message Type Definition Element

"portType" - Port Type Definition Element

"binding" - Binding Definition Element

"service" - Service Definition Element

WSDL 1.1 Binding Extension for SOAP 1.1

What Is WSDL 1.1 SOAP Extension

"soap:binding" - Binding Message Style and Transportation

"soap:operation" - SOAPAction Header Line

"soap:body" - Binding for SOAP Body

"soap:fault" - Binding for SOAP Fault Details

"soap:header" - Binding for SOAP Header

"soap:address" - Location of Service

SoapUI as WSDL 1.1 Testing Tool

Validating and Inspecting WSDL 1.1 Documents

Using Interface Viewer on Bindings

Generating HTML Documentations On Bindings

Generating SOAP Requests on Operations

Submit SOAP Requests to the Server

MockService - Web Service Simulator

Submitting Request to MockService

Loading Incorrect WSDL Documents

WSDL 1.1 and SOAP 1.1 Examples - Document and RPC Styles

SOAP 1.1 Message Styles and Encoding Options

First Example - Hello

Request and Response - Hello

document/literal Example - Guest Registration

Request and Response - Guest Registration

rpc/encoded Example - Get Exchange Rate

Request and Response - Get Exchange Rate

SOAP Body and Operation Name - Book Reservation

Request and Response - Book Reservation

elementFormDefault="qualified" - Refill Order

Request and Response - Refill Order

encodingStyle="uri" for use="encoded"

Request and Response - Get Stock Price

PHP SOAP Extension for WSDL 1.1

Testing SOAP Extension with WSDL 1.1

Methods on the SoapClient Class

Calling an RPC Method Based Web Service

encodingStyle="uri" Required for rpc/encoded

SoapParam Constructor - Creating Named Parameters

SoapVar Constructor - Creating Encoded Values

XSD_ANYXML Encoding - Building SOAP Body Element

Calling an XML Document Based Web Service

Perl SOAP::Lite for WSDL 1.1

Apache Axis2/Java for WSDL 1.1

Creating Service Client with WSDL 1.1 Document

org.apache.axis2.client.Options - Operation Client Options

sendReceive() Method - Invoking a Named Operation

Turning Off the Chunked HTTP Flag

AXIOM (AXIs Object Model)

Axis2RegistrationClient.java - document/literal Style

org.apache.axis2.rpc.client.RPCServiceClient Class

Axis2GetExchangeRateClient.java - rpc/encoded Style

SocketRequestResponseServer.java - Socket Server Testing Program

Capturing the HTTP Request from an Axis2 Client Program

Using WSDL2Java to Generate Web Service Stub Classes

WSDL 1.1 Binding Extension for SOAP 1.2

What Is WSDL 1.1 SOAP Extension

"soap12:binding" - Binding Message Style and Transportation

"soap12:operation" - SOAPAction Header Line

"soap12:body" - Binding for SOAP Body

"soap12:fault" - Binding for SOAP Fault Details

"soap12:header" - Binding for SOAP Header

"soap12:address" - Location of Service

WSDL 1.1 and SOAP 1.2 Examples - Document and RPC Styles

SOAP 1.2 Message Styles and Encoding Options

document/literal Example - Guest Registration

Request and Response - Guest Registration

rpc/encoded Example - Get Exchange Rate

Request and Response - Get Exchange Rate

SOAP Body and Operation Name - Book Reservation

Request and Response - Book Reservation

elementFormDefault="qualified" - Refill Order

Request and Response - Refill Order

SOAP 1.2 Binding - PHP, Java and Perl Clients

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

WSDL 2.0 Not Supported by Zeep Library

WSDL Related Terminologies

Archived Tutorials

Archived: Downloading and Installing SoapUI 3.0.1

Archived: SoapUI 3.0.1 MockService - Web Service Simulator

Archived: Downloading and Installing PHP 5.3.1

Archived: Downloading and Installing Axis2/Java 1.4.1

Archived: Axis2GetSpeechClient.java - document/literal Style

References

Full Version in PDF/EPUB

Keywords: WSDL, Web Service, SOAP, Tutorial