VOSpace home page
VOSpace-1.0 WSDL and schema
The VOSpace-1.0 schema has been completed, the release versions are available here :
This is a discussion page for the WSDL and schema for the VOSpace-1.0 service.
This is somewhere where we can post proposals for schema and WSDL to enable interested parties to discuss the different versions.
For each version there is a Change request section - please add to this and vote on other suggestions
- +1 if you agree
- -1 if you disagree
- 0 if you have no particular preference
Once we have finalised the WSDL and schema, the final versions will be posted on the main Grid & Web Services
page.
The experiments that were on this page have been
moved
Core schema
This is the main section for schema and WSDL files.
Version 1.0rc6
Changes from V1.0rc5
- ensured that Axis 1.3 WSDL2Java would produce code
--
PaulHarrison - 03 Aug 2006
Comments
- why is View optional in TransferType - what view should be assumed if is missing? -- PaulHarrison - 11 Sep 2006
- the extra metadata that is added with exceptions still needs review -e.g. NodeNotFoundFaultType includes uri for the node (sensible), but ProtocolNotSupportedFault need a full Protocol object -- PaulHarrison - 11 Sep 2006
- not sure that parameters for protocols are really useable, will need specialized client to deal with them if the protocol does not already allow parameters in the URL format c.f. http. -- PaulHarrison - 11 Sep 2006
- in general this is too much reuse of types in several places where it would aid understanding to have two separate types - TransferType is one of the best examples of this - on an operation where this type is used to specify a request to transfer data - only parts of the subtypes are relevant - e.g. endpoint of the protocol is not meaningful - this leads to
- elements being made optional in the schema, when in some uses of the type they are actually mandatory
- and, as a consequence, the explanatory documentation having to be more complicated.
Version 1.0rc5
Changes from V1.0rc4
- Added
elementFormDefault="qualified"
to WSDL and schema
- Restored
ParamType
for view and protocols params (changed back from PropertyType
used in rc4).
- Removed commented
xsd:annotation
elemets that broke Axis code generator.
- Removed
ViewErrorType
, not required and reports that it caused some problems.
- Added
nillable="true"
to fault details.
- Changed
TypeNotSupportedFault
to use xsd:QName
(let me know if this causes problems).
Question : Should we add a text message to the base class for our faults. Currently we rely on using the message in the standard SOAP fault.
Version 1.0rc4
There is a known problem with the rc4 schema.
In rc3 we changed Protocol and View params from
<xsd:element name="param" xsi:type="vos:ParamType">
to use the same type as Node properties
<xsd:element name="param" xsi:type="vos:PropertyType">
This meant that params were identified by uri rather than a string name.
The original intention was that we would use the fragment symbol '#' to reference the param description within the resource document for the protocol or view.
<protocol uri="ivo://net.ivoa.vospace/protocols/ftp-get">
<param uri="#name">
....
</param>
</protocol>
In this example, the param uri refers to the definition of the
name
param within the ftp-get protocol resource.
The full uri of the param would be
ivo://net.ivoa.vospace/protocols/ftp-get#name
However, the latest metadata schema allows more than one protocol or view to be defined in a single resource document.
<vor:Resource xsi:type="vsp:VOSpaceProtocol">
....
<protocol id="http-get">
....
</protocol>
<protocol id="ftp-get">
<param id="name">
....
</param>
</protocol>
....
</vor:Resource>
This uses one resource document to register all of the vospace protocols as a set, and using the '#' fragment identifier to resolve one protocol within the set.
For example, the full uri for the
ftp-get
protocol would be
ivo://net.ivoa.vospace/protocols#ftp-get
However, this means that we can't use the '#' fragment identifier to refer to a specific parameter within a protocol without overloading its meaning and using it twice. e.g.
ivo://net.ivoa.vospace/protocols#ftp-get#name
.
I can't see a strong use case for registering params as separate entities outside protocols and views, so we probably don't need a full uri to identifiy a param. In which case, to solve the above problems we might as well change back to using a string key to identify params within protocols and views.
So, next version of the schema will revert to using
ParamType for protocol and view params, identified by a string key rather than a uri.
<xsd:element name="param" xsi:type="vos:ParamType">
Note also that allowing more than one protocol description within one resource document means that we can end up with more than one element with the same
id
attribute.
<vor:Resource xsi:type="vsp:VOSpaceProtocol">
....
<protocol id="ftp-get">
<param id="name">
....
</param>
<param id="pass">
....
</param>
</protocol>
<protocol id="ftp-put">
<param id="name">
....
</param>
<param id="pass">
....
</param>
</protocol>
....
</vor:Resource>
In this example, we have two param elements with
id="name"
and two param elements with
id="pass"
.
Ideally, the
id
attributes should be unique within an XML document, so the identifying attribute on param elements should probably be changed to
key
, matching the way they are used in the main schema.
Version 1.0rc3
vospace-interface-1.0rc3.zip
This matches v0.22 of the specification document.
Version 1.0rc2
This release attempts to follow the interface described in version 0.21 of the specification document as closely as possible.
Changes from previous version
- Use namespaces in release candidates that include release number
- Make sure that the naming of operations/parameters more closely matches the written specification
- Remove enumerations for security related types
- Remove enumerations of transport keys
- Remove enumerations of parameter key values
- Remove any idea of callbacks
- Remove the use of ChangeOwner operation
Change Requests
Keep Transports/Formats as separate opertation
--
PaulHarrison - 13 Jun 2006
I agree with adding the new methods.
However, this should be changed in the specification first, not the WSDL. Move this to the specification change page.
--
DaveMorris - 16 Jun 2006
Votes
Refactor use of DataObjectReference
This construct was there principally to get round difficulties in specifying the use-case "create a file with a server generated name" before the vos: URI scheme was approved. Not needed any more.
--
PaulHarrison - 16 Jun 2006
Needs to be much clearer what this represents.
--
DaveMorris - 16 Jun 2006
Consider use of Status responses for some operations
Changing the method signatures to return status codes should be defined in the specification first, not the WSDL. Move this to the specification change page.
--
DaveMorris - 16 Jun 2006
Votes
Include WSDL for VO Standard Interfaces
Is the VOSI WSDL finalized?
Votes
Version 1.0rc1
This is the first 'official' release candidate of the VOSpace interface definition, and is based on version 0.21 of the specification document, though is known not to follow this document exactly, as there are areas still to be finalized for which the WSDL is the best 'source'.