WSDL

WSDL is the Web Services Description Language. The entire specification is online at http://www.w3.org/TR/wsdl, and describes everything you need to know about a service in order to interact with it. Like UDDI, it’s a fairly simple piece of technology on its own (really, it’s not even technology; it’s just markup), but becomes extremely important in the overall web services picture. The WSDL file describes several critical pieces of information a service client would need:

  • The name of the service, including its URN

  • The location the service can be accessed at (usually an HTTP URL address)

  • The methods available for invocation

  • The input and output parameter types for each method

Each of these pieces of data on their own are fairly useless, but together, they represent the complete client picture of the service. Additionally, a WSDL document incorporates elements of XML Schema, XML-RPC-style parameters, and quite a bit of everything else you’ve read about so far. Example 13-1 is a portion of a WSDL schema for the CD catalog from the last chapter; it only describes the getCD( ) method of the service. It’s not complete, but it should give you an idea of what a WSDL document looks like.

Example 13-1. Portion of a WSDL document

<?xml version="1.0"?> <definitions name="CDCatalog" targetNamespace="http://www.oreilly.com/javaxml2/cd-catalog.wsdl" xmlns:cd="http://www.oreilly.com/javaxml2/cd-catalog.wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:cdXSD="http://www.oreilly.com/javaxml2/cd-catalog.xsd" ...

Get Java and XML, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.