Você está na página 1de 13

Chapter 5:

Web Services
Description
Language
Reporters:
Yolly Templado
Regilyn Gafate
Stephanie Intes
Ronnalyn Labto
Janie Saballa
Jerald Electores
Rannie Diaz
WSDL
WSDL stands for Web Services Description
Language
WSDL is used to describe web services
WSDL is written in XML
WSDL is a W3C recommendation from 26. June
2007
Abstract
WSDL is an XML format for describing network services as a set
of endpoints operating on messages containing either
document-oriented or procedure-oriented information. The
operations and messages are described abstractly, and then
bound to a concrete network protocol and message format to
define an endpoint. Related concrete endpoints are combined
into abstract endpoints (services). WSDL is extensible to allow
description of endpoints and their messages regardless of what
message formats or network protocols are used to
communicate, however, the only bindings described in this
document describe how to use WSDL in conjunction with SOAP
1.1, HTTP GET/POST, and MIME.
A WSDL document definesservicesas collections of
network endpoints, orports. In WSDL, the abstract
definition of endpoints and messages is separated from
their concrete network deployment or data format
bindings. This allows the reuse of abstract
definitions:messages, which are abstract descriptions
of the data being exchanged, andport typeswhich are
abstract collections ofoperations. The concrete
protocol and data format specifications for a particular
port type constitutes a reusablebinding. A port is
defined by associating a network address with a
reusable binding, and a collection of ports define a
service
WSDL document uses the following elements in
the definition of network services:

1. Types a container for data type definitions using some type


system (such as XSD).
Thetypeselement encloses data type definitions that are
relevant for the exchanged messages. For maximum
interoperability and platform neutrality, WSDL prefers the use
of XSD as the canonical type system, and treats it as the
intrinsic type system.
<definitions .... >
<types>
<xsd:schema .... />*
</types>
</definitions>
2. Message an abstract, typed definition of the data
being communicated.

Messages consist of one or more logicalparts. Each part is


associated with a type from some type system using a
message-typing attribute. The set of message-typing
attributes is extensible. WSDL defines several such
message-typing attributes for use with XSD:
element. Refers to an XSD element using a QName.
type. Refers to an XSD simpleType or complexType
using a QName.
The syntax for defining a message is as follows. The message-
typing attributes (which may vary depending on the type
system used) are shown inbold.

<definitions .... >


<message name="nmtoken"> *
<part name="nmtoken" element="qname"? type="qname"?/> *
</message>
</definitions>

The messagenameattribute provides a unique name among


all messages defined within the enclosing WSDL document.
The partnameattribute provides a unique name among all
the parts of the enclosing message.
3. Operation an abstract description of an action
supported by the service.
4. Port Typean abstract set of operations supported by
one or more endpoints.
A port type is a named set of abstract operations and the abstract
messages involved.
<wsdl:definitions .... >
<wsdl:portType name="nmtoken">
<wsdl:operation name="nmtoken" .... /> *
</wsdl:portType>
</wsdl:definitions>

The port type name attribute provides a unique name among all
port types defined within in the enclosing WSDL document.
An operation is named via the name attribute.
The <portType> Element
Type Definition
One-way The operation can receive a message
but will not return a response
Request-response The operation can receive a request
and will return a response
Solicit-response The operation can send a request and
will wait for a response
Notification The operation can send a message but
will not wait for a response
5. Binding a concrete protocol
and data format specification for a
particular port type. <wsdl:definitions .... >
A binding defines message <wsdl:binding name="nmtoken"
type="qname"> *
format and protocol details for <-- extensibility element (1) --> *
operations and messages defined
by a particular portType. There <wsdl:operation
may be any number of bindings name="nmtoken"> *
<-- extensibility element (2)
for a given portType. --> *
Binding extensibility elements <wsdl:input
are used to specify the concrete name="nmtoken"? > ?
<-- extensibility element
grammar for the input (3), output (3) -->
(4), and fault messages (5). Per- </wsdl:input>
operation binding information (2) <wsdl:output name="nmtoken"?
as well as per-binding information >?
<-- extensibility element (4) -->
(1) may also be specified. * </wsdl:output>
<wsdl:fault name="nmtoken"> *
6. Port a single endpoint defined as a
combination of a binding and a network address.
<wsdl:definitions .... >
<wsdl:service .... > *
<wsdl:port name="nmtoken" binding="qname"> *
<-- extensibility element (1) -->
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Thenameattribute provides a unique name among all


ports defined within in the enclosing WSDL document.
Thebindingattribute (of type QName) refers to the
binding using the linking rules defined by WSDL
7. Service a collection of related endpoints.

<wsdl:definitions .... >


<wsdl:service name="nmtoken"> *
<wsdl:port .... />*
</wsdl:service>
</wsdl:definitions>

Thenameattribute provides a unique name among all


services defined within in the enclosing WSDL document.
Thank you !!!