General API description
A webservice for generating a PID is provided.
The API is trivially simple: A call to the given method will give the next available API. Optionally, a string may be given that should be part of the PID.
The call should never fail.
Implementation note: Due to a length restriction of 64 characters for Fedora PIDs, any string longer than approx 50 characters will be shortened, to ensure space for adding a unique part to the PID.
API methods
generatePid() => returns a uuid string, with the string "uuid:" in front of it.
generatePidWithInfix(string) => calls generatePid()
Formal description
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://pidgenerator.doms.statsbiblioteket.dk"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://pidgenerator.doms.statsbiblioteket.dk"
xmlns:intf="http://pidgenerator.doms.statsbiblioteket.dk"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- WSDL for DOMS webservice for generating a PID (Persistent ID).
WSDL created Oct 13, 2008 -->
<wsdl:types>
<schema elementFormDefault="qualified"
targetNamespace="http://pidgenerator.doms.statsbiblioteket.dk"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="infix" type="xsd:string">
<wsdl:documentation>
Element infix specifies the input parameter for
generateNextAvailablePID: A string, all or part of which may
be used as part of the PID, but with no guarantee. May be left
empty.
</wsdl:documentation>
</element>
<element name="generateNextAvailablePIDReturn" type="xsd:string">
<wsdl:documentation>
Element generateNextAvailablePIDReturn specifies the return
value from generateNextAvailablePID: The next available
(unique) PID, possibly including (part of) the requested infix.
</wsdl:documentation>
</element>
</schema>
</wsdl:types>
<wsdl:message name="generateNextAvailablePIDRequest">
<wsdl:part element="impl:infix" name="infix"/>
</wsdl:message>
<wsdl:message name="generateNextAvailablePIDResponse">
<wsdl:part element="impl:generateNextAvailablePIDReturn"
name="generateNextAvailablePIDReturn"/>
</wsdl:message>
<wsdl:portType name="DomsPIDGenerator">
<wsdl:operation name="generateNextAvailablePID" parameterOrder="infix">
<wsdl:documentation>
Operation generateNextAvailablePID generates the next available PID.
</wsdl:documentation>
<wsdl:input message="impl:generateNextAvailablePIDRequest"
name="generateNextAvailablePIDRequest"/>
<wsdl:output message="impl:generateNextAvailablePIDResponse"
name="generateNextAvailablePIDResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DomsPIDGeneratorSoapBinding"
type="impl:DomsPIDGenerator">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="generateNextAvailablePID">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="generateNextAvailablePIDRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="generateNextAvailablePIDResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DomsPIDGeneratorService">
<wsdl:documentation>
DomsPIDGeneratorService is a webservice for generating a PID
(Persistent ID).
</wsdl:documentation>
<wsdl:port binding="impl:DomsPIDGeneratorSoapBinding"
name="DomsPIDGenerator">
<wsdlsoap:address location="http://localhost:8080/DomsPIDGenerator/services/DomsPIDGenerator"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions> |