W3C home > Mailing lists > Public > www-ws-desc@w3.org > February 2006

Re: Semantics of wsdl:import

From: Jacek Kopecky <jacek.kopecky@deri.org>
Date: Tue, 14 Feb 2006 12:33:55 +0100
To: Ramkumar Menon <ramkumar.menon@gmail.com>
Cc: www-ws-desc@w3.org
Message-Id: <1139916835.3938.28.camel@localhost>

Hi Menon, 

in WSDL 1.1, AFAIK, it was common practice to import schemas using
wsdl:import, even use this to import schemas from within WSDL files. I
don't know how the Basic Profile regulates this, if at all; from the
point of view of common practice, the code snippet below is correct.

WSDL 2.0 talks about importing schemas in the section on types (section
3), and in section 4.2.2 it says that wsdl:import location attribute
gives a hint about where a WSDL 2.0 document can be found for this
import. So I believe WSDL 2.0 is clear enough about how the various
imports are to be done. 

There may be a problem that for people coming from WSDL 1.1, this
information is not spelled out clearly enough; this may be an editorial
issue which the WG could consider.

Best regards,

Jacek

On Tue, 2006-02-14 at 16:50 +0530, Ramkumar Menon wrote:
> Hi Jacek,
> 
> Thanks ! I completely agree with you.
> I knew this point, but I have seen folks specify schemas as top level
> imports, which is incorrect, but is pardoned by most API
> representations for WSDL, like JSR 110.[WSDL4J] 
> 
> After the User models a top level XSD import, he could go ahead and
> treat the imported artifact as a blackbox and treat it the way he/she
> wishes to.
> Let me take the freedom of adding a code snippet of an incorrect usage
> of imports in a JSR 110 implementation. 
> List imports = definition.getImports();
> Import importedXSD = (Import)imports.get(0);
> String xsdLocation = importedXSD.getLocationURI();
> //use W3C  DOM APIs to parse the XSD and retrieve the information.
> Document xsdDoc = domParser.parse(new InputStream(xsdLocation));
> This is obviously a hackish way to bypass the specification.
> There are two options.
> 1) Explicitly have a mention in the specification that <wsdl:import>
> can only be used to import WSDL descriptions, and is an error
> otherwise.
> 2) The plain vanilla attribute name "location" on the <import> could
> possibly be misleading -it does not indicate what all can be imported
> into the wsdl description. Need to think of an alternative to this
> attribute naming- lets say "wsdlLocation". 
> 
> rgds,
> Menon
Received on Tuesday, 14 February 2006 11:33:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:38 GMT