Contradictions regarding transitivity of wsdl:import

Statements in Part 1 about the meaning of wsdl:import appear to be 
contradictory.  On one hand, sec 4.2 says that wsdl:import is not 
transitive.  On the other hand, sec 2.1.1 says there is no difference 
between included/imported components and components derived directly from a 
WSDL 2.0 document, and this logically leads to import being transitive.

Suppose WSDL document A imports WSDL document B, which imports WSDL 
document C, which neither includes nor imports anything.  The components of 
C will be only the components derived directly from the XML Infoset of 
C.  Since B imports C, clearly the set of components for B will include the 
set of components for C.  So far so good.  But A now imports B, so what 
components will A have?  We have already established that the set of 
components of B includes the set of components from C as a subset.  Since 
there is no distinction made between the subset of components that 
originated in C and the other components, the components of A must 
therefore also include the components of C as a subset.  This contradicts 
the statement that "wsdl:import is not transitive".

The basic problem here is that the spec is referring to the *components* of 
the imported document.  Those components only exist if we interpret the 
meaning of the imported document according to the WSDL 2.0 specification, 
at which point there is no way to know whether those imported components 
originated in the imported document or another document (transitively).

Here are the relevant excerpts from the spec:

Part 1 sec 4.2 Importing Descriptions
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#imports
second paragraph says:
[[
Components in directly imported descriptions are part of the component 
model of the importing description. Directly imported means that component 
importation is not transitive; components imported by one of the imported 
documents are NOT available to the original importing document unless the 
are imported directly by that document.
]]

But section 2.1.1 The Description Component
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#Description_details
sixth paragraph says:
[[
The set of interfaces/binding/services/etc. available in the Description 
component include those that are defined within the component itself and 
those that are imported and/or included. Note that at the component model 
level, there is no distinction between directly defined components vs. 
imported/included components.
]]
Furthermore, sec 2.1.3 Mapping Description's XML Representation to 
Component Properties
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-type=text/html;%20charset=utf-8#Description_Mapping
also shows no distinction between components that originated in the WSDL 
2.0 document and components that originated in an included/imported document.




-- 
David Booth
W3C Fellow / Hewlett-Packard
Telephone: +1.617.253.1273

Received on Wednesday, 13 April 2005 17:38:25 UTC