[HST] WSDL

hi,

Here is another take of "harvesting" WSDL.  Please add anything I might be
missing.

Hao


<harvest name="WSDL">

Overview
WSDL plays a descriptor role in the overall Web Services
architecture.  WSDL is static as it does not define dynamic interactions
between
Web Services.


http://www.w3.org/TR/2002/WD-wsdl12-20020709/#intro

WSDL defines
 1. abstract functionality of a service
 2. concrete binding details for SOAP 1.2, HTTP, and MIME


Namespaces

wsdl   "http://www.w3.org/2002/07/wsdl" A normative XML Schema [XML Schema:
Structures], [XML Schema: Datatypes] document for the
"http://www.w3.org/2002/07/wsdl" namespace can be found at
http://www.w3.org/2002/07/wsdl. 
soap12 "http://www.w3.org/2002/07/wsdl/soap12" Defined by WSDL 1.2: Bindings
[WSDL 1.2 Bindings]. 
http   "http://www.w3.org/2002/07/wsdl/http" Defined by WSDL 1.2: Bindings
[WSDL 1.2 Bindings]. mime "http://www.w3.org/2002/07/wsdl/mime" Defined by
WSDL 1.2: Bindings [WSDL 1.2 Bindings].

WSDL has dependencies on XML schema. 

Web Services model by WSDL

Summary: http://www.w3.org/TR/2002/WD-wsdl12-20020709/#intro

"WSDL describes Web services starting with the messages that are exchanged
between the service provider and requestor. The messages themselves are
described abstractly and then bound to a concrete network protocol and
message
format. A message consists of a collection of typed data items. An exchange
of
messages between the service provider and requestor are described as an
operation. A collection of operations is called a portType. Collections of
portTypes are grouped and called a serviceType. A service represents an
implementation of a serviceType and contains a collection of ports, where
each
port is an implementation of a portType, which includes all the concrete
details needed to interact with the service."

Components: requestor and provider
Connector: ports.
Data element: typed data item, messages

Architectural concept:

1. Messages are abstract and then bound to a concrete network protocol and
message format;
2. Operation is an exchange of message and there are only four types of
operations  (Input-Output,Output-Input, Input only, and Output only)

Architectural decisions:
1. Data types are described by XML schema.
2. Both interface and implementation is defined in one WSDL. 


WSDL bindings
http://www.w3.org/TR/2002/WD-wsdl12-20020709/#eii-binding
"A binding defines message format and protocol details for operations and
messages defined by a particular portType. There may be any number of
bindings
for a given portType."

WSDL SOAP 1.1 bindings 
http://www.w3.org/TR/2002/WD-wsdl12-bindings-20020709/#_soap-b

"1. An indication that a binding is bound to the SOAP 1.2 protocol.
 2. A way of specifying an address for a SOAP endpoint.
 3. The URI for the SOAPAction HTTP header for the HTTP binding of SOAP.
 4. A list of definitions for Headers that are transmitted as part of the
SOAP Envelope"
 
WSDL HTTP bindings

http://www.w3.org/TR/2002/WD-wsdl12-bindings-20020709/#_http

"1. An indication that a binding uses HTTP GET or POST
 2. An address for the port
 3. A relative address for each operation (relative to the base address
defined by the port) "

WSDL MIME bindings
http://www.w3.org/TR/2002/WD-wsdl12-bindings-20020709/#_mime
"1. 'multipart/related', defined in [IETF RFC 2387].
 2. 'text/xml', defined in [IETF RFC 3023].
 3. 'application/x-www-form-urlencoded', defined in Form content types
([HTML 4.01], section 17.13.4).
 4. Others (by specifying the MIME type string) "


WSDL extensibility

http://www.w3.org/TR/2002/WD-wsdl12-20020709/#language-extensibility

"WSDL has an open content model: every element in the
'http://www.w3.org/2002/07/wsdl' namespace allows arbitrary extension
attributes and extension elements as long as their names are fully qualified
and they are defined in a namespace other than
'http://www.w3.org/2002/07/wsdl'"

WSDL issues:

1. Link handling
http://mail.python.org/pipermail/xml-sig/2002-February/007184.html

2. Does not support description of dynamic interactions.

</harvest>

Received on Monday, 22 July 2002 02:18:53 UTC