Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Woden should correctly support WSDL importing, as per the WSDL 2.0 spec Part 1, section 4.2 Importing Descriptions. wsdl:import is a namespace import. The location attribute is optional and is treated as a hint only.
Currently, Woden will attempt to resolve the location attribute of a wsdl:import to a document, but will not attempt to resolve a namespace only import. The requirement on Woden is to associated an imported namespace with ALL imported documents that have that as their targetNamespace.
Extracted from Woden weekly call Minutes 9th Jan 07 (see [1] below):
Arthur: Import relates to namespace not location, so WSDL content for each
namespace should be represented in Woden in a 'master' description doc
keyed of that namespace and any retrieved documents from that namespace
should be included in that master document. This master description is
stored in a 'catalog' keyed by NS. When a wsdl:import is processed it
should try to resolve against the catalog first, before trying to retrieve
a document. If the wsdl:import has no location attribute, this catalog is
the way to resolve the import.
John: So if a wsdl import cannot be resolve to anything (via this catalog
or externally) it is an error? At least, it results in an error if the
component model contains any components from this namespace?
Arthur: correct.
John: Currently Woden always tries to retrieve a document based on the
location attribute of a wsdl:import. It does check a cache to reuse the
DescriptionElement if the document has already been retrieved, but it does
not do anything special to resolve a wsdl import without a location
attribute. This catalog mechanism sounds like the solution.