Child pages
  • PID Generator
Skip to end of metadata
Go to start of metadata

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

PID -- WSDL

<?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>



  • No labels