Web Services Description Language (WSDL) Version 1.2 Part 4: RDF Mapping

Editors' copy $Date: 2003/10/13 08:48:40 $ @@ @@@@ @@@@

This version:
wsdl12.html
Latest version:
http://www.w3.org/2002/ws/desc/wsdl12
Editor:
TBD, TBD

This document is also available in these non-normative formats: .


Abstract

This document describes the Web Services Description Language (WSDL) Version 1.2 RDF mapping.

Status of this Document

This document is an editors' copy that has no official standing.


Short Table of Contents

1. URI References for WSDL constructs
2. References
A. Acknowledgements (Non-Normative)
B. Part 4 Change Log (Non-Normative)


Table of Contents

1. URI References for WSDL constructs
    1.1 WSDL URIs
    1.2 Fragment Identifiers
    1.3 Extension Elements
    1.4 Example
    1.5 Relation to WSDL 1.1
2. References
    2.1 Normative References
    2.2 Informative References

Appendices

A. Acknowledgements (Non-Normative)
B. Part 4 Change Log (Non-Normative)
    B.1 WSDL Specification Changes


1. URI References for WSDL constructs

Editorial note: JJM20031013
In a later revision of this specification, this document will contain a full WSDL to RDF mapping. Currently, this document contains only a means for constructing URI references for WSDL constructs. There are known issues with the algorithm used; in particular, the use of fragment identifiers may be problematic, as is currently being investigated by the W3C Technical Architecture Group. We expect that a future revision of this specification will contain a revised algorithm.

This appendix provides a syntax for URI references for constructs found in a WSDL document. This includes first class constructs such as interface, binding, and service and subordinate constructs such as interface operations. The URI references are easy to understand and compare, while imposing no burden on the WSDL author.

1.1 WSDL URIs

There are two main cases for WSDL URIs:

  • the URI of a WSDL document

  • the URI of a WSDL namespace

The URI of a WSDL document can be dereferenced to give a resource representation that contributes component definitions to a single WSDL namespace. If the media type is set to the WSDL media type, then the fragment identifiers can be used to identify the main components that are defined in the document.

However, this appendix specifies the use of the namespace URI with the WSDL fragment identifiers to form a URI-reference.

Editorial note: MJG20030203
The URI of a WSDL namespace may not be dereferencable, or if it is dereferencable, then it may not resolve to a resource representation that has the WSDL media type. For example, a namespace URI may resolve to an HTML document that describes the namespace. Since the namespace URI does not necessarily reference a resource with the WSDL media type, the use of WSDL fragment identifiers with it is not strictly in compliance with the definition of URI-reference. Comment from the W3C Technical Architecture Group on this point is invited.

1.2 Fragment Identifiers

The following fragment identifier syntax is compliant with the [XPointer Framework].

The URI reference for a WSDL construct is the {target namespace} property of either the construct itself, in the case of interfaces, bindings, services or operations, or the {target namespace} property of an ancestor construct.

The URI provided by the {target namespace} property is combined with a fragment identifier, where the fragment identifier is constructed from the {name} property of the construct and the {name} properties of its ancestors as a path according to Table 1-1. In that table the first column gives the name of the WSDL construct as the [local name] of the element information item that represents that construct in a WSDL document. Columns two, three and four populate the variables x, y and z respectively. These variables are then used to construct the fragment in column five.


Table 1-1. Rules for determining fragments for WSDL constructs
ConstructxyzFragment
interface{name} property of interface n/an/ainterface(x)
operation{name} property of operation{name} property of parent interfacen/aoperation(y/x)
input{messageReference} property of message reference{name} property of parent operation{name} property of grandparent interfaceinput(z/y/x)
output{messageReference} property of message reference{name} property of parent operation{name} property of grandparent interfaceoutput(z/y/x)
infault{name} property of message reference{name} property of parent operation{name} property of grandparent interfaceinfault(z/y/x)
outfault{name} property of message reference{name} property of parent operation{name} property of grandparent interfaceoutfault(z/y/x)
binding{name} property of bindingn/an/abinding(x)
service{name} property of servicen/an/aservice(x)
endpoint{name} property of endpoint{name} property of parent servicen/aendpoint(y/x)

Note that the above rules are defined in terms of component properties rather than transfer syntax. Because of the mappings defined for these properties, values are always available, even if certain optional attribute information items are missing from the WSDL document. This allows meaningful URI-references to be formed for constructs like Message Reference components (see [WSDL 1.2 Core Language]) whose element information items <input> and <output> may not actually carry a messageReference attribute information item.

