VoSpace 2.x

PushDataFromVoSpace

Ask the server to send data to a remote location.

This method used to be called ExportData

The client supplies a URL or URI, and asks the server to send the data to the remote location. The transfer is initiated by the server, and the data is transferred direct from the server to the remote location.

Parameters

  • Target - The URI of an existing data node. note
    • vos://[service]/000-517
    • vos:///000-517
    • vos://[service]/path/my%20results
    • vos:///path/my%20results
    • vos:///my%20results

  • Format - The URI of the data format.
    • ivo://org.astrogrid.vospace/formats/binary
    • ivo://org.astrogrid.vospace/formats/votable-1.0
    • Should we make binary the default, and allow <format> to be optional ?

  • Protocol - The URI of the transfer protocol.
    • ivo://org.astrogrid.vospace/protocols/http-get

  • A <location> element containing details of where to send the data to
This could use xsi:type to include specific params required by the transfer protocol.

A standard http transfer only requires the URL to send the data to

    <location xsi:type="HttpPutLocation">
        <url>http://[host]/[path]</url>
    </location>

A SOAP DIME transfer requires the endpoint of the service, and an identifier for the transfer.

    <location xsi:type="HttpPutLocation">
        <url>http://[host]/[path]</url>
        <ident>5117-00BC6</ident>
    </location>

Other protocols may require different a set of params.

Returns

A <node> element for the node, containing

  • The full URI encoded identifier for the node. note
    • vos://[service]/000-517
    • vos://[service]/my%20results
    • vos://[service]/path/path/my%20results

  • The node name as a plain string
    • 000-517
    • my results

  • Type - The URI of the node type
    • ivo://org.astrogrid.vospace/types/data.node

  • Properties - The set of name value properties for the new node

A <transfer> element, containing details of the data transfer.

  • The URI of the transfer object (if the server supports status queries)
    • vos://[service]/[ident]

  • Format - The URI of the data format.
    • ivo://org.astrogrid.vospace/formats/binary
    • ivo://org.astrogrid.vospace/formats/votable-1.0

  • Protocol - The URI of the transfer protocol.
    • ivo://org.astrogrid.vospace/protocols/http-get

  • A <location> element containing details of where the data was sent to
    • Again, this could use xsi:type to include specific params required by the transfer protocol.

  • Status - For a synchronous transfer, the status should be 'completed'

Throws

  • The service will throw a NodeNotFound exception if the target node does not exist.

  • The service may throw a OperationNotSupported exception if it does not support the requested transfer protocol.
  • The service may throw a OperationNotSupported exception if it does not support the requested data format.

  • The service may throw an InternalFault exception if an operation fails.
  • The service may throw a PermissionDenied exception if the user does not have permissions to perform the operation.

  • The service will throw a LinkFound exception if the target path includes a link. note
  • The service will throw a LinkFound exception if the target node is a link. note

Notes

  • The <target> identifier in the request can be full a URI including the service identifier and node path.
    • vos://[service]/000-517
    • vos://[service]/path/my%20results

  • The <target> identifier in the request can be a relative URI just containing the node path.
    • vos:///000-517
    • vos:///path/my%20results

  • The <node> identifier in the response must be full a URI including the service identifier and node path.
    • vos://[service]/000-517
    • vos://[service]/path/my%20results

  • In VoSpace version 1.0, the transfer is synchronous, and the SOAP call does not return until the transfer has been completed.

  • The transfer information may have a limited lifetime, and may be deleted by the server when it has reached its expiry date.

  • If the DIME PUT protocol is selected, then the server will need to authenticate with the remote service using a proxy certificate.
    • How is the proxy certificate created, and referred to ?

  • Link nodes are not part of the V1.0 specification, they will be defined in a future version of the specification.
  • LinkFound exceptions are defined in this version of the specification to enable future versions to extend the current interface, rather than require a completely new interface type.

Questions

  • What additional params would we need to support asynchronous transfers ?

  • Should we make the default format binary and allow the <format> element to be optional ?

  • If we use xsi:type on the <location>, then do we need the <protocol>.
  • Or should the xsi:type be on the <transfer> or <protocol> element ?

  • Should the server response include details of the lifetime of the transfer object ?

  • What status codes do we want for transfers, or can we use URIs ?

  • What URI syntax should we use for refernces to transfer objects ?
  • Should the transfer object reference be moved to a future version ?

-- DaveMorris - 18 May 2006

Topic revision: r5 - 2006-05-18 - 16:42:56 - DaveMorris
 
AstroGrid Service Click here for the
AstroGrid Service Web
This is the AstroGrid
Development Wiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback