This section provides general information about this service. Details about specific Lookup requests are in the sections that follow.
Authorization
Certain Lookup requests must be restricted to pre-registered IP addresses. Bibliographic information requests that involve Dublin Core output are restricted, as are most HOLLIS and HOLLIS Classic search requests. See the description for a particular request to identify any restrictions.
To register an IP address, send a request to the PRESTO support team in LTS about your plans for using Lookup and include the IP address from which requests will be sent.
Request format
Resources available from this service are located at http://webservices.lib.harvard.edu/. To request a particular resource, append a path to this base URL that specifies the resource.
This lookup request will retrieve bibliographic information in MODS format for HOLLIS record ID 011557057:
http://webservices.lib.harvard.edu/rest/mods/hollis/011557057
Lookup requests for HOLLIS and HOLLIS Classic searches require that you append a search string using a syntax specific to each system. Here is a sample HOLLIS search request:
http://webservices.lib.harvard.edu/rest/hollis/search/marc/?q=author:verba
Remember to URL encode any reserved characters in a search string before sending the lookup request. Some of the lookup requests in this document contain reserved characters that need to be escaped.
Callbacks
Lookup requests support the optional jsonp callback parameter:
http://webservices.lib.harvard.edu/rest/marc/hollis/011557057?jsonp=ws_result
Including the callback parameter will return JSON output wrapped in a javascript function call. This parameter supports cross-domain Ajax handling of JSON data and should only be used when calling the lookup API from within a client-side application. To specify JSON output, see the next section on Response Formats.
Response formats
Supported Media Types. The output of a lookup request will be in XML or JSON syntax, depending on what is specified in the HTTP request header’s Accept field. Lookup is expecting an Accept value of:
"application/json"; "application/xml"; or "*/*"
Usually, this header is created automatically by the browser or by whatever is generating the Ajax code. The default for browser-based requests will likely be “*/*”, which will result in XML output. To get JSON output, the header Accept value must be “application/json”. If both JSON and XML are requested, Lookup will return XML.
Record formats. These are the record format options for bibliographic information returned by a lookup request. Note that some of these options may not be available in every type of lookup request.
Cite: An OIS-defined format which was developed to support the Course iSites Reserve List tool. This format contains an abbreviated amount of data, which varies depending on whether the information is coming from HOLLIS or one of the journal sources. |
Simple Dublin Core: A set of fifteen elements for use in resource description. See the Dublin Core Metadata Initiative web site for more information. |
Qualified Dublin Core: Includes three additional elements (Audience, Provenance and RightsHolder), as well as a group of element refinements (also called qualifiers) that refine the semantics of the elements in ways that may be useful in resource discovery. See the Dublin Core Metadata Initiative web site for more information. |
MODS: MODS (Metadata Object Description Schema) is an XML-based bibliographic description schema developed by the Library of Congress Network Development and Standards Office. MODS is a derivative of the MARC21 bibliographic format and as such includes a subset of MARC fields. The Data Lookup service will return data as MODS version 3.2 records. More information about MODS is available from the Library of Congress web site, including the MARC mappings to MODS. |
MARCXML: MARCXML is the XML representation of MARC21 bibliographic data, which is the encoding used for bibliographic and holdings data in the HOLLIS Catalog. The MARCXML schema is maintained by the Library of Congress Network Development and MARC Standards Office. |
The MARCXML format is only available with HOLLIS requests, and includes holdings location data in addition to bibliographic data. |
Error handling
Upon encountering an error, the Lookup service's response will contain the appropriate HTTP error status code in the response header, and the response content will contain the following elements:
The status code |
An error message |
The request path |
A support URL (either mailto: or http: ) |
The content will be in the requested media type (currently either XML or JSON).
The currently supported error status codes are:
400 Bad Request |
403 Forbidden |
404 Not Found |
500 Internal Server Error |
503 Service Not Available |
Sample XML error response
<error>
<status>404</status>
<message>No Data for mods. ID: 22222222</message>
<request>/rest/mods/hollis/222222222</request>
<support>mailto:webservices-support@hulmail.harvard.edu</support>
</error>
Sample JSON error response
{"error": {
"message": "No Data for mods. ID: 222222222",
"request": "/rest/mods/hollis/222222222",
"status": 404,
"support": "mailto:webservices-support@hulmail.harvard.edu"
}}