1.3 Extension Elements

WSDL has an open content model. It is therefore possible for an extension to define new components. The XPointer Framework scheme for components added by extensions is:

extension(extension-namespace, extension-specific-syntax)

where extension-namespace is the namespace that identifies the extension, e.g. for SOAP the namespace is http://www.w3.org/@@@@/@@/wsdl/soap12, and extension-specific-syntax is defined by the extension. The owner of the extension must define any components contributed by the extension and a syntax for identifying them.

1.4 Example

Consider the following WSDL located at http://schemas.airlines.org/TicketAgent.wsdl:

Example 1-1. URI References - Example WSDL


<?xml version="1.0" encoding="UTF-8"?> 
<definitions
    name="TicketAgent" 
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    targetNamespace="http://airline.wsdl/ticketagent/"
    xmlns:tns="http://airline.wsdl/ticketagent/"
    xmlns:xsd1="http://airline/" >

  <import location="TicketAgent.xsd"
          namespace="http://airline/" />

  <interface name="TicketAgent">
    <operation name="listFlights" >
      <input messageReference="listFlightsRequest"
             body="xsd1:listFlightsRequest" />
      <output messageReference="listFlightsResponse"
              body="xsd1:listFlightsResponse" />
    </operation> 
    <operation name="reserveFlight" >
      <input messageReference="reserveFlightRequest"
             body="xsd1:reserveFlightRequest" />
      <output messageReference="reserveFlightResponse"
              body="xsd1:reserveFlightResponse" />
    </operation> 
  </interface> 

</definitions> 

Its conceptual elements have the following URI-references:

Example 1-2. URI References - Example URIs


http://airline.wsdl/ticketagent/#interface(TicketAgent) 
http://airline.wsdl/ticketagent/#operation(TicketAgent/listFlights) 
http://airline.wsdl/ticketagent/#input(TicketAgent/listFlights/listFlightsRequest) 
http://airline.wsdl/ticketagent/#output(TicketAgent/listFlights/listFlightsResponse) 
http://airline.wsdl/ticketagent/#operation(TicketAgent/reserveFlight) 
http://airline.wsdl/ticketagent/#input(TicketAgent/reserveFlight/reserveFlightRequest) 
http://airline.wsdl/ticketagent/#output(TicketAgent/reserveFlight/reserveFlightResponse) 

1.5 Relation to WSDL 1.1

This appendix applies to WSDL 1.2. It is does not apply to WSDL 1.1. For example, the proposed syntax does not disambiguate overloaded operation names, which are permissible in WSDL 1.1, but not in WSDL 1.2.

2. References

2.1 Normative References

[IETF RFC 2119]
Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, Author. Internet Engineering Task Force, June 1999. Available at http://www.ietf.org/rfc/rfc2119.txt.
[IETF RFC 2396]
Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at http://www.ietf.org/rfc/rfc2396.txt.
[XML 1.0]
Extensible Markup Language (XML) 1.0 (Second Edition), T. Bray, J. Paoli, C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide Web Consortium, 10 February 1998, revised 6 October 2000. This version of the XML 1.0 Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006. The latest version of XML 1.0 is available at http://www.w3.org/TR/REC-xml.
[XML Information Set]
XML Information Set, J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 24 October 2001. This version of the XML Information Set Recommendation is http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The latest version of XML Information Set is available at http://www.w3.org/TR/xml-infoset.
[XML Namespaces]
Namespaces in XML, T. Bray, D. Hollander, and A. Layman, Editors. World Wide Web Consortium, 14 January 1999. This version of the XML Information Set Recommendation is http://www.w3.org/TR/1999/REC-xml-names-19990114. The latest version of Namespaces in XML is available at http://www.w3.org/TR/REC-xml-names.
[XML Schema: Structures]
XML Schema Part 1: Structures, H. Thompson, D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 1 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-1-20010502. The latest version of XML Schema Part 1 is available at http://www.w3.org/TR/xmlschema-1.
[XML Schema: Datatypes]
XML Schema Part 2: Datatypes, P. Byron and A. Malhotra, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 2 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The latest version of XML Schema Part 2 is available at http://www.w3.org/TR/xmlschema-2.
[WSDL 1.2 Core Language]
Web Services Description Language (WSDL) Version 1.2: Core Language, R. Chinnici, M. Gudgin, J-J. Moreau, S. Weerawarana, Editors. World Wide Web Consortium, @@@@@@@@@@. This version of the "Web Services Description Version 1.2:Core Language" Specification is available is available at wsdl12.html. The latest version of "Web Services Description Version 1.2: Core Language" is available at http://www.w3.org/2002/ws/desc/wsdl12.

