WSDL Tutorials - Herong's Tutorial Examples
http://www.herongyang.com/WSDL
Copyright © 2009 by Dr. Herong Yang. All rights reserved.
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
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
"message" - Message Type Definition Element
"portType" - Port Type 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
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
"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
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