W3C home > Mailing lists > Public > www-ws-desc@w3.org > April 2005

More illumination? ( was RE: Contradictions regarding transitivity of wsdl:import)

From: Martin Gudgin <mgudgin@microsoft.com>
Date: Fri, 15 Apr 2005 17:50:33 -0700
Message-ID: <DD35CC66F54D8248B6E04232892B6338056FF84C@RED-MSG-43.redmond.corp.microsoft.com>
To: "Martin Gudgin" <mgudgin@microsoft.com>, "David Booth" <dbooth@w3.org>, "Arthur Ryman" <ryman@ca.ibm.com>
Cc: <www-ws-desc@w3.org>

OK, let's step back a bit...

For the same of illustration, lets say that somehow, let's not worry
about exactly how, I construct a component model per the current WSDL
spec *without* using WSDL documents. And let's say that the resulting
component model contains components from namespaces A, B and C. It is
clear to me that any component in any of those namespaces can refer to
any other component in any one of those namespaces. So a binding
component in namespace A could refer to an interface component in
namespace A, B or C.

Now, we have a rule, just like XML Schema, that at the WSDL document
level, in order to legally refer to components in another namespace a
WSDL document MUST contain a wsdl:import statement for that namespace.
Such a statement is a necessary condition to refer to components in
another namespace *at the document level*. So it's a serialization
detail, but an important one, because it tells a WSDL parser what other
namespaces it's going to need in order to resolve references in the
document its parsing.

So, when I come to serialize my 'synthetic' component model, as I write
out the WSDL document for namespace A, I look to see what other
components in other namespaces are referred to by the components in
namespace A. If only components from B are referenced, then as I write
out a.wsdl, I only need a wsdl:import for B. Same for components in
namespace B. If they only refer to components in namespace C, then as I
write out b.wsdl, I only need a wsdl:import for C.

If components in A refer to components in B and C, then when I write out
a.wsdl, I need two wsdl:imports one for B and another for C.

Does that help?

Gudge
Received on Saturday, 16 April 2005 00:50:37 GMT

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