WSDL Tutorials - Herong's Tutorial Examples
Dr. Herong Yang, Version 2.01

WSDL Tutorials - Herong's Tutorial Examples

http://www.herongyang.com/WSDL

Copyright © 2013 by Dr. Herong Yang. All rights reserved.

HerongYang.com This free book is a collection of notes and sample codes written by the author while he was learning WSDL himself. Topics include WSDL, Web Service, SOAP, service, end point, interface, operation, type.

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

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

First Example - Hello

Multiplart Example - Reservation

RPC Example - GetStockPrice

WSDL 20 Programming APIs and Testing Tools

List of APIs and Tools

ServiceClient Class Loading WSDL 2.0 Documents

WSDL2Java Converting WSDL 2.0 Documents to Stub Classes

What Is Woden 1.0?

WSDL 2.0 Component Model

WSDL 2.0 Component Model - Test

WSDL 2.0 Element Model

WSDL 2.0 Element Model Test

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 3.0.1 - Web Service Testing Tool

What Is soapUI 3.0.1?

Downloading and Installing soapUI 3.0.1

Validating and Inspecting WSDL Documents

Using Interface Viewer on Bindings

Generating HTML Documentations On Bindings

Generating Test Requests on Operations

Submit Test 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 in PHP 5.3.1

What Is PHP SOAP Extension?

Downloading and Installing PHP 5.3.1

Configuring and Testing SOAP Extension

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

Using WSDL in Perl with SOAP::Lite 0.710

Introduction of Perl SOAP::Lite 0.710 for WSDL

Methods on SOAP::Lite 0.710 Client Object

Calling PRC Methods Defined in WSDL 1.1 Documents

service() Method Returns New Objects

SOAP::Data - XML Elements as Data Objects

SOAP::Serializer - Converting Data Objects to XML

Creating a Data Object for a Single XML Element

Creating a Data Object for Nested XML Elements

SOAP::Deserializer - Converting XML to Data Objects

Calling XML Document Based Web Service

Using Operation Name as the SOAP Body Element Name

Using WSDL Document in Java with Axis2 1.4.1

What Is Axis2?

Downloading and Installing Axis2/Java 1.4.1

org.apache.axis2.client.ServiceClient Class

Creating Service Client with WSDL 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

Axis2GetSpeechClient.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

What Is WSDL2Java?

Generating Client Side Stub Java Code

Stub and Data Type Classes

Using Stub and Data Type Classes

XML Document Based Web Service Example

"Unexpected subelement ..." Error from the Stub Class

RPC Method Based Web Service Example

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

PHP SOAP Extension - RPC Method Based Web Services

PHP SOAP Extension - XML Document Based Web Services

Java Axis2 1.4.1 - XML Document Based Web Services

Java Axis2 1.4.1 - RPC Method Based Web Services

Perl SOAP::Lite 0.710 - No WSDL 1.1/SOAP 1.2 Support

WSDL Related Terminologies

References

PDF Printing Version

Keywords: WSDL, Web Service, SOAP, Tutorial

Dr. Herong Yang, updated in 2013
Table of Contents