04/11/2006 12:03 PM
post4825
|
ByteIO Resource Property "TransferMechanisms"
The ByteIO WSRF Renderings does not match the ByteIO Resource Property definitions for the Random Access interface and
the Streamable Acccess interface, and do not comply to the WSRF definition of a resource property:
According to the WSRF Resource Properties specification, "Resource properties are the atomic unit upon which many of the
message exchanges defined in this document operate.".
The following text refers to the Random ByteIO rendering, but is also applicable to the Streamable ByteIO rendering.
The Random ByteIO specification defines a resource property "TransferMechansim" as an atomic resource property, that
lists the available transfer mechanisms an implementation supports. However, the implication of resource properties
being atomic is that a resource property must appear only once in a resource properties document for a WSRF WS-Resource.
The Random ByteIO WSRF rendering declares a "rbyteio:TransferMechanisms" element as a GED (according to WSRF RP spec)
and as a member of the Random ByteIO Resource Properties document that can appear at least once in the document, as
follows:
---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------
...
<xsd:element name="TransferMechanisms" type="xsd:anyURI"/>
...
<xsd:element name="RandomByteIORP">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="rbyteio:Size" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:Readable" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:Writeable" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:TransferMechanisms" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element ref="rbyteio:CreateTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="rbyteio:ModificationTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="rbyteio:AccessTime" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------
This is not compliant to the WSRF RP requirement of resource properties being atomic. [Note that the code given above
already reflects changes proposed in the previous post regarding schema WSDL validation].
I proopose the following changes to the Random ByteIO WSDL rendering:
---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------
...
<xsd:element name="TransferMechanisms">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TransferMechanism" type="xsd:anyURI"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
...
<xsd:element name="RandomByteIORP">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="rbyteio:Size" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:Readable" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:Writeable" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:TransferMechanisms" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="rbyteio:CreateTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="rbyteio:ModificationTime" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="rbyteio:AccessTime" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
---------- SNIP ---------- SNIP ---------- SNIP ---------- SNIP ----------
|
|
|