160 likes | 308 Views
Voyager Web Services and Web Applications. Birong Ho Systems Librarian Western Michigan University March, 2011, Developer Meets Developer - birong.ho@wmich.edu. Voyager Web Services ?.
E N D
Voyager Web Services and Web Applications • Birong Ho • Systems Librarian • Western Michigan University • March, 2011, Developer Meets Developer • - birong.ho@wmich.edu
Voyager Web Services ? • The set of Web services that was introduced previously has been enlarged to increase the openness of Voyager, facilitating its interoperability with other systems and enabling customers to develop code extensions that they can share with the Voyager community. All Web services are available in the Developer Zone of the EL Commons collaborative Web site.
Voyager Web Services • http://www.exlibrisgroup.org/display/VoyagerOI/XML+Over+HTTP+Web+Services • There are two types of open interfaces in Voyager: RESTful APIs and XML over HTTP.
the clients/user agents used at WMU • Discovery Layer Tool (open source) • Local PHP programs to batch process Renew
public function submitRecall($bibid, $itemid, $patron, $pickuplocation){ global $configArray; $client = new HTTP_Request('http://voyager.library.wmich.edu:7014/vxws/SendPatronRequestService'); $client->setMethod(HTTP_REQUEST_METHOD_POST); $recallxml = '<?xml version="1.0" encoding="UTF-8"?> <ser:serviceParameters xmlns:ser="http://www.endinfosys.com/Voyager/serviceParameters"> <ser:parameters> <ser:parameter key="bibDbName"> <ser:value>Western Michigan University Libraries Westcat</ser:value> </ser:parameter> <ser:parameter key="bibDbCode"> <ser:value>WMICHDB</ser:value> </ser:parameter> <ser:parameter key="requestCode"> <ser:value>RECALL</ser:value> </ser:parameter> <ser:parameter key="REQNNA"> <ser:value>36</ser:value> </ser:parameter> <ser:parameter key="CVAL"> <ser:value>thisCopy</ser:value> </ser:parameter> <ser:parameter key="requestSiteId"> <ser:value>1@1@WMICHDB20020730122958</ser:value> </ser:parameter>
<ser:parameter key="bibId"> <ser:value>' . $bibid . '</ser:value> </ser:parameter> <ser:parameter key="PICK"> <ser:value>' . $pickuplocation . '</ser:value> </ser:parameter> <ser:parameter key="itemId"> <ser:value>' . $itemid . '</ser:value> </ser:parameter> <ser:parameter key="REQCOMMENTS"> <ser:value></ser:value> </ser:parameter> </ser:parameters> <ser:patronIdentifier lastName="' . $patron['last_name'] . '" patronHomeUbId="1@WMICHDB20020730122958" patronId="' . $patron['id'] . '"> <ser:authFactor type="I">' . $patron['institution_id'] . '</ser:authFactor> </ser:patronIdentifier> </ser:serviceParameters>'; $client->addHeader('Content-Type', 'application/x-www-form-urlencoded\r\n'); $client->addRawPostData($recallxml); $client->sendRequest(); $recallresponse = $client->getResponseBody(); header('Location: ' . $configArray['Site']['url'] . 'MyResearch/Holds'); }
References • http://www.exlibrisgroup.org/display/Voyager/MySccountService • Duong, Chi-Hoi, Voyager Developer, Focus Point of Open Platform, Voyager Web Services, Developers Meet Developers Meeting, Chicago, IL, USA March 26, 2009 http://www.exlibrisgroup.org/display/prosentations • Introduction to Voyager RESTful APIs, http://exlibrisgroup.org/display/VoyagerOI/Introduction+to+Voyager+RESTful+APIs • Sherman, Dennis Using Voayge Web Services, Ex Libris Technical Seminar, May 4-5 2009