þ
This document describes the GreatH Web service. Additional
application-level requirements for use of this service --
beyond what WSDL 2.0 is able to describe -- are available
at http://greath.example.com/2004/reservation-documentation.html
Long Syntax Summary
===================
?
. . . *
. . . *
. . . *
*
*
*
*
*
*
xs:anyType ?
xs:QName ?
*
*
*
*
*
*
*
*
*
Interface
-----------------------------
examples of using xsd import and include
When the schema is defined in separate files, they can be imported or included into wsdl
Option 1, when the whole schema is defined in a single file, one may use xs:import as a child of wsdl:type to import that schema
Example 2.1 - use xs:import as child of wsdl:types
Option 2, when some elements are embedded under wsdl:type, some other elements defined in different files, one may using xs:import as a child of xs:schema to import elements with different namespace, and use xs:include to include elements under same namespace
Example 2.2 - using xs:import and xs:include under xs:schema
file 1
file 2 (stored at http://greath.example.com/2004/schemas/resSvc1.xsd)
Some elements are embedded in the WSDL file.
...
Example 3 - intra-types schema reference using fragmental id
....
...
...
Example 4 - defining reusable faults using interface inheritance
...
Note that the schema of the input and output messages of operation "opMakeReservation" meets all the rules of the RPC style, so if desired, the operation "makeResercation" can be marked using RPC style.
Example 5 - using RPC style
...
...
...
Binding section
-----------------
Assume the soap binding of our "reservationInterface" interface uses two soap modules: one for reliability with the uri of "http://example.com/reliability" and is appliable to all messages exchanged with the service, the other for security with the uri of "http://example.com/security" and is only appliable to the input message of operation "opCheckAvailability". Example 6 shows how to include these soap modules in the soap 1.2 binding.
Example 6 - Defining soap headers in soap1.2 binding
...
...
...
the corresponding run time input message for opCheckAvailability would be something like
POST /reservation HTTP/1.1
Host: http://greath.example.com
Content-Type: application/soap+xml; charset="utf-8"
Content-Length: nnnn
...
...
2008-11-112008-11-28King
Example 7 - soap1.1 binding (To be done, pending the work of soap1.1 binding)
Example 8 - http binding
...
...
The corresponding HTTP message is something like:
POST /reservation HTTP/1.1
Host: http://greath.example.com
Content-Type: application/xml; charset="utf-8"
Content-Length: nnnn
2008-11-112008-11-28King
Advanced Topics
-------------------
Example 9 - Alternative authoring styl for the reservation service in Example 1 Using wsdl import and include
file 1: http://greath.example.com/2004/schemas/resSvc
File 2 - http://greath.example.com/2004/wsdl/resSvc-interface.wsdl
File 3 - http://greath.example.com/2004/wsdl/resSvc-binding.wsdl
File 4 - the complete service definition
Example 10 - using media type and MTOM for attachment support
Let's say that the opCheckAvailability operation may return a vedio file for a virtual tours of the room availale. Example 10 shows how to indicate in WSDL that MTOM may be used to optimize the transmission.
The schema of the response message in Example 1 needs to be modified to indicate the expected media type.
...
...
Then in the binding, use a feature to indicate the use of MTOM
...
...
...
...
]]>