RE: Contradictions regarding transitivity of wsdl:import

I think that part of the problem with answering this question is that
there is a difference between the components that are in the component
model and the components that are 'visible' to other components. If I
have three WSDL documents, A, B and C in three separate namespaces and A
imports B and B imports C, then Arthur is correct that the component
model for A includes components from all three namespaces. However, the
components defined in namespace A can only 'see' components defined in
namespace B. They can't 'see' components in namespace C.

 

Gudge

 

________________________________

From: Arthur Ryman [mailto:ryman@ca.ibm.com] 
Sent: Friday, April 15, 2005 8:42 AM
To: David Booth
Cc: Martin Gudgin; www-ws-desc@w3.org; www-ws-desc-request@w3.org
Subject: RE: Contradictions regarding transitivity of wsdl:import

 


David, 

I disagree. Imports are not for the same namespace. All components get
added to the component model, not just those in the same namespace. The
<wsdl:import> statement is just an assertion that the definitions in the
current document refer to some other namespace. 

Arthur Ryman,
Rational Desktop Tools Development

phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
intranet: http://labweb.torolab.ibm.com/DRY6/ 



David Booth <dbooth@w3.org> 
Sent by: www-ws-desc-request@w3.org 

04/14/2005 09:36 PM 

To

Martin Gudgin <mgudgin@microsoft.com> 

cc

www-ws-desc@w3.org 

Subject

RE: Contradictions regarding transitivity of wsdl:import

 

 

 





I think I've located the problem.  Sec 4.2 says:
[[
Components in directly imported descriptions are part of the component
model of the importing description.
]]
In the A-imports-B-imports-C example, if I'm determining what components
A imports from B, "the importing description" in the above sentence
would be A and the "directly imported descriptions" of A would be {B}. 
Substituting these into the sentence above yields:
[[
Components in {B} are part of the component model of the A.
]]
which is *not* what we want, since the components in B clearly include
components that originated from C (which would thus make import
transitive), whereas we only want those components in B that
*originated* from B (i.e., non-transitive).

I think 4.2 needs to be changed to say something like:
[[
Each component in the {interfaces}, {bindings} or {service} property of
the imported document is added to the {interfaces}, {bindings} or
{service} property of the importing document (respectively), if and only
if the namespace part of the {name} property of that component is
identical to the value of the namespace attribute information item of
the import element information item.  In other words, only those
components that are "in the namespace" that was specified in the
namespace attribute information item of the import element information
item are imported.
]]

The editors may be able to come up with a simpler (but still accurate)
way of expressing that, but I think it captures the intended effect, of
causing import be non-transitive.

-- 

David Booth
W3C Fellow / Hewlett-Packard

Received on Friday, 15 April 2005 15:47:11 UTC