| From | Sent On | Attachments |
|---|---|---|
| Ian Robinson | Apr 24, 2006 7:06 am | |
| Tim Banks | Apr 24, 2006 8:56 am |
| Subject: | New RMD issue: Simplification of metadataDescriptorLocation type | |
|---|---|---|
| From: | Ian Robinson (ian_...@uk.ibm.com) | |
| Date: | Apr 24, 2006 7:06:54 am | |
| List: | org.oasis-open.lists.wsrf | |
I would like to separate the following concern out from the discussion on issue WSRF174 into a new issue in its own right, independent of the outcome of WSRF174.
This relates back to the final observation in [1] that, since we now define at most one MDD per WS-Resource, we can simplify the type of MetadataDescriptorLocation from "list of pairs of URIs" to a single URI that provides information on the location of the MDD. The reason there is currently a list of pairs or URIs is so that we could (in the past) accomodate a number of different MDDs, each of which pertains to a specific namespace (the first URI in the pair). We have moved away from this and now need only a single URI for the location of the single MDD.
In order to have a single, consistent story for locating the MDD, I propose the following additions to the resolution of issue 174:
Change the definition of the wsrmd:MetadataDescriptorLocation from "wsrmd:PairsOfURIType" to "xsd:anyURI" Specifically, change the schema from this:
<!-- ======================== Utility Types ======================= --> <xsd:simpleType name="PairsOfURIType"> <xsd:list itemType="xsd:anyURI" /> </xsd:simpleType>
<!-- ================ PortType Attribute Extensions ================ --> <xsd:attribute name="metadataDescriptorLocation" type="wsrmd:PairsOfURIType" />
to this:
<!-- ================ PortType Attribute Extensions ================ --> <xsd:attribute name="metadataDescriptorLocation" type="xsd:anyURI" />
Further, change XML snippets to reflect this - for example lines 235-241 become: <portType name="OperatingSystem" wsrf-rp:ResourceProperties="os:OSResourceProperties" ..wsrmd:metadataDescriptor=âos:OperatingSystemMetadataDescriptorâ ..wsrmd:metadataDescriptorLocation= âhttp://example.com/metadataDescriptors/OperatingSystem.wsrmdâ > ⦠</portType>
Change "10.1 Extending WSDL 1.1 PortType" to read:
"...
<wsdl:definitions â¦> <wsdl:portType ⦠wsrmd:metadataDescriptor=âxs:QNameâ? wsrmd:metadataDescriptorLocation=âxs:anyURIâ? ⦠> ⦠</wsdl:portType>
This definition is further constrained as follows:
/wsdl:portType/@wsrmd:metadataDescriptor
If this attribute appears on a WSDL 1.1 portType element its value MUST be a QName that corresponds to a MetadataDescriptor component. Further, the value of the MetadataDescriptor component contained in that document MUST have {interface} that matches the QName of the portType containing @wsrmd:metadataDescriptor. Any service that implements this portType MUST be associated with a MetadataDescriptor that is, or specializes the MetadataDescriptor identified by the value of this attribute.
/wsdl:portType/@wsrmd:metadataDescriptorLocation
If this attribute appears on a WSDL 1.1 portType element its value MUST be a URI that corresponds to a URL at which can be found more information about the MetadataDescriptor document, such as an XML document containing a MetadataDescriptor Definitions element as its root element.
"
We should make the same change for the MetadataDescriptor @wsdlLocation which is currently defined on lines 493 - 495 as:
"{wsdlLocation} a set of URI pairs, each pair associating a namespace URI with a URL of a document containing a WSDL definition of that namespace. This is a similar mechanism to that used in WSDL 2.0 [WSDL2.0]. "
The new definition of this attribute would be:
"{wsdlLocation} a URI that corresponds to the URL of a document containing the WSDL definition of the WS-Resource."
is attribute should should be changed from "a set of" to "a pair of" indicating the location of a single WSDL document.
[1] http://www.oasis-open.org/apps/org/workgroup/wsrf/email/archives/200603/msg00006.html
Regards, Ian Robinson