2.2 Informative References

[IETF RFC 2616]
Hypertext Transfer Protocol -- HTTP/1.1, R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, Authors. Internet Engineering Task Force, June 1999. Available at http://www.ietf.org/rfc/rfc2616.txt.
[XML Linking]
XML Linking Language (XLink) Version 1.0, S. DeRose, E. Maler, D. Orchard, Editors. World Wide Web Consortium, 27 June 2001. This version of the XML Linking Language 1.0 Recommendation is http://www.w3.org/TR/2001/REC-xlink-20010627. The latest version of XML Linking Language 1.0 is available at http://www.w3.org/TR/xlink.
[XPointer Framework]
XPointer Framework,Paul Grosso, Eve Maler, Jonathan Marsh, Norman Walsh, Editors. World Wide Web Consortium, 22 November 2002. This version of the XPointer Framework Proposed Recommendation is http://www.w3.org/TR/2003/REC-xptr-framework-20030325/ The latest version of XPointer Framework is available at http://www.w3.org/TR/xptr-framework/.

A. Acknowledgements (Non-Normative)

This document is the work of the W3C Web Service Description Working Group.

Members of the Working Group are (at the time of writing, and by alphabetical order): Adi Sakala (IONA Technologies), Alan Davies (SeeBeyond), Allen Brookes (Rogue Wave Softwave), Amelia Lewis (TIBCO/Extensibility), Arthur Ryman (IBM), Bijan Parsia (University of Maryland), Dale Moberg (Cyclone Commerce), Dan Kulp (IONA Technologies), David Booth (W3C), Dietmar Gaertner (Software AG), Don Mullen (TIBCO Software), Erik Ackerman (Lexmark), Glen Daniels (Macromedia), Igor Sedukhin (Computer Associates), Ingo Melzer (DaimlerChrysler Research and Technology), Jacek Kopecky (Systinet), Jean-Jacques Moreau (Canon), Jeff Mischkinsky (Oracle Corporation), Jeffrey Schlimmer (Microsoft Corporation), Jerry Thrasher (Lexmark), Jim Hendler (University of Maryland), Johan Pauhlsson (L'Échangeur), Jonathan Marsh (Chair, Microsoft Corporation), Kevin Canyang Liu (SAP), Laurent De Teneuille (L'Échangeur), Lily Liu (webMethods, Inc.), Martin Gudgin (Microsoft Corporation), Michael Champion (Software AG), Michael Mahan (Nokia), Michael Mealling (Verisign), Mike Ballantyne (Electronic Data Systems), Mike Davoren (W. W. Grainger), Mike McHugh (W. W. Grainger), Philippe Le Hégaret (W3C), Prasad Yendluri (webMethods, Inc.), Roberto Chinnici (Sun Microsystems), Sandeep Kumar (Cisco Systems), Sandra Swearingen (U.S. Department of Defense, U.S. Air Force), Sanjiva Weerawarana (IBM), Steve Graham (Global Grid Forum), Steve Lind (AT&T), Steve Tuecke (Global Grid Forum), Tom Jordahl (Macromedia), Umit Yalcinalp (Oracle Corporation), Waqar Sadiq (Electronic Data Systems), William Vambenepe (Hewlett-Packard Company), Youenn Fablet (Canon)

Previous members were: Aaron Skonnard (DevelopMentor), Don Wright (Lexmark), Barbara Zengler (DaimlerChrysler Research and Technology), Jochen Ruetschlin (DaimlerChrysler Research and Technology), Joyce Yang (Oracle Corporation), Keith Ballinger (Microsoft), Krishna Sankar (Cisco Systems), Mario Jeckle (DaimlerChrysler Research and Technology), Pallavi Malu (Intel Corporation), William Stumbo (Xerox), Daniel Schutzer (Citigroup), Dave Solo (Citigroup), Stefano Pogliani (Sun Microsystems), Stephen White (SeeBeyond), Tim Finin (University of Maryland)

The people who have contributed to discussions on www-ws-desc@w3.org are also gratefully acknowledged.

B. Part 4 Change Log (Non-Normative)

B.1 WSDL Specification Changes


DateAuthorDescription
20031013JJMIncoporated Part 1, Appendix C, as per 24 Sep 2003 meeting in Palo Alto, CA.
20031013JJMCreated blank document.