- From: Matt Long <mlong@mvsquared.net>
- Date: Thu, 14 Apr 2005 10:57:45 -0000
- To: "David Booth" <dbooth@w3.org>, "Martin Gudgin" <mgudgin@microsoft.com>
- Cc: www-ws-desc@w3.org
Correct me if I am wrong, but the value of wsdl:import is that you can
utilize a reference to a different target namespace than the importing
document. Therefore, in the list of QName encoded with ‘extends’ may be
contain a QName that references a different target namespace than the
importing document such that wsdl:import is required.
If A inherits B inherits C, where A imports B imports C, it seems imperative
to understand which target namespaces A, B, C belong, and which documents
wsdl:import which namespaces.
Example 1:
If ‘A’ imports ‘B’ imports ‘C’: then for ‘A’ inherits ‘B’ inherits ‘C’ to
exist:
‘A’ must wsdl:import *both* ‘B’ and ‘C’ namespaces.
Example 1 is actually non-transitive (even if it does look that way) because
*if* ‘A’ does not wsdl:import ‘C’ namespace, then only ‘A’ inherits ‘B’ (B
does not inherit C with respect to ‘A’, which is what makes in
non-transitive)
>From [1]
“…Specifically, it can be used to import components from WSDL descriptions
that do not share a target namespace with the importing document. 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. …”
[1] http://www.w3.org/TR/wsdl20/#imports
--
Matt Long
MV Squared Technologies
mlong@mvsquared.net
901-848-2640
--------- Original Message --------
From: David Booth <dbooth@w3.org>
To: Martin Gudgin <mgudgin@microsoft.com>
Cc: www-ws-desc@w3.org
Subject: RE: Contradictions regarding transitivity of wsdl:import
Date: 13/04/05 22:15
>
>
> Hi Gudge,
>
> I understand that the spec was intended to make wsdl:import be
> non-transitive, but I'm not getting that when I try to follow the rules
> that are stated for the component model. Can you point me to where I'm
> going wrong?
>
> Section 2.1.3, in the row for the {interfaces} property (for example)
> says that its value is:
> [[
> The set of Interface components corresponding to all the interface
> element information items in the [children] of the description element
> information item, if any, plus any included or imported Interface
> components (see 4. Modularizing WSDL descriptions)
> ]]
> So in the "A imports B imports C" example, let's assume that the
> {interfaces} property for A, B and C are the sets Ai, Bi and Ci,
> respectively. Further assume that I already know the set Ci, and I now
> want to determine Bi (i.e., the {interfaces} property for B).
>
> According to the section 2.1.3 rule excerpted above, I would conclude
> that the set Bi consists of the union of {"The set of Interface
> components corresponding to all the interface element information items
> in the [children] of the description element information item" of B}
and
> Ci. (I.e., Ci is a subset of Bi.) Correct? Is Ci a subset of Bi? If
> not, please explain why not. If Ci *is* a subset of Bi, then when A
> imports B, by the same rule Bi would be a subset of Ai, which implies
> that Ci would also be a subset of Ai.
>
> In other words, I don't see how this rule is differentiating between the
> Ci subset of Bi, and the rest of the Bi set. You're saying that "the
> components defined in B are in one namespace whereas the components B
> imports from C are in another namespace", but I don't see where this
> namespace differentiation is reflected in the component model. AFAICT,
> the {interfaces} property for B is simply a set that includes Ci as a
> subset, per the section 2.1.3 rule excerpted above.
>
> Can you explain further, what you think the rule should be (or how you
> think I should interpret it differently) for computing the value of the
> {interfaces} property?
>
>
> On Wed, 2005-04-13 at 14:30, Martin Gudgin wrote:
> >
> > > -----Original Message-----
> > > From: www-ws-desc-request@w3.org
> > > [mailto:www-ws-desc-request@w3.org] On Behalf Of David Booth
> > > Sent: 13 April 2005 10:38
> > > To: www-ws-desc@w3.org
> > > Subject: 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.
> >
> > I don't understand why you would draw this conclusion. The only
> > difference between imported and included conmponents is that included
> > components are in one namespace and imported components are in
another.
> >
> > >
> > > 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.
> >
> > wsdl:import like xs:import is namespace based. The components defined
in
> > C and not in the same namespace as the compontents defined in B and
so
> > only the components from B are imported into A.
> >
> > > 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).
> >
> > Yes there is. As noted above the components defined in B are in one
> > namespace whereas the components B imports from C are in another
> > namespace. The wsdl:import in A specifies that it is importing
> > components in the namespace of B.
> >
> > >
> > > 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
> > >
> > >
> > >
> > >
> --
>
> David Booth
> W3C Fellow / Hewlett-Packard
>
>
>
>
>
>
>
>
>
>
>
>
________________________________________________
This message has been sent via webmail.
Please forward unsolicited email (spam) to...
abuse@hostonce.com
Received on Thursday, 14 April 2005 15:00:37 UTC