Download presentation
Presentation is loading. Please wait.
1
Dimuthu Leelarathne Software Engineer WSO2
Introduction to WSDL 2.0 Dimuthu Leelarathne Software Engineer WSO2
2
WSDL What is WSDL? What is new in WSDL 2.0?
Describes a service in two stages Abstract – The service contract Concreate – ”How” and ”Where”
3
WSDL 2.0 – 3 Specifications Part 0: Primer
Introduction to main features of the language. Part 1: Core Describes WSDL2.0 using component model Part 2: Adjuncts MEPs and Bindings
4
WSDL 2.0 Vs. WSDL 1.1 At a glance definition renamed to description.
portType renamed to interface. port renamed to endpoint. message elements are removed.
5
WSDL file
6
WSDL file ABSTRACT CONCRETE
7
WSDL2.0 components Top level components type interface binding service
import/include documentation
8
WSDL file <description targetNamespace="xs:anyURI" >
<documentation />* [ <import /> | <include /> ]* <types />? [ <interface /> | <binding /> | <service /> ]* </description>
9
documentation A brief description of a wsdl document
<documentation>This wsdl describes my Echo Service</documentation>
10
types Defines the data types used in exchanged messages.
Use xml schema
11
types example
12
interface A named set of abstract operations and abstract messages.
<interface name="xs:NCName" extends="list of xs:QName"? styleDefault="list of xs:anyURI"? > <documentation />* [ <fault /> | <operation /> ]* </interface>
13
interface example
14
import and include a.wsdl, b.wsdl and c.wsdl together can represent a service <import namespace=" location="credit-card-faults.wsdl"/> <include location="credit-card-faults.wsdl"/>
15
Interface inheritance
An interfaces may extend one or more interfaces <interface name="xs:NCName" extends="list of xs:QName"?> ... </interface>
16
binding Binding element defines the underlying transport and wire format for messages. <description> <binding name="xs:NCName" interface="xs:QName"? type="xs:anyURI" > <documentation />* [ <fault /> | <operation /> ]* </binding> </description>
17
binding example
18
service A service element describes a set of endpoints, that refer to a single network address for a binding. <service name="reservationService" interface="tns:reservationInterface"> <endpoint name="reservationEndpoint" binding="tns:reservationSOAPBinding" address =" </service>
19
MEPs Message Exchange Patterns Message exchange between nodes
Specifies sequencing, direction and cardinality New in WSDL 2.0: Extensible (was fixed in WSDL 1.1) - number and names of MEP not finalized Any number of nodes (was 2 in WSDL 1.1)
20
Predefined MEPs In-only (no faults) Out-only (no faults)
Out-In (fault replaces message) Robust In-only (message triggers fault) Robust Out-only (message triggers fault) Out-Optional-In (message triggers fault) In-out (fault replaces message)
21
Operations Safe attribute of operation
Agent does not incur any obligation beyond interaction. For example, you do not have to pay. Style attribute of operation Gives additional information about the operation RPC Style/ IRI /Mulitipart
22
Predefined bindings SOAP Binding extention WSDL HTTP Binding Extension
23
SOAP binding Definines a set of default rules
Operations need not be explicitly stated SOAP header blocks can be declared – per message and per-fault Interface fault mapping to a SOAP fault
24
HTTP binding Complete control over the url
Can select HTTP method, content type – So REST style invocations are supported Defines how to serialize parameters
25
WSDL 2.0 and REST
26
Why WSDL 2.0 ? Interface inheritence
Abstract and concrete descriptions are consistent Bindings cannot override interface A single interface per binding HTTP binding is precisely defined
27
Why WSDL 2.0 ? Defines 8 MEPs. Extensible MEPs Language extentions
Simple and easy Only Doc\Literal Better naming conventions Powerful – many extention points
28
Questions ?????
29
Introduction to WSDL 2.0 Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.