Troubleshooting Primo/Voyager RTA
- Article Type: General
- Product: Primo
- Product Version: 4
- Relevant for Installation Type: Dedicated-Direct; Direct; Local;
Desired Outcome Goal
Troubleshoot connection flow so Primo RTA successfully connects to Voyager to retrieve and send back real-time availability information.
Procedure
Primo
- Run Deploy All (minus NR) in the BE.
- Make sure that all location codes are listed in the ILS_LIBRARY_CODES mapping table. Send the exported list to the customer to review/update.
- Make sure that the Primo institution has the API URL: Institution > Delivery Base URLs > API URL (http://<hostname>:7024)
- Make sure that the following checkbox is checked: Views Wizard > Brief Display > Locations > Real Time Availability: Brief and Full Results
- Make sure that the Primo institution has the following: Mapping Tables > Front End > Institution Base URLs:
API - http://<hostname>:7014
RTA - http://<hostname>:7014
ILS - http://<hostname>:7024
- Mapping tables > OvP > ILS API Configuration (http://<hostname>:7014)
- Mapping tables > Back office > Real-Time Availability ("normalization_rules" method):
Mapping set: MSU_VOYAGER
Data Source Code: MSU_VOYAGER
The Mapping Set Name for a given Data Source should MATCH the Normalization rule set used for the pipe that harvests that Data Source.
The ‘Real-Time Availability (using normalization rules)’ mapping table is easy to miss and often not updated to reflect the name change and it causes problems.)
- Mapping Tables > Adaptors > RTA Adaptors ("normalization_rules" method)
- Mapping Tables > ILS Gateway > ILS Adaptors Templates (should have several "VOYAGER_8 / ALEPH_20" lines)
Voyager
- Do a wget via ssh on the Primo FE for these ports to make sure they are open to Primo:
http://<hostname>:7014
http://<hostname>:7024
http://<hostname>:7044
- Check that ports 7014, 7024, and 7044 are up and running from the Voyager server:
- Go to: /m1/shared/apache2/conf/ActivatedVirtualHosts ():
- grep Listen *
xxxdb_vpds_httpd.conf:Listen 7044
xxxdb_vprimo_httpd.conf:Listen 7024
xxxdb_vwebv_httpd.conf:Listen 7008
xxxdb_vxws_httpd.conf:Listen 7014
- Make an availability request directly to vxws in both IE and FireFox: http://<hostname>:7014/vxws/VoyagerAvailabilityService?op=publish_avail&doc_num=465687
NOTE: doc_num = Voyager BIB_ID; should return xml:
Example:
<?xml version="1.0" encoding="UTF-8"?>
<publish-avail>
<OAI-PMH xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ListRecords>
<record>
<header>
<identifier>10</identifier>
<datestamp>2013-04-01T15:01:39Z</datestamp>
</header>
<metadata>
<record xmlns="http://www.loc.gov/MARC21/slim">
<leader>00850cam a2200253I 4500</leader>
<controlfield tag="001">10</controlfield>
<controlfield tag="005">20010514163615.0</controlfield>
<controlfield tag="008">720922|1948||||||| |||| ||eng|u</controlfield>
<datafield ind2=" " ind1=" " tag="010">
<subfield code="a">48005424</subfield>
</datafield>
etc......
- If connection is blocked or times out check that port 7014 is open.
- If Availability request return contains "<error_code>21</error_code>" ensure that in /m1/voyager/XXXdb/tomcat/vxws/ini/PrimoExp.ini; "DatabaseHost=" is set either to "localhost" for single server Voyager environments, or the IP/hostname of the Voyager database server for split server environments.
- If PrimoExp is correctly configured, check Voyager server uptime, and reboot the server if neccesary.
- Make sure that /m1/voyager/<customer>db/tomcat/vxws/ini/PrimoExp.ini has the following tags (Primo uses the 949 tag for RTA by default, but these should match whatever is in /m1/voyager/xxxdb/ini/PrimoExp-Publishing.ini):
[Enrichment Tags]
InsertAVATag=949
InsertAUTTag=950
InsertSUBTag=951
InsertCRTag=952
InsertDPSTag=953
InsertEITMTag=954
- If one or more of the above tests reveal that vxws is only allowing connections from localhost (/m1/voyager/xxxdb/tomcat/conf/server.xml) e.g.:
<!-- uncomment the following to limit access to connections from this machine only -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/>
There are two options to make vxws accessible to the Primo server. The customer will need to decide which option they prefer and configure vxws accordingly
-
IP making requests can be added to the allow= parameter
<!-- uncomment the following to limit access to connections from this machine only -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1|123\.45\.67\.89"/>
-
The Valve parameter can be commented out to leave vxws connections open to the world (must restart Tomcat services to take effect).
<!-- uncomment the following to limit access to connections from this machine only -->
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/> -->
Additional Information
1. Symptoms of RTA not working:
- Click on the Locations tab in the Brief View in Primo I cannot get results in the Locations tab in the Brief View in Primo; instead I get this error message: “There are no locations for this record”.
- Check the RTA checkbox in Views Wizard > Brief Display > Locations > Real Time Availability: Brief and Full Results – the Locations tab errors out: but when I uncheck the checkbox (RTA disabled) the Locations tab displays correctly!
- Click on the Locations tab in the Brief View in Primo the "(updating.....)" runs for a long time but the Locations tab doesn't display any content.
- Click on the Locations tab in the Brief View in Primo I can see the Voyager locations, but they have no expand options
2. For multi-server topologies, make sure the FEs can communicate to the BE using the servername and port designated in: Advanced > General > Install > primo_admin_base
(remember RTA is calculated using Normalization rules, which are processed on the BE server.
During RTA processing, the FE sends a webservice request to the BE server.)
- Article last edited: 09-Feb-2016