Alan Bush Compositions Web Service

The Alan Bush Compositions Web Service provides a SOAP interface to the compositions database of the British composer Alan Bush who lived from 1900 to 1995. The database in HTML format can be viewed at http://www.alanbushtrust.org.uk/music/compositions.asp?room=Music.

It provides a list of composition categories and a list of compositions with detailed information for a particular category in XML format. The XML interface conforms to the SOAP 1.1 specification.

Service Details

Service Name: Alan Bush Compositions
Service Owner: Alan Bush Music Trust
Contact Email: victor@vicsoft.co.uk
Description: Provides a list of composition categories and a list of compositions with detailed information for a particular category.
SOAP Endpoint URL: http://www.alanbushtrust.org.uk/soap/compositions.asp
WSDL URL: http://www.alanbushtrust.org.uk/soap/compositions.wsdl
Methods: GetCategories, GetCompositions

Methods and XML Messages

The service provides 2 methods, GetCategories and GetCompositions.

GetCategories:
The GetCategories method returns an XML document containing a list of categories and category IDs. Category IDs are used in the second method (GetCompositions).

Input: None
Output: Categories XML document
SOAPAction: "urn:alanbushtrust-org-uk:soap.methods.GetCategories"

A sample XML request:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    <SOAP-ENV:Body>
        <m:GetCategories xmlns:m="urn:alanbushtrust-org-uk:soap.methods"/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

A sample XML response:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    <SOAP-ENV:Body>
        <m:GetCategoriesResponse xmlns:m="urn:alanbushtrust-org-uk:soap.methods">
            <o:categories xmlns:o="urn:alanbushtrust-org-uk:schemas.objects">
                <o:category id="BA">Ballet</o:category>
                <o:category id="CM">Chamber Music</o:category>
                <o:category id="CO">Children's Operetta</o:category>
                <o:category id="CH">Choral Music</o:category>
                <o:category id="CC">Concertos / Solo Instrument and Orchestra</o:category>
                <o:category id="FM">Film Music</o:category>
                <o:category id="IN">Incidental Music</o:category>
                <o:category id="OP">Opera</o:category>
                <o:category id="OR">Orchestral Work</o:category>
                <o:category id="OG">Organ Music / Music for Pipes</o:category>
                <o:category id="PA">Pageant</o:category>
                <o:category id="PN">Piano Music</o:category>
                <o:category id="SS">Solo Song</o:category>
                <o:category id="WS">Songs and Arrangements</o:category>
                <o:category id="BB">Wind Band / Brass Band</o:category>
                <o:category id="All">All Categories</o:category>
            </o:categories>
        </m:GetCategoriesResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

GetCompositions:
The GetCompositions method takes a category ID parameter and returns an XML document containing a list of compositions with detailed info.

Input: xsd:string
Output: Compositions XML document
SOAPAction: "urn:alanbushtrust-org-uk:soap.methods.GetCompositions"

A sample XML request:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    <SOAP-ENV:Body>
        <m:GetCompositions xmlns:m="urn:alanbushtrust-org-uk:soap.methods">
            <m:category-id>OP</m:category-id>
        </m:GetCompositions>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

A sample XML response:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    <SOAP-ENV:Body>
        <m:GetCompositionsResponse xmlns:m="urn:alanbushtrust-org-uk:soap.methods">
          <o:compositions xmlns:o="urn:alanbushtrust-org-uk:schemas.objects">
            <o:composition id="72" category-id="OR" category="Orchestral Work" commentary="yes">
              <o:title>Symphony No. 2 'The Nottingham Symphony'</o:title>
                 <o:year>1949</o:year>
                 <o:opus>33</o:opus>
                 <o:instrumentation>2222, 4331, timp, perc, strings.</o:instrumentation>
                 <o:duration-minutes>36</o:duration-minutes>
                 <o:notes>
                      <o:note>
1. Sherwood Forest.
2. Clifton Grove.
3. Castle Rock.
4. Goose Fair.
                      </o:note>
                      <o:note>
Commissioned by the Nottingham Co-operative Society in celebration of the 500th
Anniversary of the founding of the City.
                      </o:note>
                      <o:note>
Manuscript held by Nottingham City Council.
                      </o:note>
                 </o:notes>
                 <o:performance-notes>
                     <o:performance-note>
                         <o:heading>First performance</o:heading>
                         <o:performance>
London Philharmonic Orchestra, Conductor: David Ellenberg,
Albert Hall, Nottingham, 27 June 1949.
                         </o:performance>
                     </o:performance-note>
                     <o:performance-note>
                         <o:heading>First London performance</o:heading>
                         <o:performance>
London Philharmonic Orchestra, Conductor: Sir Adrian Boult,
Royal Festival Hall, 11 December 1952.
                         </o:performance>
                     </o:performance-note>
                 </o:performance-notes>
                 <o:publications>
                     <o:publication>
                         <o:publisher id="4">
                             <o:name>Joseph Williams</o:name>
                             <o:url>www.stainer.co.uk</o:url>
                             <o:town>London</o:town>
                         </o:publisher>
                         <o:publication-year>1949</o:publication-year>
                     </o:publication>
                 </o:publications>
            </o:composition>
          </o:compositions>
        </m:GetCompositionsResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>